Печатный макет ландшафт 1с

?: печати двух документов на одном листе А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(СсылкаНаОбъект);
КонецЕсли;

ТабДокумент.ПолеСверху = 13;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;

ТабДокумент.ВерхнийКолонтитул.Выводить = Истина;
ТабДокумент.ВерхнийКолонтитул.НачальнаяСтраница = 2;
ТабДокумент.ВерхнийКолонтитул.ВертикальноеПоложени е = ВертикальноеПоложение.Низ;
ЗаголовокДляПечати = ОбщегоНазначения.СформироватьЗаголовокДокумента(Сс ылкаНаОбъект, «Счет-фактура») + » г.»;
ТабДокумент.ВерхнийКолонтитул.ТекстСлева = ЗаголовокДляПечати;
ТабДокумент.ВерхнийКолонтитул.ТекстСправа = «Лист [&НомерСтраницы]»;
ЭтаФорма.Заголовок = ЗаголовокДляПечати;

Элементыформы.ПолеТабличногоДокумента.ВставитьОбла сть(ТабДокумент.Область());
ЭлементыФормы.ПолеТабличногоДокумента.ОтображатьЗа головки = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.ОтображатьСе тку = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Защита = Истина;
ЭлементыФормы.ПолеТабличногоДокумента.ТолькоПросмо тр = Истина;

Функция ПечатьСчетаФактуры1137(Ссылка) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.КлючПараметровПечати = «СчетФактура1137СчетФактура1137»;
Макет = ПолучитьМакет(«СчетФактура1137»);

ДанныеДляПечати = Неопределено;
УчетнаяПолитика = Неопределено;

СобратьДанныеДляПечати(Ссылка, ДанныеДляПечати, УчетнаяПолитика);

Если ТипЗнч(ДанныеДляПечати) = Тип(«Соответствие») Тогда
Возврат Ложь;
ИначеЕсли ДанныеДляПечати = Неопределено Тогда
Возврат Ложь;
КонецЕсли;

РеквизитыСФ = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Ссылка ,
«Дата,ВидСчетаФактуры,Исправление,НомерИсправления ,ДоговорКонтрагента»);
Дата = РеквизитыСФ.Дата;
ВидСчетаФактуры = РеквизитыСФ.ВидСчетаФактуры;
Исправление = РеквизитыСФ.Исправление;
НомерИсправления = РеквизитыСФ.НомерИсправления;
ДоговорКонтрагента = РеквизитыСФ.ДоговорКонтрагента;

СведенияОбПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (ДанныеДляПечати.Покупатель, СсылкаНаОбъект.Дата);
СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (ДанныеДляПечати.Поставщик, СсылкаНаОбъект.Дата);

ОбластьМакета = Макет.ПолучитьОбласть(«Шапка»);
ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати) ;

Если СсылкаНаОбъект.Исправление Тогда
ОбластьМакета.Параметры.НомерИсправления = «Исправление №» + Строка(СсылкаНаОбъект.НомерИсправления) + » от » + Формат(СсылкаНаОбъект.Дата, «ДФ=’дд ММММ гггг'») + » г.»;
Иначе
ОбластьМакета.Параметры.НомерИсправления = «Исправление № — от —«;
КонецЕсли;

ОбластьМакета.Параметры.ПредставлениеПоставщика = «Продавец: »
+ ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «НаименованиеДляПечатныхФорм,»);

ОбластьМакета.Параметры.АдресПоставщика = «Адрес: » + ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «ЮридическийАдрес,»);

Если НЕ (СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Налоговы йАгент
И СсылкаНаОбъект.ДоговорКонтрагента.ВидАгентскогоДог овора = Перечисления.ВидыАгентскихДоговоров.Нерезидент) Тогда

КПП = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «КПП,», Ложь);
Если ЗначениеЗаполнено(КПП) Тогда
КПП = «/» + КПП;
КонецЕсли;
ОбластьМакета.Параметры.ИННпоставщика = «ИНН/КПП продавца: »
+ ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «ИНН,», Ложь) + КПП;

Иначе
ОбластьМакета.Параметры.ИННпоставщика = «ИНН/КПП продавца: —»
КонецЕсли;

ЗаголовокДляПечати = ОбщегоНазначения.СформироватьЗаголовокДокумента(Да нныеДляПечати, «Счет-фактура»);
ОбластьМакета.Параметры.Номер = ЗаголовокДляПечати;

Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда

ОбластьМакета.Параметры.ПредставлениеГрузоотправит еля = «Грузоотправитель и его адрес: —«;
ОбластьМакета.Параметры.ПредставлениеГрузополучате ля = «Грузополучатель и его адрес: —«;

СведенияОГрузоотправителе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (
?(ДанныеДляПечати.Грузоотправитель = «он же», Неопределено, ДанныеДляПечати.Грузоотправитель), СсылкаНаОбъект.Дата);
СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (
ДанныеДляПечати.Грузополучатель, СсылкаНаОбъект.Дата);

Иначе
Если ЗначениеЗаполнено(Строчка.СтранаПроисхождения) Тогда
ОбластьМакета.Параметры.ПредставлениеСтраны = СокрЛП(Строчка.СтранаПроисхождения.Наименование);
КонецЕсли;
КонецЕсли;

// Проставляем прочерки в незаполненные графы в соответствии с Постановлением
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда

ОбластьМакета.Параметры.Количество = «—«;
ОбластьМакета.Параметры.Цена = «—«;
ОбластьМакета.Параметры.Стоимость = «—«;
ОбластьМакета.Параметры.Акциз = «—«;

ОбластьМакета.Параметры.СтранаПроисхожденияКод = «—«;
ОбластьМакета.Параметры.ПредставлениеСтраны = «—«;
ОбластьМакета.Параметры.ПредставлениеГТД = «—«;

Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.ЕдиницаИ змерения) Тогда
ОбластьМакета.Параметры.ЕдиницаИзмерения = «—«;
ОбластьМакета.Параметры.ЕдиницаИзмеренияКод = «—«;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.ЕдиницаИ змеренияКод) Тогда
ОбластьМакета.Параметры.ЕдиницаИзмеренияКод = «—«;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.Количест во) Тогда
ОбластьМакета.Параметры.Количество = «—«;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.Цена) Тогда
ОбластьМакета.Параметры.Цена = «—«;
КонецЕсли;

ОбластьМакета.Параметры.СтранаПроисхожденияКод = «—«;
ОбластьМакета.Параметры.ПредставлениеСтраны = «—«;
ОбластьМакета.Параметры.ПредставлениеГТД = «—«;

// Проверим возможность вывода табличного документа
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(ОбластьМакета);
Если НомерСтроки = КоличествоСтрок Тогда
// Если последняя строка, то должен поместится итог и подвал
СтрокаСПодвалом.Добавить(ОбластьМакетаИтого);
СтрокаСПодвалом.Добавить(ОбластьМакетаПодвал);
КонецЕсли;

Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоД окумента(ТабДокумент, СтрокаСПодвалом) Тогда

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

ИтогоСтоимость = ИтогоСтоимость + Строчка.СуммаБезНДС;
ИтогоСуммаНДС = ИтогоСуммаНДС + Строчка.СуммаНДС;
ИтогоВсего = ИтогоВсего + Строчка.СуммаСНДС;

Если ВыборкаСтрокТовары.Количество() > 0 Тогда
ТабДокумент.Область(ТабДокумент.ВысотаТаблицы,,Таб Документ.ВысотаТаблицы,).ВместеСоСледующим = Истина;
КонецЕсли;

// Выводим строку «Всего к оплате»

Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
ОбластьМакетаИтого.Параметры.ИтогоСтоимость = «—«;
Иначе
ОбластьМакетаИтого.Параметры.ИтогоСтоимость = ИтогоСтоимость;
КонецЕсли;
Если СчетФактураБезНДС Тогда
ОбластьМакетаИтого.Параметры.ИтогоСуммаНДС = «без НДС»;
Иначе
ОбластьМакетаИтого.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС;
КонецЕсли;
ОбластьМакетаИтого.Параметры.ИтогоВсего = ИтогоВСего;

Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Налоговы йАгент Тогда
ОбластьМакетаПодвал.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОбПокупателе, «Свидетельство,»);
Иначе
ОбластьМакетаПодвал.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «Свидетельство,»);
КонецЕсли;

// Устанавливаем параметры печати и колонтитулы

ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.ПолеСверху = 13;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;

Если ТипЗнч(СсылкаНаОбъект.ДокументОснование) <> Тип(«ДокументСсылка.ОказаниеУслуг») Тогда
ТабДокумент.ВерхнийКолонтитул.Выводить = Истина;
ТабДокумент.ВерхнийКолонтитул.НачальнаяСтраница = 2;
ТабДокумент.ВерхнийКолонтитул.ВертикальноеПоложени е = ВертикальноеПоложение.Низ;
ТабДокумент.ВерхнийКолонтитул.ТекстСлева = ЗаголовокДляПечати;
ТабДокумент.ВерхнийКолонтитул.ТекстСправа = «Лист [&НомерСтраницы]»;
КонецЕсли;

ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Возврат ТабДокумент;

Источник статьи: http://forums.kuban.ru/f1040/pechat-_v_portretnom_rezhime_hochu_landshaft-4455203.html

Ориентация печатной формы для нового счёта-фактуры

Функция Печать() Экспорт

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура1137»;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.ПолеСверху = 13;

Сообщить(ТабДокумент.ОриентацияСтраницы);
Сообщить(ТабДокумент.ИмяПараметровПечати);
Возврат ТабДокумент;

Письмо Минфина России от 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).

Общая схема

Общая схема формирования печатной формы на основе макета:

  1. Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
  2. Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
  3. Получение макета в переменную (метод ПолучитьМакет).
  4. Получение областей макета (метод ПолучитьОбласть).
  5. Заполнение параметров области (свойство Параметры).
  6. Вывод области в табличный документ (методы Вывести и Присоединить).
  7. Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
  8. Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).

Пример вывода табличного документа

Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:

Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент ;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная. ПолучитьМакет («Основной»);

//получим область «Заголовок» как новый табличный документ (!)
Область = Макет. ПолучитьОбласть («Заголовок»);

//укажем параметры области
Область. Параметры .НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область «Заголовок» в табличный документ
ТабДок. Вывести (Область);

//выведем область «Шапка» в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть(«Шапка»));

//получение области «Строка»
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть(«Строка»);

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

//вывод области «Подвал»
Область = Макет.ПолучитьОбласть(«Подвал»);
Область.Параметры.ИтогоКоличество = Состав.Итог(«Количество»);
Область.Параметры.ИтогоСумма = Состав.Итог(«Сумма»);
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок. Показать ();

Основные методы

Основные методы формирования итогового табличного документа следующие:

Источник статьи: http://its.1c.ru/db/content/metod8dev/src/platform81/startersdev/i8102581.htm

Читайте также:  Через сколько дней газон растет
Оцените статью