Информационный поток
Задания вакансии материалы разработки сообщения форума
Рубрики статей и материалов
Яндекс-директ

«При печати рвутся подписи!» или «Как проверить вывод данных при печати?»

  • Добавить свою публикацию
  • для этого требуется регистрация

 

«При печати рвутся подписи!» или «Как проверить вывод данных при печати?»

Статья адресуется тем, кто только начинает изучать 1С 8.x.

К вам обращается клиент, «Так не пойдет, если счет не  помещается на одном листе, то все итоги подписи следует перенести на следующий лист».  

Последняя страница.

 

Подписи "порвались", ответственный должен один расписываться на другом листе. 

Так должно быть:

Если что-то не помещается все подписи и итоги

Если что-то не помещается, то все итоги и подписи переходят на следующий лист.

 

Вопрос как это сделать? Один документ имеет 2 товара, а другой 13 товаров.  

Ответ – используй метод табличного документа ПроверитьВывод()

Опишем порядок действий

//Объявляем таблицу для шапки документа и таблицы товаров
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

//Объявляем таблицу для итогов и подписей
ТабПодвал = Новый ТабличныйДокумент;
ТабПодвал.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

//Объявляем таблицу для проверки вывода на страницу
ПромТабДок = Новый ТабличныйДокумент;
ПромТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

Макет = ПолучитьМакет("СчетЗаказ");
// Выводим шапку накладной

//Выводим на печать товар
Для каждого Стр Из Товары Цикл
	//Выводим строку с товаром в таблицу
	ТабДокумент.Вывести(ОблТовар);
КонецЦикла;

//Выводим итоги и подписи в другую таблицу
ТабПодвал.Вывести(ОблИтоги);
ТабПодвал.Вывести(ОблПодписи);

//Выполняем проверку вывода на страницу
МассивТаблиц = Новый Массив;
МассивТаблиц.Добавить(ТабДокумент);
МассивТаблиц.Добавить(ТабПодвал);

Если Не ПромТабДок.ПроверитьВывод(МассивТаблиц) Тогда
	//Не помещается. Выводим разделитель
	ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

ТабДокумент.Вывести(ТабПодвал);
ТабДокумент.Показать();

Для вывода используются 2 табличных документа для основной части ТабДокумент, а для итогов и подписей ТабПодвал. Затем с помощью служебного табличного документа проверяется вывод обеих частей документа. Если не помещается на лист выводим разделитель. Вот собственно и вся премудрость. 

 


 

 
0
Читайте также
Культура программирования
1С программистам-пишите любые программы корректно (даже мелкие обработки)
Как обновить 1с 8.2
Для обновления 1С 8.2 необходимо обратиться к специалисту
Пример перевода конфигурации на управляемый интерфейс
Когда количество изменений на предприятии превышает критический уровень в сторону необновляемых конфигураций - 1С предлагает создание управляемого приложения
Разработки
Установка Изображений Номенклатуры
Обработка, позволяющая добавлять картинки к элементам номенклатуры и для УТ 10.3
Как из 1С правильно УКАЗАТЬ MS EXCEL как нужно печатать документы !
Как правильно из 1С печатать документы .xml в EXCEL
Создание кода для заполнения справочника
Создает часть программного кода
≡ к списку статей