G
Guest
Люди, помогите пожалуйста чайнику в 1с: - очень срочно нужно.
В документ Оказание Услуг нужно вставить дополнительную кнопку, которая будет вызывать дополнительную печатную форму.
Если можно напишите сразу текст модуля документа, чтобы вставить его туда и все. Форму сам сделал, а печататься не хочет.
Вот исходный текст модуля печати:
//******************************************************************************
// Печать()
//
// Вызывается из формул элементов диалога:
// Кнопка "Печать".
//
// Описание:
// Формирование печатной формы документа.
//
Процедура Печать()
Таб = СоздатьОбъект("Таблица");
АдресТелефон = "";
глДобавитьРеквизит(АдресТелефон, "Адрес: ", глПредставлениеАдреса(Константа.АдресОрганизации));
глДобавитьРеквизит(АдресТелефон, ", тел.: ", Константа.ТелефоныОрганизации);
Таб.ВывестиСекцию("Шапка");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Ном = Ном + 1;
Наименование = ?(ПустаяСтрока(Услуга.ПолнНаименование)=1, Услуга.Наименование, Услуга.ПолнНаименование);
Таб.ВывестиСекцию("Строка");
Состояние("Выведено строк: " + НомерСтроки);
КонецЦикла;
Таб.ВывестиСекцию("Итоги");
Если УчитыватьНП = 1 Тогда
Таб.ВывестиСекцию("НП");
КонецЕсли;
Таб.ВывестиСекцию("Подвал");
Таб.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать акта");
КонецПроцедуры // Печать()
//******************************************************************************
// ПоКнопкеПечать()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнПечать".
//
// Описание:
// Определяется соответствующая печатная форма.
//
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)
Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда
НомерТекущейФормы = 1;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
КонецЕсли;
Если НомерТекущейФормы = 1 Тогда
Печать();
Иначе
Параметры = СоздатьОбъект("СписокЗначений");
Параметры.ДобавитьЗначение(Контекст, "Контекст");
Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");
ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
КонецЕсли;
КонецПроцедуры // ПоКнопкеПечать()
//******************************************************************************
// ПоКнопкеВыборПечатнойФормы()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнВыбПечать".
//
// Описание:
// - открывает список для выбора способа печати.
// - формирует таблицу по выбранному способу.
//
Процедура ПоКнопкеВыборПечатнойФормы()
ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
Если ВыбНомер > 0 Тогда
НомерТекущейФормы = ВыбНомер;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
ПоКнопкеПечать();
КонецЕсли;
КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()
//*****************************************************************************
ЗАРАНИЕ БЛАГОДАРЕН ВАМ!!!
В документ Оказание Услуг нужно вставить дополнительную кнопку, которая будет вызывать дополнительную печатную форму.
Если можно напишите сразу текст модуля документа, чтобы вставить его туда и все. Форму сам сделал, а печататься не хочет.
Вот исходный текст модуля печати:
//******************************************************************************
// Печать()
//
// Вызывается из формул элементов диалога:
// Кнопка "Печать".
//
// Описание:
// Формирование печатной формы документа.
//
Процедура Печать()
Таб = СоздатьОбъект("Таблица");
АдресТелефон = "";
глДобавитьРеквизит(АдресТелефон, "Адрес: ", глПредставлениеАдреса(Константа.АдресОрганизации));
глДобавитьРеквизит(АдресТелефон, ", тел.: ", Константа.ТелефоныОрганизации);
Таб.ВывестиСекцию("Шапка");
Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Ном = Ном + 1;
Наименование = ?(ПустаяСтрока(Услуга.ПолнНаименование)=1, Услуга.Наименование, Услуга.ПолнНаименование);
Таб.ВывестиСекцию("Строка");
Состояние("Выведено строк: " + НомерСтроки);
КонецЦикла;
Таб.ВывестиСекцию("Итоги");
Если УчитыватьНП = 1 Тогда
Таб.ВывестиСекцию("НП");
КонецЕсли;
Таб.ВывестиСекцию("Подвал");
Таб.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать акта");
КонецПроцедуры // Печать()
//******************************************************************************
// ПоКнопкеПечать()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнПечать".
//
// Описание:
// Определяется соответствующая печатная форма.
//
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)
Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда
НомерТекущейФормы = 1;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
КонецЕсли;
Если НомерТекущейФормы = 1 Тогда
Печать();
Иначе
Параметры = СоздатьОбъект("СписокЗначений");
Параметры.ДобавитьЗначение(Контекст, "Контекст");
Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");
ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
КонецЕсли;
КонецПроцедуры // ПоКнопкеПечать()
//******************************************************************************
// ПоКнопкеВыборПечатнойФормы()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнВыбПечать".
//
// Описание:
// - открывает список для выбора способа печати.
// - формирует таблицу по выбранному способу.
//
Процедура ПоКнопкеВыборПечатнойФормы()
ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
Если ВыбНомер > 0 Тогда
НомерТекущейФормы = ВыбНомер;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
ПоКнопкеПечать();
КонецЕсли;
КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()
//*****************************************************************************
ЗАРАНИЕ БЛАГОДАРЕН ВАМ!!!