?: печати двух документов на одном листе А4 ландшафт
asdfr1
02.12.2015 09:56
Прочитано: 3694
Добрый день! Нужна идея реализации печати двух документов на одном листе А4 ландшафт.
Получаю ссылки на два документа, далее запросом или выборкой заполняю макет, понятно что параметры будут разные.Собственно как разделить данные в цикле.
Код 1C v 8.х
Yandex
Возможно, вас также заинтересует
E_Migachev
02.12.2015 20:05
Ответ № 1
1. На работе просто в параметрах принтера поставил 2 страницы на листе и все отлично выводит
2. вот идея алгоритма:
В результате лист поделен на две части в который выводятся данные из ТЗ
Источник статьи: http://helpf.pro/help/view/16844.html
Печать в портретном режиме, а хочу ландшафт!
Бухгалтерия предприятия, редакция 2.0 (2.0.45.5) в терминале
Внешняя форма СФ с выбором подписантов
Везде, где только можно (и видимо, там где нельзя) наставил: ТабДокумент.ОриентацияСтраницы ориентацияСтраницы.Ландшафт;
пробовал и ТабДокумент.КлючПараметровПечати = «Параметры_Печати_СФ_1137»; после чего в параметрах страницы менял на ландшафт, печатал, потом открываешь снова — опять 25 = портрет
Куда вставить ТабДокумент.ОриентацияСтраницы = ориентацияСтраницы.Ландшафт; чтобы наверняка?
Кэш 8.2 почистил. Базу передобавил. Не помогло.
(3) перед строчкой ТабДокумент.Показать()
Нет у меня во внешней печатной форме Показать().
если есть строчка Возврат ТабДокумент; тогда перед ней
Модуль Формы:
Процедура ПриОткрытии() ТабДокумент = Новый ТабличныйДокумент; Если Корректировочный Тогда ТабДокумент = ПечатьКорректировочногоСчетаФактуры1137(СсылкаНаОб ъект); Иначе ТабДокумент = ПечатьСчетаФактуры1137(СсылкаНаОбъект); КонецЕсли;
Если НЕ (СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Налоговы йАгент И СсылкаНаОбъект.ДоговорКонтрагента.ВидАгентскогоДог овора = Перечисления.ВидыАгентскихДоговоров.Нерезидент) Тогда
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
ОбластьМакета.Параметры.ПредставлениеГрузоотправит еля = «Грузоотправитель и его адрес: —«; ОбластьМакета.Параметры.ПредставлениеГрузополучате ля = «Грузополучатель и его адрес: —«;
Иначе Если ЗначениеЗаполнено(Строчка.СтранаПроисхождения) Тогда ОбластьМакета.Параметры.ПредставлениеСтраны = СокрЛП(Строчка.СтранаПроисхождения.Наименование); КонецЕсли; КонецЕсли;
// Проставляем прочерки в незаполненные графы в соответствии с Постановлением Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.ЕдиницаИ змерения) Тогда ОбластьМакета.Параметры.ЕдиницаИзмерения = «—«; ОбластьМакета.Параметры.ЕдиницаИзмеренияКод = «—«; КонецЕсли; Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.ЕдиницаИ змеренияКод) Тогда ОбластьМакета.Параметры.ЕдиницаИзмеренияКод = «—«; КонецЕсли; Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.Количест во) Тогда ОбластьМакета.Параметры.Количество = «—«; КонецЕсли; Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.Цена) Тогда ОбластьМакета.Параметры.Цена = «—«; КонецЕсли;
// Проверим возможность вывода табличного документа СтрокаСПодвалом = Новый Массив; СтрокаСПодвалом.Добавить(ОбластьМакета); Если НомерСтроки = КоличествоСтрок Тогда // Если последняя строка, то должен поместится итог и подвал СтрокаСПодвалом.Добавить(ОбластьМакетаИтого); СтрокаСПодвалом.Добавить(ОбластьМакетаПодвал); КонецЕсли;
Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоД окумента(ТабДокумент, СтрокаСПодвалом) Тогда
Если КоличествоСтрок > 0 Тогда // Вывод разделителя и заголовка таблицы на новой странице ТабДокумент.ВывестиГоризонтальныйРазделительСтрани ц(); ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы) ; КонецЕсли;
Если ВыборкаСтрокТовары.Количество() > 0 Тогда ТабДокумент.Область(ТабДокумент.ВысотаТаблицы,,Таб Документ.ВысотаТаблицы,).ВместеСоСледующим = Истина; КонецЕсли;
// Выводим строку «Всего к оплате»
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда ОбластьМакетаИтого.Параметры.ИтогоСтоимость = «—«; Иначе ОбластьМакетаИтого.Параметры.ИтогоСтоимость = ИтогоСтоимость; КонецЕсли; Если СчетФактураБезНДС Тогда ОбластьМакетаИтого.Параметры.ИтогоСуммаНДС = «без НДС»; Иначе ОбластьМакетаИтого.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС; КонецЕсли; ОбластьМакетаИтого.Параметры.ИтогоВсего = ИтогоВСего;
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Налоговы йАгент Тогда ОбластьМакетаПодвал.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОбПокупателе, «Свидетельство,»); Иначе ОбластьМакетаПодвал.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «Свидетельство,»); КонецЕсли;
Письмо Минфина России от 31.01.2012 г. № 03-07-15/11 О применении новой формы счет-фактуры
Министерство финансов Российской Федерации в связи с принятием постановления Правительства Российской Федерации от 26 декабря 2011 г. N 1137 «О формах и правилах заполнения (ведения) документов, применяемых при расчетах по налогу на добавленную стоимость» сообщает. Вышеназванным постановлением вводятся в действие новые формы счета-фактуры и порядок его заполнения, формы и порядок ведения журнала учета полученных и выставленных счетов-фактур, книг покупок и книг продаж. Вместе с тем, учитывая опубликование текста постановления в «Собрании законодательства Российской Федерации» в январе 2012 года, полагаем возможным применение до начала очередного налогового периода, то есть до 1 апреля 2012 года, новых форм соответствующих документов наряду с формами, которые были утверждены постановлением Правительства Российской Федерации от 2 декабря 2000 г. N 914 «Об утверждении Правил ведения журналов учета полученных и выставленных счетов-фактур, книг покупок и книг продаж при расчетах по налогу на добавленную стоимость». С.Д.ШАТАЛОВ
Источник статьи: http://forum.infostart.ru/forum83/topic51956/
Основы формирования табличного документа на основе макета
Обычно табличный документ формируется на основе макета как из строительных блоков. Макет представляет собой шаблон для формирования печатной формы. Построение макета производится в конфигураторе в специальном табличном редакторе. Разработчик может создавать области, изменять высоту строк и ширину колонок, задавать форматирование ячеек и всего табличного документа, включать в макет рисунки, диаграммы и сводные таблицы.
Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:
Некоторые ячейки содержат только текст, который должен быть выведен. Другие ячейки содержат имена параметров (в угловых скобках). Значения этих параметров должны указываться в программном модуле. В отличие от версии 7.7, в ячейку нельзя вписать выражение. В версии 8.0 весь программный код сосредоточен в программных модулях и при выводе секций нет связи с текущим контекстом программного модуля. Назначение параметров табличного документа должно производиться явно из программного модуля через коллекцию «Параметры» объекта «ТабличныйДокумент».
Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы. К области можно обратиться по имени или по координатам. Можно также обращаться к пересечению областей, используя вертикальную черту (как в версии 7.7).
Общая схема
Общая схема формирования печатной формы на основе макета:
Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
Получение макета в переменную (метод ПолучитьМакет).
Получение областей макета (метод ПолучитьОбласть).
Заполнение параметров области (свойство Параметры).
Вывод области в табличный документ (методы Вывести и Присоединить).
Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).
Пример вывода табличного документа
Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:
Процедура Печать(ТабДок) Экспорт
//создание нового табличного документа ТабДок = Новый ТабличныйДокумент ;
//получение макета для печати расходной накладной Макет = Документы.РасходнаяНакладная. ПолучитьМакет («Основной»);
//получим область «Заголовок» как новый табличный документ (!) Область = Макет. ПолучитьОбласть («Заголовок»);
//укажем параметры области Область. Параметры .НомерДокумента = Номер; Область.Параметры.От = Дата; Область.Параметры.Кому = Контрагент;
//выведем заполненную область «Заголовок» в табличный документ ТабДок. Вывести (Область);
//выведем область «Шапка» в табличный документ ТабДок.Вывести(Макет.ПолучитьОбласть(«Шапка»));
//получение области «Строка» //обратите внимание, что это можно сделать до цикла по строкам Область = Макет.ПолучитьОбласть(«Строка»);
//вывод строк документа в печатную форму Для Каждого СтрСостава Из Состав Цикл
//заполнение параметров области из строки табличной части Область.Параметры. Заполнить (СтрСостава);
//вывод сформированной области в табличный документ ТабДок.Вывести(Область);
//вывод области «Подвал» Область = Макет.ПолучитьОбласть(«Подвал»); Область.Параметры.ИтогоКоличество = Состав.Итог(«Количество»); Область.Параметры.ИтогоСумма = Состав.Итог(«Сумма»); ТабДок.Вывести(Область);