Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июл 2021, 15:09

Программное объединение ячеек в печатной форме 1с 8.3

Автор stydent117, 01 фев 2021, 09:37

0 Пользователей и 1 гость просматривают эту тему.

stydent117

Доброго времени суток,подскажите как реализовать программное объединение ячеек в печатной форме?
Конф Бух 3.0

ОбластьМакета = Макет.ПолучитьОбласть("Строка");
         ОбластьМакета.Параметры.ПредставлениеКонтрагента = ТекстКонтрагент;
         ОбластьМакета.Параметры.ТекстКонтрагент = ТекстКонтрагент;
         //ОбластьМакета.Параметры.сумма_отчета= ("R21C32"+строка(+1));
         //Объединить();
         
         //ТабличныйДокумент.Область("R21"+строка(номерячейки+1)):"C32"+строка(номерячейки+2)).Объединить();
            //ТабличныйДокумент.Область("R32"+строка(+1) +":C21"+строка(+2)).Объединить();

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

         Если ПечататьСВидомСобытия Тогда
            ОбластьМакетаДокументПоПокупателю = Макет.ПолучитьОбласть("ДокументПокупателю");
         КонецЕсли;
         
         ИтогоПоКонтрагенту = 0;
         ИтогоНДСПоКонтрагенту = 0;

LexaK

да в общем, в правильном направлении двигаетесь.
вот описание из СП
Цитировать
ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
Объединить (Merge)
Синтаксис:
Объединить()
Описание:
Объединяет ячейки области.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
Область = ТабДок.Область(2,2,3,3);
Область.Объединить();

а что конкретно не получается-то? как ошибки выглядят? в чем они проявляются?
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: LexaK от 01 фев 2021, 11:31
да в общем, в правильном направлении двигаетесь.
вот описание из СП
Цитировать
ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
Объединить (Merge)
Синтаксис:
Объединить()
Описание:
Объединяет ячейки области.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
Область = ТабДок.Область(2,2,3,3);
Область.Объединить();

а что конкретно не получается-то? как ошибки выглядят? в чем они проявляются?

Само объединение не происходит,полностью выводит печатную форму без объединения нужных ячеек...
Есть мысли создать вертикальную область и ее сцепить
Добавлено: 02 фев 2021, 10:08


Функция ПечатьОтчетаКомитенту(МассивОбъектов, ОбъектыПечати)


УстановитьПривилегированныйРежим(Истина);

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОтчетКомитентуОПродажах_ОтчетКомитентуОПродажах";


ДополнительнаяКолонкаПечатныхФормДокументов = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Если НЕ ЗначениеЗаполнено(ДополнительнаяКолонкаПечатныхФормДокументов) Тогда
ДополнительнаяКолонкаПечатныхФормДокументов = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить;
КонецЕсли;
ВыводитьКоды = ДополнительнаяКолонкаПечатныхФормДокументов <> Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить;

Запрос = Новый Запрос();
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.УстановитьПараметр("ДополнительнаяКолонкаПечатныхФормДокументов", ДополнительнаяКолонкаПечатныхФормДокументов);

Запрос.Текст =
"ВЫБРАТЬ
| ТЧПоставщики.Ссылка КАК Ссылка,
| ТЧПоставщики.НомерСтроки КАК НомерСтроки,
| ТЧПоставщики.КлючСтроки КАК КлючСтроки,
| ТЧПоставщики.Поставщик КАК Поставщик,
| ТЧПоставщики.Партия КАК Партия,
| ДокПоступления.Дата КАК ДатаПартии,
| ВЫБОР
| КОГДА НЕ СчетФактураПолученный.Ссылка ЕСТЬ NULL
| ТОГДА СчетФактураПолученный.Ссылка.ДатаВходящегоДокумента
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаВходящегоСчетаФактуры,
| ВЫБОР
| КОГДА НЕ СчетФактураПолученный.Ссылка ЕСТЬ NULL
| ТОГДА СчетФактураПолученный.Ссылка.НомерВходящегоДокумента
| ИНАЧЕ """"
| КОНЕЦ КАК НомерВходящегоСчетаФактуры,
| ЕСТЬNULL(ДокПоступления.ДатаВходящегоДокумента, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаВходящегоДокумента,
| ЕСТЬNULL(ДокПоступления.НомерВходящегоДокумента, """") КАК НомерВходящегоДокумента,
| ТЧПоставщики.СчетФактура КАК СчетФактураВыданный,
| ВЫБОР
| КОГДА ТЧПоставщики.ПолученСФ
| ТОГДА ЕСТЬNULL(ТЧПоставщики.СчетФактура.Дата, ТЧПоставщики.ДатаСФ)
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаВыданногоСчетаФактуры,
| ВЫБОР
| КОГДА ТЧПоставщики.ПолученСФ
| ТОГДА ЕСТЬNULL(ТЧПоставщики.СчетФактура.Номер, """")
| ИНАЧЕ """"
| КОНЕЦ КАК НомерВыданногоСчетаФактуры
|ПОМЕСТИТЬ ВТ_РеквизитыПартий
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Поставщики КАК ТЧПоставщики
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ДокПоступления
| ПО ТЧПоставщики.Партия = ДокПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный.ДокументыОснования КАК СчетФактураПолученный
| ПО (ДокПоступления.Ссылка = СчетФактураПолученный.ДокументОснование)
|ГДЕ
| ТЧПоставщики.Ссылка В(&МассивОбъектов)
| И ТЧПоставщики.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)
|
|ИНДЕКСИРОВАТЬ ПО
| ТЧПоставщики.Ссылка,
| ТЧПоставщики.КлючСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СчетФактураВыданныйДокументыОснования.Ссылка КАК Ссылка,
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов КАК ДокументРасчетов,
| СчетФактураВыданныйДокументыОснования.Ссылка.Дата КАК Дата,
| СчетФактураВыданныйДокументыОснования.Ссылка.Номер КАК Номер
|ПОМЕСТИТЬ ТаблицаСчетовФактур
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
| ПО ОтчетКомитентуОПродажахТовары.ДокументРасчетов = СчетФактураВыданныйДокументыОснования.ДокументОснование
|ГДЕ
| ОтчетКомитентуОПродажахТовары.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах)
| И НЕ СчетФактураВыданныйДокументыОснования.Ссылка.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| СчетФактураВыданныйДокументыОснования.Ссылка,
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов,
| СчетФактураВыданныйДокументыОснования.Ссылка.Дата,
| СчетФактураВыданныйДокументыОснования.Ссылка.Номер
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактураВыданный.Ссылка,
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов,
| СчетФактураВыданный.Дата,
| СчетФактураВыданный.Номер
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураВыданный
| ПО ОтчетКомитентуОПродажахТовары.ДокументРасчетов = СчетФактураВыданный.Ссылка
|ГДЕ
| ОтчетКомитентуОПродажахТовары.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах)
| И НЕ СчетФактураВыданный.Ссылка ЕСТЬ NULL
| И НЕ СчетФактураВыданный.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| ОтчетКомитентуОПродажахТовары.ДокументРасчетов,
| СчетФактураВыданный.Ссылка,
| СчетФактураВыданный.Дата,
| СчетФактураВыданный.Номер
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОтчетКомитентуОПродажах.Ссылка КАК Ссылка,
| ОтчетКомитентуОПродажах.Ссылка.ВидОперации КАК ВидОперации,
| ОтчетКомитентуОПродажах.Ссылка.Номер КАК Номер,
| ОтчетКомитентуОПродажах.Ссылка.Дата КАК Дата,
| ОтчетКомитентуОПродажах.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ОтчетКомитентуОПродажах.Ссылка.Контрагент КАК Контрагент,
| ОтчетКомитентуОПродажах.Ссылка.Организация КАК Организация,
| ОтчетКомитентуОПродажах.Ссылка.СуммаДокумента КАК СуммаДокумента,
| ОтчетКомитентуОПродажах.Ссылка.ВалютаДокумента КАК ВалютаДокумента,
| ОтчетКомитентуОПродажах.Ссылка.СтавкаНДСВознаграждения КАК СтавкаНДСВознаграждения,
| ОтчетКомитентуОПродажах.Ссылка.СуммаВознаграждения КАК СуммаВознаграждения,
| ОтчетКомитентуОПродажах.Ссылка.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| ОтчетКомитентуОПродажах.НомерСтроки КАК НомерСтроки,
| 0 КАК НомерСтрокиПоставщики,
| ОтчетКомитентуОПродажах.Номенклатура КАК Товар,
| ВЫБОР
| КОГДА НЕ ОтчетКомитентуОПродажах.Содержание ПОДОБНО """"
| ТОГДА ОтчетКомитентуОПродажах.Содержание
| КОГДА СправочникНоменклатура.НаименованиеПолное ПОДОБНО """"
| ТОГДА СправочникНоменклатура.Наименование
| ИНАЧЕ СправочникНоменклатура.НаименованиеПолное
| КОНЕЦ КАК ТоварНаименование,
| ВЫБОР
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул)
| ТОГДА ОтчетКомитентуОПродажах.Номенклатура.Артикул
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Код)
| ТОГДА ОтчетКомитентуОПродажах.Номенклатура.Код
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить)
| ТОГДА """"
| КОНЕЦ КАК КодАртикул,
| ОтчетКомитентуОПродажах.КоличествоМест КАК КоличествоМест,
| ОтчетКомитентуОПродажах.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
| ОтчетКомитентуОПродажах.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
| ОтчетКомитентуОПродажах.Количество КАК Количество,
| ОтчетКомитентуОПродажах.Цена КАК Цена,
| ОтчетКомитентуОПродажах.Сумма КАК Сумма,
| ОтчетКомитентуОПродажах.СуммаНДС КАК СуммаНДС,
| ОтчетКомитентуОПродажах.Покупатель КАК ПокупательПоставщик,
| ОтчетКомитентуОПродажах.ДатаРеализации КАК ДатаПродажи,
| ОтчетКомитентуОПродажах.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС,
| НЕОПРЕДЕЛЕНО КАК Партия,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаПартии,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаВходящегоСчетаФактуры,
| """" КАК НомерВходящегоСчетаФактуры,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаВходящегоДокумента,
| """" КАК НомерВходящегоДокумента,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаВыданногоСчетаФактуры,
| """" КАК НомерВыданногоСчетаФактуры,
| ОтчетКомитентуОПродажах.Покупатель КАК ПолеДляИтогов,
| СправочникНоменклатура.ПериодичностьУслуги КАК ПериодичностьУслуги,
| ОтчетКомитентуОПродажах.ДокументРасчетов КАК ДокументРасчетов,
| ТаблицаСчетовФактур.Ссылка КАК СчетФактураПокупателю,
| ВЫБОР
| КОГДА ОтчетКомитентуОПродажах.Количество > 0
| И НЕ ОтчетКомитентуОПродажах.ДокументРасчетов ССЫЛКА Документ.КорректировкаРеализации
| ТОГДА ""Реализация товаров и услуг""
| КОГДА ОтчетКомитентуОПродажах.Количество < 0
| И НЕ ОтчетКомитентуОПродажах.ДокументРасчетов ССЫЛКА Документ.КорректировкаРеализации
| ТОГДА ""Возврат товаров""
| ИНАЧЕ ""Прочее""
| КОНЕЦ КАК ВидСобытия,
| ТаблицаСчетовФактур.Номер КАК НомерСФКомиссионера,
| ТаблицаСчетовФактур.Дата КАК ДатаСФКомиссионера,
| ВЫБОР
| КОГДА ОтчетКомитентуОПродажах.Количество < 0
| ИЛИ ОтчетКомитентуОПродажах.ДокументРасчетов ССЫЛКА Документ.КорректировкаРеализации
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоВозврат,
| ОтчетКомитентуОПродажах.СуммаНДСВознаграждения КАК СуммаНДСВознаграждения,
| ОтчетКомитентуОПродажах.СтавкаНДС КАК СтавкаНДС
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажах
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
| ПО ОтчетКомитентуОПродажах.Номенклатура = СправочникНоменклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаСчетовФактур КАК ТаблицаСчетовФактур
| ПО ОтчетКомитентуОПродажах.ДокументРасчетов = ТаблицаСчетовФактур.ДокументРасчетов
|ГДЕ
| ОтчетКомитентуОПродажах.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажах.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОтчетКомитентуОПродажахТовары.Ссылка,
| ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации,
| ОтчетКомитентуОПродажахТовары.Ссылка.Номер,
| ОтчетКомитентуОПродажахТовары.Ссылка.Дата,
| ОтчетКомитентуОПродажахТовары.Ссылка.ДоговорКонтрагента,
| ОтчетКомитентуОПродажахТовары.Ссылка.Контрагент,
| ОтчетКомитентуОПродажахТовары.Ссылка.Организация,
| ОтчетКомитентуОПродажахТовары.Ссылка.СуммаДокумента,
| ОтчетКомитентуОПродажахТовары.Ссылка.ВалютаДокумента,
| ОтчетКомитентуОПродажахТовары.Ссылка.СтавкаНДСВознаграждения,
| ОтчетКомитентуОПродажахТовары.Ссылка.СуммаВознаграждения,
| ОтчетКомитентуОПродажахТовары.Ссылка.ПодразделениеОрганизации,
| ОтчетКомитентуОПродажахТовары.НомерСтроки,
| ВТ_РеквизитыПартий.НомерСтроки,
| ОтчетКомитентуОПродажахТовары.Номенклатура,
| ВЫБОР
| КОГДА НЕ ОтчетКомитентуОПродажахТовары.Содержание ПОДОБНО """"
| ТОГДА ОтчетКомитентуОПродажахТовары.Содержание
| КОГДА СправочникНоменклатура.НаименованиеПолное ПОДОБНО """"
| ТОГДА СправочникНоменклатура.Наименование
| ИНАЧЕ СправочникНоменклатура.НаименованиеПолное
| КОНЕЦ,
| ВЫБОР
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул)
| ТОГДА ОтчетКомитентуОПродажахТовары.Номенклатура.Артикул
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Код)
| ТОГДА ОтчетКомитентуОПродажахТовары.Номенклатура.Код
| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить)
| ТОГДА """"
| КОНЕЦ,
| ОтчетКомитентуОПродажахТовары.КоличествоМест,
| ОтчетКомитентуОПродажахТовары.ЕдиницаИзмерения.Представление,
| ОтчетКомитентуОПродажахТовары.Номенклатура.ЕдиницаИзмерения,
| ОтчетКомитентуОПродажахТовары.Количество,
| ОтчетКомитентуОПродажахТовары.Цена,
| ОтчетКомитентуОПродажахТовары.Сумма,
| ОтчетКомитентуОПродажахТовары.СуммаНДС,
| ЕСТЬNULL(ВТ_РеквизитыПартий.Поставщик, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)),
| ДАТАВРЕМЯ(1, 1, 1),
| ОтчетКомитентуОПродажахТовары.Ссылка.СуммаВключаетНДС,
| ВТ_РеквизитыПартий.Партия,
| ВТ_РеквизитыПартий.ДатаПартии,
| ВТ_РеквизитыПартий.ДатаВходящегоСчетаФактуры,
| ВТ_РеквизитыПартий.НомерВходящегоСчетаФактуры,
| ВТ_РеквизитыПартий.ДатаВходящегоДокумента,
| ВТ_РеквизитыПартий.НомерВходящегоДокумента,
| ВТ_РеквизитыПартий.ДатаВыданногоСчетаФактуры,
| ВТ_РеквизитыПартий.НомерВыданногоСчетаФактуры,
| ВТ_РеквизитыПартий.Партия,
| НЕОПРЕДЕЛЕНО,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ОтчетКомитентуОПродажахТовары.СуммаНДСВознаграждения,
| ОтчетКомитентуОПродажахТовары.СтавкаНДС
|ИЗ
| Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеквизитыПартий КАК ВТ_РеквизитыПартий
| ПО ОтчетКомитентуОПродажахТовары.КлючСтроки = ВТ_РеквизитыПартий.КлючСтроки
| И ОтчетКомитентуОПродажахТовары.Ссылка = ВТ_РеквизитыПартий.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
| ПО ОтчетКомитентуОПродажахТовары.Номенклатура = СправочникНоменклатура.Ссылка
|ГДЕ
| ОтчетКомитентуОПродажахТовары.Ссылка В(&МассивОбъектов)
| И ОтчетКомитентуОПродажахТовары.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)
|
//|ОБЪЕДИНИТЬ ВСЕ
//|
//|ВЫБРАТЬ
//| ТЧПоставщики.Ссылка,
//| ТЧПоставщики.Ссылка.ВидОперации,
//| ТЧПоставщики.Ссылка.Номер,
//| ТЧПоставщики.Ссылка.Дата,
//| ТЧПоставщики.Ссылка.ДоговорКонтрагента,
//| ТЧПоставщики.Ссылка.Контрагент,
//| ТЧПоставщики.Ссылка.Организация,
//| ТЧПоставщики.Ссылка.СуммаДокумента,
//| ТЧПоставщики.Ссылка.ВалютаДокумента,
//| ТЧПоставщики.Ссылка.СтавкаНДСВознаграждения,
//| ТЧПоставщики.Ссылка.СуммаВознаграждения,
//| ТЧПоставщики.Ссылка.ПодразделениеОрганизации,
//| ДокПоступленияТранспортныеУслуги.НомерСтроки,
//| ТЧПоставщики.НомерСтроки,
//| ДокПоступленияТранспортныеУслуги.Номенклатура,
//| ВЫБОР
//| КОГДА НЕ ДокПоступленияТранспортныеУслуги.Содержание ПОДОБНО """"""""
//| ТОГДА ДокПоступленияТранспортныеУслуги.Содержание
//| КОГДА ДокПоступленияТранспортныеУслуги.Номенклатура.НаименованиеПолное ПОДОБНО """"""""
//| ТОГДА ДокПоступленияТранспортныеУслуги.Номенклатура.Наименование
//| ИНАЧЕ ДокПоступленияТранспортныеУслуги.Номенклатура.НаименованиеПолное
//| КОНЕЦ,
//| ВЫБОР
//| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул)
//| ТОГДА ДокПоступленияТранспортныеУслуги.Номенклатура.Артикул
//| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.Код)
//| ТОГДА ДокПоступленияТранспортныеУслуги.Номенклатура.Код
//| КОГДА &ДополнительнаяКолонкаПечатныхФормДокументов = ЗНАЧЕНИЕ(Перечисление.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить)
//| ТОГДА """"""""
//| КОНЕЦ,
//| ДокПоступленияТранспортныеУслуги.Количество,
//| ДокПоступленияТранспортныеУслуги.Номенклатура.ЕдиницаИзмерения.Представление,
//| ДокПоступленияТранспортныеУслуги.Номенклатура.ЕдиницаИзмерения,
//| ДокПоступленияТранспортныеУслуги.Количество,
//| ДокПоступленияТранспортныеУслуги.Цена,
//| ДокПоступленияТранспортныеУслуги.Сумма,
//| ДокПоступленияТранспортныеУслуги.СуммаНДС,
//| ДокПоступленияТранспортныеУслуги.Ссылка.Контрагент,
//| ДАТАВРЕМЯ(1, 1, 1),
//| ДокПоступленияТранспортныеУслуги.Ссылка.СуммаВключаетНДС,
//| ДокПоступленияТранспортныеУслуги.Ссылка,
//| ДокПоступленияТранспортныеУслуги.Ссылка.Дата,
//| ДАТАВРЕМЯ(1, 1, 1),
//| 0,
//| ДокПоступленияТранспортныеУслуги.Ссылка.ДатаВходящегоДокумента,
//| ДокПоступленияТранспортныеУслуги.Ссылка.НомерВходящегоДокумента,
//| ДАТАВРЕМЯ(1, 1, 1),
//| 0,
//| ДокПоступленияТранспортныеУслуги.Ссылка.Ссылка,
//| НЕОПРЕДЕЛЕНО,
//| NULL,
//| NULL,
//| NULL,
//| NULL,
//| NULL,
//| NULL,
//| 0,
//| ДокПоступленияТранспортныеУслуги.СтавкаНДС
//|ИЗ
//| Документ.ОтчетКомитентуОПродажах.Поставщики КАК ТЧПоставщики
//| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ДокПоступления
//| ПО ТЧПоставщики.Партия = ДокПоступления.Ссылка
//| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ДокПоступленияТранспортныеУслуги
//| ПО ТЧПоставщики.Партия = ДокПоступленияТранспортныеУслуги.Ссылка
//|ГДЕ
//| ТЧПоставщики.Ссылка В(&МассивОбъектов)
//| И ТЧПоставщики.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)
//| И НЕ ТЧПоставщики.ПолученСФ
//|
//|УПОРЯДОЧИТЬ ПО
//| Дата,
//| НомерСтрокиПоставщики,
//| ПолеДляИтогов,
//| ОтчетКомитентуОПродажах.НомерСтроки,
//| ЭтоВозврат,
//| СчетФактураПокупателю
|ИТОГИ
| МАКСИМУМ(Ссылка),
| МАКСИМУМ(ВидОперации),
| МАКСИМУМ(Номер),
| МАКСИМУМ(Дата),
| МАКСИМУМ(Контрагент),
| МАКСИМУМ(Организация),
| МАКСИМУМ(ВалютаДокумента),
| МАКСИМУМ(СуммаВознаграждения),
| МИНИМУМ(НомерСтрокиПоставщики),
| СУММА(КоличествоМест),
| СУММА(Количество),
| СУММА(Сумма),
| СУММА(СуммаНДС),
| МАКСИМУМ(ПокупательПоставщик),
| МАКСИМУМ(ДатаПартии),
| МАКСИМУМ(ДатаВходящегоСчетаФактуры),
| МАКСИМУМ(НомерВходящегоСчетаФактуры),
| МАКСИМУМ(ДатаВходящегоДокумента),
| МАКСИМУМ(НомерВходящегоДокумента),
| МАКСИМУМ(ДатаВыданногоСчетаФактуры),
| МАКСИМУМ(НомерВыданногоСчетаФактуры),
| МАКСИМУМ(НомерСФКомиссионера),
| МАКСИМУМ(ДатаСФКомиссионера),
| МАКСИМУМ(ЭтоВозврат)
|ПО
| Ссылка,
| ВидСобытия,
| ПолеДляИтогов,
| СчетФактураПокупателю";

ВыборкаДокументов = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");

Итого = 0;
НомерПП = 1;
СуммаНДСВознаграждения = 0;

ПервыйДокумент = Истина;

ОтчетНапечатан = Ложь;
Пока ВыборкаДокументов.Следующий() Цикл

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

ОтчетНапечатан = Истина;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

Макет = ПолучитьМакет("ПФ_ОтчетКомитентуОЗакупках");
ЭтоКомиссияПоПродаже = Ложь;


// Выводим шапку накладной

ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначенияБПВызовСервера.СформироватьЗаголовокДокумента(ВыборкаДокументов.Ссылка, НСтр("ru = 'Отчет'"));
ТабличныйДокумент.Вывести(ОбластьМакета);

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

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

ОбластьМакета = Макет.ПолучитьОбласть("Организация");
ОбластьМакета.Параметры.Заполнить(ВыборкаДокументов);
ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеОрганизации;
ОбластьМакета.Параметры.Получатель              = ВыборкаДокументов.Организация;
ТабличныйДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Комитент");
ОбластьМакета.Параметры.Заполнить(ВыборкаДокументов);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеКонтрагента;
ОбластьМакета.Параметры.Поставщик               = ВыборкаДокументов.Контрагент;
ТабличныйДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Основание");
ОбластьМакета.Параметры.Заполнить(ВыборкаДокументов);
ОбластьМакета.Параметры.Спецификация = ВыборкаДокументов.Ссылка.АВ_Спецификация;
ТабличныйДокумент.Вывести(ОбластьМакета);


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

Итого = 0;
ИтогоНДС = 0;
НомерПП = 1;
ОбластьСтроки = ?(ВыводитьКоды, "СтрокаСКодом", "Строка");
ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);

КоличествоТоваров = 0;

ПечататьСВидомСобытия = ЭтоКомиссияПоПродаже И НЕ Макет.Области.Найти("ВидСобытия") = Неопределено;

Если ПечататьСВидомСобытия Тогда

ОбластьМакетаСобытия = Макет.ПолучитьОбласть("ВидСобытия");

Иначе

ОбластьМакетаСобытия = Неопределено;

КонецЕсли;

ВыборкаПоВидуСобытия = ВыборкаДокументов.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВидСобытия");
Пока ВыборкаПоВидуСобытия.Следующий() Цикл

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

ВыборкаКонтрагентов = ВыборкаПоВидуСобытия.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаКонтрагентов.Следующий() Цикл

СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(ВыборкаКонтрагентов.ПокупательПоставщик, ВыборкаДокументов.Дата);
Если ЭтоКомиссияПоПродаже Тогда
ТекстКонтрагент = НСтр("ru = 'Покупатель: '") + ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
Иначе
// Поставщик
ТекстКонтрагент = НСтр("ru = ''") + ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
КонецЕсли;

Если НЕ ЭтоКомиссияПоПродаже Тогда
     

ТекстКонтрагент = ТекстКонтрагент + Символы.ПС;

Если ЗначениеЗаполнено(ВыборкаКонтрагентов.НомерВходящегоДокумента)
И ЗначениеЗаполнено(ВыборкаКонтрагентов.ДатаВходящегоДокумента) Тогда
ТекстКонтрагент = ТекстКонтрагент + НСтр("ru = 'Поступление от поставщика: № '") + ВыборкаКонтрагентов.НомерВходящегоДокумента
+ НСтр("ru = ' от '") + Формат(ВыборкаКонтрагентов.ДатаВходящегоДокумента, "ДЛФ=Д");
Иначе
ТекстКонтрагент = ТекстКонтрагент + НСтр("ru = 'Поступление от поставщика: № '") + Формат(ВыборкаКонтрагентов.ДатаПартии, "ДЛФ=Д");
КонецЕсли;

Если ЗначениеЗаполнено(ВыборкаКонтрагентов.ДатаВходящегоСчетаФактуры)
И ЗначениеЗаполнено(ВыборкаКонтрагентов.НомерВходящегоСчетаФактуры) Тогда
ТекстКонтрагент = ТекстКонтрагент + Символы.ПС;
ТекстКонтрагент = ТекстКонтрагент + НСтр("ru = 'Получен счет-фактура поставщика: № '") + ВыборкаКонтрагентов.НомерВходящегоСчетаФактуры
+ НСтр("ru = ' от '") + Формат(ВыборкаКонтрагентов.ДатаВходящегоСчетаФактуры, "ДЛФ=Д");
КонецЕсли;

Если ЗначениеЗаполнено(Символы.ПС)
И ЗначениеЗаполнено(ВыборкаКонтрагентов.НомерВыданногоСчетаФактуры) Тогда

ТекстКонтрагент = ТекстКонтрагент + Символы.ПС;
ТекстКонтрагент = ТекстКонтрагент + НСтр("ru = 'Выдан счет-фактура принципалу: № '")
+ ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ВыборкаКонтрагентов.НомерВыданногоСчетаФактуры, Истина, Ложь)
+ " от " + Формат(ВыборкаКонтрагентов.ДатаВыданногоСчетаФактуры, "ДЛФ=Д");
КонецЕсли;

КонецЕсли;





ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбластьМакета.Параметры.ПредставлениеКонтрагента = ТекстКонтрагент;
ОбластьМакета.Параметры.ТекстКонтрагент = ТекстКонтрагент;

//ТабличныйДокумент.Область("R21"+строка(номерячейки+1)):"C32"+строка(номерячейки+2)).Объединить();
    //ТабличныйДокумент.Область("R32"+строка(+1) +":C21"+строка(+2)).Объединить();

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

Если ПечататьСВидомСобытия Тогда
ОбластьМакетаДокументПоПокупателю = Макет.ПолучитьОбласть("ДокументПокупателю");
КонецЕсли;

ИтогоПоКонтрагенту = 0;
ИтогоНДСПоКонтрагенту = 0;

ВыборкаПоСчетФактуре = ВыборкаКонтрагентов.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СчетФактураПокупателю");
Пока ВыборкаПоСчетФактуре.Следующий() Цикл

Если ПечататьСВидомСобытия Тогда

ПредставлениеДокумента = ПолучитьПредставлениеДокументаВыданногоПокупателю(ВыборкаПоСчетФактуре);

Если ЗначениеЗаполнено(ПредставлениеДокумента) Тогда

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

КонецЕсли;

КонецЕсли;

ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);

ВыборкаТоваров = ВыборкаПоСчетФактуре.Выбрать();
КолСтрок = 0;
Пока ВыборкаТоваров.Следующий() Цикл
//ОбластьМакета.Параметры.сумма_отчета= ("R21C32"+строка(+1));
//Объединить();

//ТабличныйДокумент.Область("R21"+строка(номерячейки+1))":C32"+строка(номерячейки+2)).Объединить();
    //ТабличныйДокумент.Область("R32"+строка(+1) +":C21"+строка(+2)).Объединить();

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

КоличествоТоваров = КоличествоТоваров + 1;
КолСтрок = КолСтрок + 1;
//СуммаВознаграждения= ВыборкаДокументов.СуммаВознаграждения - ВыборкаТоваров.СтавкаНДС ;
//
//ОбластьМакета.Параметры.завоз1тонны9=ВыборкаТоваров.Сумма/2 ;
//ОбластьМакета.Параметры.суммасниж9_1= ВыборкаТоваров.цена*2 ;
//ОбластьМакета.Параметры.размеррасходов9_2=ВыборкаТоваров.Количество*2 ;
//ОбластьМакета.Параметры.сумма_возграж=ВыборкаДокументов.СуммаВознаграждения*1.20;
//ОбластьМакета.Параметры.возн_делькред=(ВыборкаДокументов.СуммаВознаграждения/ОбластьМакета.Параметры.сумма_возграж)*25 ;
//ОбластьМакета.Параметры.сумма_ндс_агента= ОбластьМакета.Параметры.возн_делькред*25;
//ОбластьМакета.Параметры.сумма_отчета=ОбластьМакета.Параметры.суммасниж9_1 * 2;
//
ОбластьМакета.Параметры.Заполнить(ВыборкаТоваров);
Если КолСтрок = 1 Тогда
ОбластьМакета.Параметры.НомерСтроки = НомерПП;
Иначе
ОбластьМакета.Параметры.НомерСтроки = "";
КонецЕсли;

Если НЕ ВыборкаТоваров.СуммаВключаетНДС Тогда
СуммаПоСтроке = ВыборкаТоваров.Сумма + ВыборкаТоваров.СуммаНДС;
ОбластьМакета.Параметры.Цена = ?(ВыборкаТоваров.Количество <> 0, СуммаПоСтроке/ВыборкаТоваров.Количество, 0);
ОбластьМакета.Параметры.Сумма = СуммаПоСтроке;

Иначе
Если ВыборкаТоваров.СуммаНДС = 0 Тогда
ОбластьМакета.Параметры.СуммаНДС= "-";


ОбластьМакета.Параметры.ПредставлениеКонтрагента = ТекстКонтрагент;
ОбластьМакета.Параметры.ТекстКонтрагент = ТекстКонтрагент;  //НСтр("ru = 'Поступление от поставщика: № '") + ВыборкаКонтрагентов.НомерВходящегоДокумента
//+ НСтр("ru = ' от '") + Формат(ВыборкаКонтрагентов.ДатаВходящегоДокумента, "ДЛФ=Д")+
//НСтр("ru = 'Поступление от поставщика: № '") + Формат(ВыборкаКонтрагентов.ДатаПартии, "ДЛФ=Д")+
// НСтр("ru = 'Получен счет-фактура поставщика: № '") + ВыборкаКонтрагентов.НомерВходящегоСчетаФактуры
//+ НСтр("ru = ' от '") + Формат(ВыборкаКонтрагентов.ДатаВходящегоСчетаФактуры, "ДЛФ=Д");
////+ ВыборкаКонтрагентов.НомерВходящегоСчетаФактуры+ ВыборкаКонтрагентов.НомерВыданногоСчетаФактуры;



КонецЕсли;

Если ВыборкаТоваров.ТоварНаименование = "Транспортные услуги" Тогда
сообщить ( "Транспортные услуги есть в строке");

КонецЕсли;






СуммаПоСтроке = ВыборкаТоваров.Сумма;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);

Итого = Итого + СуммаПоСтроке;
ИтогоНДС = ИтогоНДС + ВыборкаТоваров.СуммаНДС;
//НомерПП = НомерПП + 1;
ИтогоПоКонтрагенту = ИтогоПоКонтрагенту + СуммаПоСтроке;
ИтогоНДСПоКонтрагенту = ИтогоНДСПоКонтрагенту + ВыборкаТоваров.СуммаНДС;
СуммаНДСВознаграждения = СуммаНДСВознаграждения + ВыборкаТоваров.СуммаНДСВознаграждения;


КонецЦикла;

КонецЦикла;

НомерПП = НомерПП + 1;

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

КонецЦикла;

КонецЦикла;

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

ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");

ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(Итого, ВыборкаДокументов.ВалютаДокумента);

//ОбластьМакета.Параметры.СуммаВознаграждения = НСтр("ru = 'Сумма агентского вознаграждения составила'") + " "
//+ ОбщегоНазначенияБПВызовСервера.СформироватьСуммуПрописью(ВыборкаДокументов.СуммаВознаграждения, ВыборкаДокументов.ВалютаДокумента);




//ОбластьМакета.Параметры.СуммаВознаграждения = НСтр("ru = 'Сумма агентского вознаграждения составила'") + " "
//+ ВыборкаДокументов.СуммаВознаграждения +" руб., в т.ч. НДС - "   + СуммаНДСВознаграждения  ;//



ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru = 'Всего наименований %Количество%, на сумму'") + " "
+ ОбщегоНазначенияБПВызовСервера.ФорматСумм(Итого, ВыборкаДокументов.ВалютаДокумента) + ?(ИтогоНДС = 0,"без НДС","в т.ч. НДС " + ИтогоНДС);

//ОбластьМакета.Параметры.ИтоговаяСтрока = СтрЗаменить(ОбластьМакета.Параметры.ИтоговаяСтрока, "%Количество%", КоличествоТоваров);
ОбластьМакета.Параметры.ИтоговаяСтрока = СтрЗаменить(ОбластьМакета.Параметры.ИтоговаяСтрока, "%Количество%", НомерПП-1);

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



КонецЦикла;

Если НЕ ОтчетНапечатан Тогда
Шаблон = МассивОбъектов[0];

Если Шаблон.ВидОперации = Перечисления.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОПродажах Тогда
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ОтчетКомитентуОПродажах.ПФ_MXL_ОтчетКомитентуОПродажах");
ЭтоКомиссияПоПродаже = Истина;
Иначе
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ОтчетКомитентуОПродажах.ПФ_MXL_ОтчетКомитентуОЗакупках");
ЭтоКомиссияПоПродаже = Ложь;
КонецЕсли;

ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначенияБПВызовСервера.СформироватьЗаголовокДокумента(Шаблон, НСтр("ru = 'Отчет агента1266'"));
ТабличныйДокумент.Вывести(ОбластьМакета);

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

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

ОбластьМакета = Макет.ПолучитьОбласть("Организация");
ОбластьМакета.Параметры.Заполнить(ВыборкаДокументов);
ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеОрганизации;
ОбластьМакета.Параметры.Получатель              = ВыборкаДокументов.Организация;
ТабличныйДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Комитент");
ОбластьМакета.Параметры.Заполнить(ВыборкаДокументов);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеКонтрагента;
ОбластьМакета.Параметры.Поставщик               = ВыборкаДокументов.Контрагент;
ТабличныйДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Основание");
ОбластьМакета.Параметры.Заполнить(ВыборкаДокументов);
ОбластьМакета.Параметры.Спецификация = ВыборкаДокументов.Ссылка.АВ_Спецификация;
ТабличныйДокумент.Вывести(ОбластьМакета);

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

ПечататьСВидомСобытия = ЭтоКомиссияПоПродаже И НЕ Макет.Области.Найти("ВидСобытия") = Неопределено;

Если ПечататьСВидомСобытия Тогда

ОбластьМакета = Макет.ПолучитьОбласть("ВидСобытия");
ТабличныйДокумент.Вывести(ОбластьМакета);

КонецЕсли;

ОбластьМакета = Макет.ПолучитьОбласть("Итого");
ТабличныйДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
ТабличныйДокумент.Вывести(ОбластьМакета);

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

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
ТабличныйДокумент.ВысотаТаблицы + 1, ОбъектыПечати, Шаблон);
КонецЕсли;

Возврат ТабличныйДокумент;


Дайте мне пинок,что не так делаю?

LexaK

вот еще вариант.
у вас по коду просто стоит объединение областей
есть предложение: сделайте несколько Макетов с обычными и объединенными областями, по условию просто берите нужный Макет,

Если НужноОбъединение Тогда
    Макет = ПолучитьМакет("ПФ_ОтчетКомитентуОЗакупках_Объединенный");
Иначе
    Макет = ПолучитьМакет("ПФ_ОтчетКомитентуОЗакупках");
КонецЕсли;


или несколько Областей, далее в коде

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

stydent117

Цитата: LexaK от 02 фев 2021, 10:50
вот еще вариант.
у вас по коду просто стоит объединение областей
есть предложение: сделайте несколько Макетов с обычными и объединенными областями, по условию просто берите нужный Макет,

Если НужноОбъединение Тогда
    Макет = ПолучитьМакет("ПФ_ОтчетКомитентуОЗакупках_Объединенный");
Иначе
    Макет = ПолучитьМакет("ПФ_ОтчетКомитентуОЗакупках");
КонецЕсли;


или несколько Областей, далее в коде

Если НужноОбъединение Тогда
ОбластьМакета = Макет.ПолучитьОбласть("СтрокаОбъединенная");
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("СтрокаОбычная");
КонецЕсли;


т.е в печатную форму добавляю еще одну строку ("СтрокаОбычная"),ставлю условие,далее копирую код из "ОбластьСтроки"
Я правильно Вас понял?

LexaK

Цитироватьт.е в печатную форму добавляю еще одну строку
- нет
речь идет о Макете! Макет это не печатная форма!
Макет, это как бы набор заготовок, где вы, по определенному условию берете нужную область, заполняете ее и выводите в печатную форму (в табличный документ)

в Макете, да, область, можно копировать, задать другое имя, задать другой вид, при этом сохранить набор Параметров от копируемой
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: LexaK от 02 фев 2021, 12:52
Цитироватьт.е в печатную форму добавляю еще одну строку
- нет
речь идет о Макете! Макет это не печатная форма!
Макет, это как бы набор заготовок, где вы, по определенному условию берете нужную область, заполняете ее и выводите в печатную форму (в табличный документ)

в Макете, да, область, можно копировать, задать другое имя, задать другой вид, при этом сохранить набор Параметров от копируемой


Ошибки начинаются. А что если полностью скопировать функцию?
{ВнешняяОбработка.ОтчетАгента.МодульОбъекта(824,1)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
<<?>>КонецЦикла; (Проверка: Сервер)
{ВнешняяОбработка.ОтчетАгента.МодульОбъекта(841,43)}: Обнаружено логическое завершение исходного текста модуля
ТабличныйДокумент.Вывести(ОбластьМакета);<<?>> (Проверка: Сервер)

LexaK

так сначала надо ошибки исправить, потом копируйте все что хотите!
так как, например у вас уже есть 3 ошибки,
если вы скопируете эту функцию, то у вас уже будет 6 ошибок!  :D
ответ Понравился? (в смысле пригодился?)

stydent117

Цитата: LexaK от 02 фев 2021, 16:02
так сначала надо ошибки исправить, потом копируйте все что хотите!
так как, например у вас уже есть 3 ошибки,
если вы скопируете эту функцию, то у вас уже будет 6 ошибок!  :D

Э нет Отец,ошибки бесовские начинают сыпать после копирования и переименованияОбластьМакета = Макет.ПолучитьОбласть("Строка");!
А что если скопировать полностью функцию?

LexaK

так там же все по русски
Цитировать
Ожидается ключевое слово 'КонецФункции'
Обнаружено логическое завершение исходного текста модуля

честно говоря, я уже запутался.

но есть еще вариант!
называется: С Чистого листа!

все удаляете (и ни одной ошибки) и пишите заново

Функция ПечатьОтчетаКомитенту(МассивОбъектов, ОбъектыПечати)

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

Возврат ТабличныйДокумент;

КонецФункции




ответ Понравился? (в смысле пригодился?)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск