1С 8.3 Пример создания печатной формы документа
Данные > Примеры кода 1С > 1С 8.3 Табличный документ / Макет
Перейти в основной раздел:
Пример создания печатной формы документа в 1С 8.3:
Процедура ПримерСозданияПечатнойФормыДокумента() Экспорт
// Создание табличного документа
ТаблДок = Новый ТабличныйДокумент;
// Получение макета для печати счета
Макет = Документы.СчетНаОплату.ПолучитьМакет("ФормаСчета2020");
// Получение области "Заголовок" как новый табличный документ
Область_Заголовок = Макет.ПолучитьОбласть("Заголовок");
// Параметры области "Заголовок"
Область_Заголовок.Параметры.НомерДокумента = Номер;
Область_Заголовок.Параметры.От = Дата;
Область_Заголовок.Параметры.Кому = Контрагент;
// Вывод области "Заголовок"
ТаблДок.Вывести(Область_Заголовок);
// Вывод области "Шапка"
ТаблДок.Вывести(Макет.ПолучитьОбласть("Шапка"));
// Получение области "Строка"
Область_Строка = Макет.ПолучитьОбласть("Строка");
// Вывод строк документа
Для Каждого СтрСостава Из Состав Цикл
// Заполнение параметров из строки табличной части
Область_Строка.Параметры.Заполнить(СтрСостава);
// Вывод области "Строка"
ТаблДок.Вывести(Область_Строка);
КонецЦикла;
// Вывод области "Подвал"
Область_Подвал = Макет.ПолучитьОбласть("Подвал");
Область_Подвал.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область_Подвал.Параметры.ИтогоСумма = Состав.Итог("Сумма");
Область_Подвал.Параметры.ИтогоНДС = Состав.Итог("НДС");
Область_Подвал.Параметры.ВсегоСНДС = Состав.Итог("ВсегоСНДС");
ТаблДок.Вывести(Область_Подвал);
// Установка параметров отображения табличного документа
ТаблДок.ОтображатьЗаголовки = Истина;
ТаблДок.ОтображатьСетку = Ложь;
ТаблДок.ТолькоПросмотр = Ложь;
// Вывод табличного документа пользователю на экране
ТаблДок.Показать();
КонецПроцедуры
// Создание табличного документа
ТаблДок = Новый ТабличныйДокумент;
// Получение макета для печати счета
Макет = Документы.СчетНаОплату.ПолучитьМакет("ФормаСчета2020");
// Получение области "Заголовок" как новый табличный документ
Область_Заголовок = Макет.ПолучитьОбласть("Заголовок");
// Параметры области "Заголовок"
Область_Заголовок.Параметры.НомерДокумента = Номер;
Область_Заголовок.Параметры.От = Дата;
Область_Заголовок.Параметры.Кому = Контрагент;
// Вывод области "Заголовок"
ТаблДок.Вывести(Область_Заголовок);
// Вывод области "Шапка"
ТаблДок.Вывести(Макет.ПолучитьОбласть("Шапка"));
// Получение области "Строка"
Область_Строка = Макет.ПолучитьОбласть("Строка");
// Вывод строк документа
Для Каждого СтрСостава Из Состав Цикл
// Заполнение параметров из строки табличной части
Область_Строка.Параметры.Заполнить(СтрСостава);
// Вывод области "Строка"
ТаблДок.Вывести(Область_Строка);
КонецЦикла;
// Вывод области "Подвал"
Область_Подвал = Макет.ПолучитьОбласть("Подвал");
Область_Подвал.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область_Подвал.Параметры.ИтогоСумма = Состав.Итог("Сумма");
Область_Подвал.Параметры.ИтогоНДС = Состав.Итог("НДС");
Область_Подвал.Параметры.ВсегоСНДС = Состав.Итог("ВсегоСНДС");
ТаблДок.Вывести(Область_Подвал);
// Установка параметров отображения табличного документа
ТаблДок.ОтображатьЗаголовки = Истина;
ТаблДок.ОтображатьСетку = Ложь;
ТаблДок.ТолькоПросмотр = Ложь;
// Вывод табличного документа пользователю на экране
ТаблДок.Показать();
КонецПроцедуры
Из рабочей базы данных (на основании примера)
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныПриходаИмпортера.Регистратор,
| ЦеныПриходаИмпортера.ВыбМатериал КАК ВыбМатериал,
| ЦеныПриходаИмпортера.ВыбФирма КАК ВыбФирма,
| ЦеныПриходаИмпортера.ЦенаПриходаВал,
| ЦеныПриходаИмпортера.ЦенаПриходаБел
|ИЗ
| РегистрСведений.ЦеныПриходаИмпортера КАК ЦеныПриходаИмпортера
|ГДЕ
| (ЦеныПриходаИмпортера.ВыбМатериал = &ВыбМатериал
| ИЛИ НЕ &ОтборПоВыбМатериал)
| И (ЦеныПриходаИмпортера.ВыбФирма = &ВыбФирма
| ИЛИ НЕ &ОтборПоФирме)
|
|УПОРЯДОЧИТЬ ПО
| ВыбМатериал,
| ВыбФирма
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("ВыбМатериал", ВыбМатериал);
Запрос.УстановитьПараметр("ВыбФирма", ВыбФирма);
Запрос.УстановитьПараметр("ОтборПоВыбМатериал", ЗначениеЗаполнено(ВыбМатериал));
Запрос.УстановитьПараметр("ОтборПоФирме", ЗначениеЗаполнено(ВыбФирма));
ТЗ = Новый ТаблицаЗначений;
РезультатЗапроса = Запрос.Выполнить();
ТЗ = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.Прямой);
// Создание табличного документа
ТаблДок = Новый ТабличныйДокумент;
// Получение макета для печати
Макет = ПолучитьМакет("Цены");
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Период="За период с "+Формат(НачПериода,"ДФ=""дд.ММ.гггг""")+" по "+Формат(КонПериода,"ДФ=""дд.ММ.гггг""");
ТаблДок.Вывести(Шапка);
Строка = Макет.ПолучитьОбласть("Строка");
// Перечисляем все строки в таблице значений
Для Каждого Стр Из ТЗ Цикл
Строка.Параметры.Заполнить(Стр);
Строка.Параметры.РасшифровкаДок=Стр.Регистратор.ссылка;
ТаблДок.Вывести(Строка);
КонецЦикла;
ТаблДок.ФиксацияСверху = 4; // Закрепляем шапку таблицы
// Установка параметров отображения табличного документа
ТаблДок.ОтображатьЗаголовки = Истина;
ТаблДок.ОтображатьСетку = Ложь;
ТаблДок.ТолькоПросмотр = Истина;
// Вывод табличного документа пользователю на экране
ТаблДок.Показать();
КонецПроцедуры
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныПриходаИмпортера.Регистратор,
| ЦеныПриходаИмпортера.ВыбМатериал КАК ВыбМатериал,
| ЦеныПриходаИмпортера.ВыбФирма КАК ВыбФирма,
| ЦеныПриходаИмпортера.ЦенаПриходаВал,
| ЦеныПриходаИмпортера.ЦенаПриходаБел
|ИЗ
| РегистрСведений.ЦеныПриходаИмпортера КАК ЦеныПриходаИмпортера
|ГДЕ
| (ЦеныПриходаИмпортера.ВыбМатериал = &ВыбМатериал
| ИЛИ НЕ &ОтборПоВыбМатериал)
| И (ЦеныПриходаИмпортера.ВыбФирма = &ВыбФирма
| ИЛИ НЕ &ОтборПоФирме)
|
|УПОРЯДОЧИТЬ ПО
| ВыбМатериал,
| ВыбФирма
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("ВыбМатериал", ВыбМатериал);
Запрос.УстановитьПараметр("ВыбФирма", ВыбФирма);
Запрос.УстановитьПараметр("ОтборПоВыбМатериал", ЗначениеЗаполнено(ВыбМатериал));
Запрос.УстановитьПараметр("ОтборПоФирме", ЗначениеЗаполнено(ВыбФирма));
ТЗ = Новый ТаблицаЗначений;
РезультатЗапроса = Запрос.Выполнить();
ТЗ = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.Прямой);
// Создание табличного документа
ТаблДок = Новый ТабличныйДокумент;
// Получение макета для печати
Макет = ПолучитьМакет("Цены");
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Период="За период с "+Формат(НачПериода,"ДФ=""дд.ММ.гггг""")+" по "+Формат(КонПериода,"ДФ=""дд.ММ.гггг""");
ТаблДок.Вывести(Шапка);
Строка = Макет.ПолучитьОбласть("Строка");
// Перечисляем все строки в таблице значений
Для Каждого Стр Из ТЗ Цикл
Строка.Параметры.Заполнить(Стр);
Строка.Параметры.РасшифровкаДок=Стр.Регистратор.ссылка;
ТаблДок.Вывести(Строка);
КонецЦикла;
ТаблДок.ФиксацияСверху = 4; // Закрепляем шапку таблицы
// Установка параметров отображения табличного документа
ТаблДок.ОтображатьЗаголовки = Истина;
ТаблДок.ОтображатьСетку = Ложь;
ТаблДок.ТолькоПросмотр = Истина;
// Вывод табличного документа пользователю на экране
ТаблДок.Показать();
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник