Как правильно перенести скопированную печатную форму на внешнюю обработку
Здравствуйте, хотел немного изменить печатную форму КоммерческоеПредложениеКлиенту, создал внешнюю обработку, перенес коды для печати, при печати выдал ошибку "Недостаточно фактических параметров" Думаю ошибка из-за СсылкаНаОбъект, можете подсказать что делаю не так?
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.КоммерческоеПредложениеКлиенту");//Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Коммерческое предложение клиенту доработка"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Коммерческое предложение клиенту внешняя доработка");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Коммерческое предложение клиенту доработка", "КоммерческоеПредложениеКлиентуВнешняя", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(Знач МассивОбъектов, Знач ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "КоммерческоеПредложениеКлиентуВнешняя") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"КоммерческоеПредложениеКлиентуВнешняя",
НСтр("ru = 'Коммерческое предложение клиенту';
|en = 'Sales quotation for customer'"),
ПечатнаяФормаКоммерческоеПредложениеКлиенту(МассивОбъектов[0], ОбъектыПечати, ПараметрыПечати));
КонецЕсли;
КонецПроцедуры
Функция ДанныеДляПечати(СсылкаНаОбъект, ПараметрыПечати)
СтруктураДанныхДляПечати = Неопределено;
СтандартнаяОбработка = Истина;
КоммерческиеПредложенияДокументыПереопределяемый.КоммерческоеПредложениеКлиентуПриФормированииСтруктурыДанных<wbr>Печати(
СсылкаНаОбъект,
СтруктураДанныхДляПечати,
ПараметрыПечати,
СтандартнаяОбработка);
Если Не СтандартнаяОбработка Тогда
Возврат СтруктураДанныхДляПечати;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("СсылкаНаОбъект", СсылкаНаОбъект);
ОтображатьСкидки = Истина;
Если ПараметрыПечати.Свойство("ОтображатьСкидки")
И Не ПараметрыПечати.ОтображатьСкидки Тогда
ОтображатьСкидки = Ложь;
КонецЕсли;
Запрос.УстановитьПараметр("ОтображатьСкидки", ОтображатьСкидки);
Запрос.Текст =
"ВЫБРАТЬ
| КоммерческоеПредложениеКлиенту.Ссылка КАК Ссылка,
| КоммерческоеПредложениеКлиенту.Дата КАК Дата,
| КоммерческоеПредложениеКлиенту.Номер КАК Номер,
| КоммерческоеПредложениеКлиенту.Менеджер КАК Менеджер,
| КоммерческоеПредложениеКлиенту.КонтактноеЛицо КАК КонтактноеЛицо,
| КоммерческоеПредложениеКлиенту.Организация КАК Организация,
| КоммерческоеПредложениеКлиенту.СрокДействия КАК СрокДействия,
| КоммерческоеПредложениеКлиенту.Валюта КАК Валюта,
| КоммерческоеПредложениеКлиенту.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КоммерческоеПредложениеКлиенту.Налогообложение КАК УчитыватьНДС,
| КоммерческоеПредложениеКлиенту.УсловияДоставкиТекст КАК УсловияДоставки,
| КоммерческоеПредложениеКлиенту.УсловияОплатыТекст КАК УсловияОплаты,
| КоммерческоеПредложениеКлиенту.ПрочаяДополнительнаяИнформацияТекст КАК ПрочиеУсловия,
| КоммерческоеПредложениеКлиенту.Клиент КАК Клиент,
| КоммерческоеПредложениеКлиенту.Контрагент КАК Контрагент,
| КоммерческоеПредложениеКлиенту.ВариантУказанияСрокаПоставки КАК ВариантУказанияСрокаПоставки,
| КоммерческоеПредложениеКлиенту.МожетВыкупатьсяЧастично КАК МожетВыкупатьсяЧастично
|ИЗ
| Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
|ГДЕ
| КоммерческоеПредложениеКлиенту.Ссылка В(&СсылкаНаОбъект)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.СуммаРучнойСкидки + Товары.СуммаАвтоматическойСкидки КАК СуммаСкидки,
| Товары.ПроцентРучнойСкидки + Товары.ПроцентАвтоматическойСкидки КАК ПроцентСкидки,
| &УсловияЕдиницыИзмерения КАК ЕдиницаИзмерения,
| Товары.Количество КАК Количество,
|ВЫБОР
| КОГДА &ОтображатьСкидки
| ТОГДА Товары.Цена
| ИНАЧЕ ВЫБОР
| КОГДА Товары.Количество = 0
| ТОГДА 0
| ИНАЧЕ Товары.Сумма / Товары.Количество
| КОНЕЦ
|КОНЕЦ КАК Цена,
| Товары.СуммаСНДС КАК СуммаСНДС,
| Товары.Сумма КАК Сумма,
| Товары.СуммаНДС КАК СуммаНДС,
| Товары.СрокПоставки КАК СрокПоставки
|ИЗ
| Документ.КоммерческоеПредложениеКлиенту.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В(&СсылкаНаОбъект)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| НомерСтроки";
УсловияЕдиницыИзмерения = "Товары.ЕдиницаИзмерения";
КоммерческиеПредложенияДокументыПереопределяемый.ПолучитьТекстЗапросаПолученияЕдиницыИзмерения(УсловияЕдиницыИзмерения);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловияЕдиницыИзмерения", УсловияЕдиницыИзмерения);
ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет(); // Массив из ВыборкаИзРезультатаЗапроса
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
СтруктураДанныхДляПечати.Вставить("РезультатПоТоварам", ПакетРезультатовЗапроса[1]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
// Подготовка данных объекта по данным для печати.
//
// Параметры:
// ДанныеШапки - ВыборкаИзРезультатаЗапроса.
// ТаблицаТовары - ТаблицаЗначений - товары:
// * НомерСтроки - Число.
Функция ДанныеОбъектаПоДаннымДляПечати(ДанныеШапки, ТаблицаТовары)
ДанныеОбъекта = Новый Структура;
#Область ДанныеОрганизации
СведенияОрганизации = Новый Структура;
СведенияОрганизации.Вставить("Наименование");
СведенияОрганизации.Вставить("ПолноеНаименование");
СведенияОрганизации.Вставить("Телефоны");
СведенияОрганизации.Вставить("ЮридическийАдрес");
СведенияОрганизации.Вставить("ЭлектроннаяПочта");
КоммерческиеПредложенияДокументыПереопределяемый.ЗаполнитьДанныеОрганизации(ДанныеШапки.Организация, СведенияОрганизации);
Если ЗначениеЗаполнено(СведенияОрганизации.ПолноеНаименование) Тогда
ПредставлениеОрганизации = СведенияОрганизации.ПолноеНаименование;
Иначе
ПредставлениеОрганизации = СведенияОрганизации.Наименование;
КонецЕсли;
#КонецОбласти
#Область КонтактнаяИнформация
Если ЗначениеЗаполнено(ДанныеШапки.Менеджер) Тогда
МассивСМенеджером = Новый Массив;
МассивСМенеджером.Добавить(ДанныеШапки.Менеджер);
ТребуемыеТипыКонтактнойИнформации = Новый Массив;
ТребуемыеТипыКонтактнойИнформации.Добавить(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
ТаблицаКонтактнойИнформации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(
МассивСМенеджером,
ТребуемыеТипыКонтактнойИнформации,,
ДанныеШапки.Дата);
АдресЭлектроннойПочтыМенеджера = КоммерческиеПредложенияДокументы.ПредставлениеКонтактнойИнформацииИзТаблицы(
ТаблицаКонтактнойИнформации,
Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
Иначе
ТелефонМенеджера = "";
АдресЭлектроннойПочтыМенеджера = "";
КонецЕсли;
#КонецОбласти
#Область Товары
ЕстьСкидки = Ложь;
ДанныеОбъекта.Вставить("СуммаВсего", 0);
ДанныеОбъекта.Вставить("СуммаВсегоНДС", 0);
ДанныеОбъекта.Вставить("КоличествоТоваров", 0);
ДанныеОбъекта.Вставить("Товары", Новый Массив);
Для Каждого СтрокаТовары Из ТаблицаТовары Цикл
Если СтрокаТовары.СуммаСкидки <> 0 Тогда
ЕстьСкидки = Истина;
КонецЕсли;
ДанныеОбъекта.СуммаВсего = ДанныеОбъекта.СуммаВсего + СтрокаТовары.Сумма;
ДанныеОбъекта.СуммаВсегоНДС = ДанныеОбъекта.СуммаВсегоНДС + СтрокаТовары.СуммаНДС;
ДанныеОбъекта.КоличествоТоваров = ДанныеОбъекта.КоличествоТоваров + 1;
СтрокаТаблицыТовары = Новый Структура;
НаименованиеТовара = КоммерческиеПредложенияДокументыКлиентСервер.ПредставлениеНоменклатурыДляПечати(СтрокаТовары.Номенклатура, СтрокаТовары.Характеристика);
СтрокаТаблицыТовары.Вставить("НомерСтроки", СтрокаТовары.НомерСтроки);
СтрокаТаблицыТовары.Вставить("Номенклатура", НаименованиеТовара);
СтрокаТаблицыТовары.Вставить("Количество", СтрокаТовары.Количество);
СтрокаТаблицыТовары.Вставить("ЕдиницаИзмерения", СтрокаТовары.ЕдиницаИзмерения);
СтрокаТаблицыТовары.Вставить("Цена", Формат(СтрокаТовары.Цена,"ЧДЦ=2; ЧРД=."));
СтрокаТаблицыТовары.Вставить("СуммаСНДС", Формат(СтрокаТовары.СуммаСНДС,"ЧДЦ=2; ЧРД=."));
СтрокаТаблицыТовары.Вставить("СуммаСкидки", Формат(СтрокаТовары.СуммаСкидки,"ЧДЦ=2; ЧРД=."));
СтрокаТаблицыТовары.Вставить("СрокПоставки", КоммерческиеПредложенияДокументыКлиентСервер.СрокПоставкиСтрокой(ДанныеШапки.ВариантУказанияСрокаПоставки,
СтрокаТовары.СрокПоставки));
КоммерческиеПредложенияДокументыПереопределяемый.ДополнитьДанныеОбъектаДляПечати(СтрокаТаблицыТовары, СтрокаТовары, ДанныеОбъекта);
ДанныеОбъекта.Товары.Добавить(СтрокаТаблицыТовары);
КонецЦикла;
#КонецОбласти
#Область ЗаполнениеДанныхОбъекта
ПредставлениеСуммДокумента = КоммерческиеПредложенияДокументы.ПредставлениеСуммДокументаДляПечати(ДанныеШапки,
ДанныеОбъекта.СуммаВсего,
ДанныеОбъекта.СуммаВсегоНДС,
ДанныеОбъекта.КоличествоТоваров);
ДанныеОбъекта.Вставить("Ссылка", ДанныеШапки.Ссылка);
ДанныеОбъекта.Вставить("Организация", ДанныеШапки.Организация);
ДанныеОбъекта.Вставить("ТелефонОрганизации", СведенияОрганизации.Телефоны);
ДанныеОбъекта.Вставить("АдресОрганизации", СведенияОрганизации.ЮридическийАдрес);
ДанныеОбъекта.Вставить("АдресЭлектроннойПочтыОрганизации", ?(СведенияОрганизации.Свойство("ЭлектроннаяПочта"),СведенияОрганизации.ЭлектроннаяПочта, ""));
ДанныеОбъекта.Вставить("Клиент", ДанныеШапки.Клиент);
ДанныеОбъекта.Вставить("Контрагент", ДанныеШапки.Контрагент);
ДанныеОбъекта.Вставить("ПредставлениеОрганизации", ПредставлениеОрганизации);
ДанныеОбъекта.Вставить("ПредставлениеКлиента", ПредставлениеКлиента(ДанныеОбъекта.Клиент, ДанныеОбъекта.Контрагент));
ДанныеОбъекта.Вставить("КонтактноеЛицо", ДанныеШапки.КонтактноеЛицо);
ДанныеОбъекта.Вставить("Менеджер", ДанныеШапки.Менеджер);
ДанныеОбъекта.Вставить("АдресЭлектроннойПочтыМенеджера", АдресЭлектроннойПочтыМенеджера);
ДанныеОбъекта.Вставить("ТелефонМенеджера", ТелефонМенеджера);
ДанныеОбъекта.Вставить("Номер", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеШапки.Номер, Ложь, Истина));
ДанныеОбъекта.Вставить("Дата", Формат(ДанныеШапки.Дата,"ДЛФ=D"));
ДанныеОбъекта.Вставить("ВариантУказанияСрокаПоставки", ДанныеШапки.ВариантУказанияСрокаПоставки);
ДанныеОбъекта.Вставить("УсловияОплаты", ДанныеШапки.УсловияОплаты);
ДанныеОбъекта.Вставить("УсловияДоставки", ДанныеШапки.УсловияДоставки);
ДанныеОбъекта.Вставить("ПрочиеУсловия", ДанныеШапки.ПрочиеУсловия);
ДанныеОбъекта.Вставить("КонтактнаяИнформацияПредложения", КонтактнаяИнформацияПредложения(ДанныеОбъекта));
ДанныеОбъекта.Вставить("ИтоговаяСтрока", ПредставлениеСуммДокумента.ИтоговаяСтрока);
ДанныеОбъекта.Вставить("СуммаПрописью", ПредставлениеСуммДокумента.СуммаПрописью);
ДанныеОбъекта.Вставить("ЕстьСкидки", ЕстьСкидки);
ДанныеОбъекта.Вставить("ПредставлениеСрокаДействия", КоммерческиеПредложенияДокументы.ПредставлениеСрокаДействияДляПечати(ЕстьСкидки, ДанныеШапки.СрокДействия));
ДанныеОбъекта.Вставить("ПредставлениеЧастичногоВыкупа", КоммерческиеПредложенияДокументы.ПредставлениеЧастичногоВыкупаДляПечати(ДанныеШапки.МожетВыкупатьсяЧастично));
ДанныеОбъекта.Вставить("УсловияПоставкиПредставление", КоммерческиеПредложенияДокументы.ПредставлениеУсловийПоставкиДляПечати(ДанныеОбъекта.УсловияОплаты,
ДанныеОбъекта.УсловияДоставки,
ДанныеОбъекта.ПрочиеУсловия));
#КонецОбласти
Возврат ДанныеОбъекта;
КонецФункции
Функция ПредставлениеКлиента(Клиент, Контрагент)
Возврат КоммерческиеПредложенияДокументы.ПредставлениеПартнераКонтрагента(Клиент, Контрагент);
КонецФункции
Функция КонтактнаяИнформацияПредложения(ДанныеОбъекта)
МассивСтрок = Новый Массив;
Если Не ПустаяСтрока(ДанныеОбъекта.АдресОрганизации) Тогда
МассивСтрок.Добавить(ДанныеОбъекта.АдресОрганизации);
КонецЕсли;
Если Не ПустаяСтрока(ДанныеОбъекта.ТелефонОрганизации) Тогда
МассивСтрок.Добавить(ДанныеОбъекта.ТелефонОрганизации);
КонецЕсли;
Если Не ПустаяСтрока(ДанныеОбъекта.АдресЭлектроннойПочтыМенеджера) Тогда
МассивСтрок.Добавить(ДанныеОбъекта.АдресЭлектроннойПочтыМенеджера);
ИначеЕсли Не ПустаяСтрока(ДанныеОбъекта.АдресЭлектроннойПочтыОрганизации) Тогда
МассивСтрок.Добавить(ДанныеОбъекта.АдресЭлектроннойПочтыОрганизации);
КонецЕсли;
Возврат СтрСоединить(МассивСтрок, Символы.ПС);
КонецФункции
Функция ПечатнаяФормаКоммерческоеПредложениеКлиенту(СсылкаНаОбъект, ОбъектыПечати, ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ДанныеДляПечати = ДанныеДляПечати(СсылкаНаОбъект, ПараметрыПечати);
ДанныеШапки = ДанныеДляПечати.РезультатПоШапке.Выбрать(); // ВыборкаИзРезультатаЗапроса
ТаблицаТовары = ДанныеДляПечати.РезультатПоТоварам.Выгрузить(); // ТаблицаЗначений
ТаблицаТоварыДокумента = Новый ТаблицаЗначений;
Для Каждого КолонкаТаблицыЗначений Из ТаблицаТовары.Колонки Цикл
ТаблицаТоварыДокумента.Колонки.Добавить(КолонкаТаблицыЗначений.Имя, КолонкаТаблицыЗначений.ТипЗначения);
КонецЦикла;
ПервыйДокумент = Истина;
Пока ДанныеШапки.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ТаблицаТоварыДокумента.Очистить();
ПараметрыПоиска = Новый Структура;
ПараметрыПоиска.Вставить("Ссылка", ДанныеШапки.Ссылка);
НайденныеСтроки = ТаблицаТовары.НайтиСтроки(ПараметрыПоиска);
Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
НоваяСтрока = ТаблицаТоварыДокумента.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, НайденнаяСтрока);
КонецЦикла;
ДанныеОбъекта = ДанныеОбъектаПоДаннымДляПечати(ДанныеШапки, ТаблицаТоварыДокумента);
ЗаполнитьТабличныйДокументКоммерческоеПредложениеКлиенту(ТабличныйДокумент, ДанныеОбъекта, ПараметрыПечати);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеШапки.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Процедура ЗаполнитьТабличныйДокументКоммерческоеПредложениеКлиенту(ТабличныйДокумент, ДанныеОбъекта, ПараметрыПечати)
Макет = ПолучитьМакет("ПФ_MXL_КоммерческоеПредложениеКлиенту");
Если ПараметрыПечати.Свойство("ОтображатьСкидки")
И Не ПараметрыПечати.ОтображатьСкидки Тогда
Если ДанныеОбъекта.ВариантУказанияСрокаПоставки = Перечисления.ВариантыСроковПоставкиКоммерческихПредложений.НеУказывается Тогда
ИмяОбластиШапкаТаблицы = "ШапкаТаблицыТовары";
ИмяОбластиСтрокаТаблицы = "СтрокаТаблицыТовары";
ИмяИменованнойОбластиСтрокаТаблицы = "ОбластьТовары";
Иначе
ИмяОбластиШапкаТаблицы = "ШапкаТаблицыТоварыСрокПоставки";
ИмяОбластиСтрокаТаблицы = "СтрокаТаблицыТоварыСрокПоставки";
ИмяИменованнойОбластиСтрокаТаблицы = "ОбластьТоварыСрокПоставки";
КонецЕсли;
Иначе
Если ДанныеОбъекта.ВариантУказанияСрокаПоставки = Перечисления.ВариантыСроковПоставкиКоммерческихПредложений.НеУказывается Тогда
ИмяОбластиШапкаТаблицы = "ШапкаТаблицыТоварыСкидка";
ИмяОбластиСтрокаТаблицы = "СтрокаТаблицыТоварыСкидка";
ИмяИменованнойОбластиСтрокаТаблицы = "ОбластьТоварыСкидка";
Иначе
ИмяОбластиШапкаТаблицы = "ШапкаТаблицыТоварыСрокПоставкиСкидка";
ИмяОбластиСтрокаТаблицы = "СтрокаТаблицыТоварыСрокПоставкиСкидка";
ИмяИменованнойОбластиСтрокаТаблицы = "ОбластьТоварыСрокПоставкиСкидка";
КонецЕсли;
КонецЕсли;
ОбластьШтрихкода = Макет.ПолучитьОбласть("ОбластьШтрихкода");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьКонтактноеЛицо = Макет.ПолучитьОбласть("КонтактноеЛицо");
ОбластьПредлагаемОзнакомиться = Макет.ПолучитьОбласть("ПредлагаемОзнакомиться");
ОбластьШапкаТаблицыТовары = Макет.ПолучитьОбласть(ИмяОбластиШапкаТаблицы);
ОбластьСтрокаТаблицыТовары = Макет.ПолучитьОбласть(ИмяОбластиСтрокаТаблицы);
ИменованнаяОбластьСтрокаТовары = ИмяИменованнойОбластиСтрокаТаблицы;
ОбластьПодвалТаблицыТовары = Макет.ПолучитьОбласть("ПодвалТаблицыТовары");
ОбластьМенеджер = Макет.ПолучитьОбласть("Менеджер");
ОбластьПустаяСтрокаТонкая = Макет.ПолучитьОбласть("ПустаяСтрокаТонкая");
ОбластьДополнительнаяИнформация = Макет.ПолучитьОбласть("ДополнительнаяИнформация");
ОбластьСрокДействия = Макет.ПолучитьОбласть("СрокДействияЧастичныйВыкуп");
КоммерческиеПредложенияДокументыПереопределяемый.ПриВыводеШтриховогоКодаВПечатныеФормы(ТабличныйДокумент, Макет, ОбластьШтрихкода, ДанныеОбъекта);
КоммерческиеПредложенияДокументыПереопределяемый.ПриФормированииЗаголовкаПечатнойФормы(Макет, ОбластьЗаголовок, ДанныеОбъекта);
ДополнительныеПараметрыВывода = Неопределено;
ОбластьЗаголовок.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьЗаголовок);
Если ЗначениеЗаполнено(ДанныеОбъекта.КонтактноеЛицо) Тогда
ОбластьКонтактноеЛицо.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьКонтактноеЛицо);
КонецЕсли;
ОбластьПредлагаемОзнакомиться.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьПредлагаемОзнакомиться);
ТабличныйДокумент.Вывести(ОбластьШапкаТаблицыТовары);
Для Каждого СтрокаТовары Из ДанныеОбъекта.Товары Цикл
СтандартнаяОбработка = Истина;
КоммерческиеПредложенияДокументыПереопределяемый.ПриВыводеСтрокиТоварыПечатнуюФорму(ТабличныйДокумент,
СтрокаТовары,
ОбластьСтрокаТаблицыТовары,
ИменованнаяОбластьСтрокаТовары,
ДополнительныеПараметрыВывода,
СтандартнаяОбработка);
Если СтандартнаяОбработка Тогда
ОбластьСтрокаТаблицыТовары.Параметры.Заполнить(СтрокаТовары);
ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицыТовары);
КонецЕсли;
КонецЦикла;
ОбластьПодвалТаблицыТовары.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьПодвалТаблицыТовары);
ТабличныйДокумент.Вывести(ОбластьПустаяСтрокаТонкая);
ОбластьСрокДействия.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьСрокДействия);
Если Не ПустаяСтрока(ДанныеОбъекта.УсловияПоставкиПредставление) Тогда
ТабличныйДокумент.Вывести(ОбластьПустаяСтрокаТонкая);
ОбластьДополнительнаяИнформация.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьДополнительнаяИнформация);
КонецЕсли;
ОбластьМенеджер.Параметры.Заполнить(ДанныеОбъекта);
ТабличныйДокумент.Вывести(ОбластьМенеджер);
КонецПроцедуры
ПоказатьПрикрепленные файлы:


Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот