Не работает печатная форма кп

1. Palm 29.07.22 09:41 Сейчас в теме
не могу наладить печатную форму выдает ошибку
{(295, 36)}: Неверные параметры "УпаковкиНоменклатуры.ПустаяСсылка"
КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(<<?>>УпаковкиНоменклатуры.ПустаяСсылка)
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(495)}:ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(48)}:ДанныеДляПечати = ПолучитьДанныеДляПечати(МассивОбъектов);
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(36)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВПФКоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати));
{ОбщийМодуль.УправлениеПечатью.Модуль(1653)}:ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(533)}:УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(49)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(236)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(143)}:ВыполнитьОбработкуОповещения(ОписаниеПроцедурыЗавершения, СписокДокументов);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(32)}:УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, ОбъектыНазначения, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}:МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}:ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}:МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}:ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(257)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(1394)}:ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);

по причине:
{(295, 36)}: Неверные параметры "УпаковкиНоменклатуры.ПустаяСсылка"
КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(<<?>>УпаковкиНоменклатуры.ПустаяСсылка)
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
32. Palm 29.07.22 18:27 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ilnur75 29.07.22 09:48 Сейчас в теме
укажите что это справочники или ...
3. _liana 29.07.22 09:49 Сейчас в теме
Справочник1.Ссылка = значение(Справочник.Справочник1.ПустаяСсылка)

так попробовать
4. _liana 29.07.22 09:50 Сейчас в теме
КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
5. Palm 29.07.22 09:52 Сейчас в теме
не помогло
Прикрепленные файлы:
6. EVKash 14 29.07.22 10:20 Сейчас в теме +0.1 $m
(5) В КА2 это скорей всего должно быть Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка
7. Palm 29.07.22 10:36 Сейчас в теме
(6) {(12, 10)}: Поле не найдено "Таблица.КоличествоУпаковок"
Таблица.<<?>>КоличествоУпаковок КАК КоличествоУпаковок,
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(495)}:ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(48)}:ДанныеДляПечати = ПолучитьДанныеДляПечати(МассивОбъектов);
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(36)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВПФКоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати));
{ОбщийМодуль.УправлениеПечатью.Модуль(1653)}:ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(533)}:УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(49)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(236)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(143)}:ВыполнитьОбработкуОповещения(ОписаниеПроцедурыЗавершения, СписокДокументов);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(32)}:УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, ОбъектыНазначения, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}:МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}:ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}:МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}:ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(257)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(1394)}:ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);

по причине:
{(12, 10)}: Поле не найдено "Таблица.КоличествоУпаковок"
Таблица.<<?>>КоличествоУпаковок КАК КоличествоУпаковок,
8. EVKash 14 29.07.22 10:44 Сейчас в теме +0.2 $m
(7) У документа КП нет реквизита КоличествоУпаковок. Есть УдалитьКоличествоУпаковок. Значит если оно вам все-таки надо, то пишем
Таблица.Количество КАК КоличествоУпаковок,
9. Palm 29.07.22 11:22 Сейчас в теме
10. Palm 29.07.22 11:27 Сейчас в теме
11. EVKash 14 29.07.22 11:52 Сейчас в теме
(9) а что не понятно? На пальцах...
Вот есть например упаковка 10шт. Тогда если количество упаковок 2, то количество будет 10*2=20
Это нужно для документов двигающих остатки. Коммерческое предложение к таким не относится и разработчики решили этот реквизит удалить в КП.
(10) Посмотрел повнимательнее... У вас там все наперекосяк. Наверно за основу брали очень старую обработку. Надо исправлять. Посмотрите в модуле менеджера КП, как сейчас формируется печатная форма. И по аналогии...
12. Palm 29.07.22 14:53 Сейчас в теме
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(12,2)}: Процедура или функция с указанным именем не определена (ДобавитьКоманду)
<<?>>ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), "КоммерческоеПредложение", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); (Проверка: Сервер)
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(78,182)}: Процедура или функция с указанным именем не определена (СформироватьПечатнуюФормуКоммерческогоПредложения)
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "КоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), <<?>>СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати)); (Проверка: Сервер)
13. ilnur75 29.07.22 15:07 Сейчас в теме +0.11 $m
(12) ух, в соседней ветке форума есть подобная тема подключения внешней ПФ. там и код подключения развернут.
14. Palm 29.07.22 15:18 Сейчас в теме
(13)я уже устал от этой формы и не знаю где я ошибся


Функция СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	МассивНазначений.Добавить("Документ.КоммерческоеПредложениеКлиенту");
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Коммерческое предложение РИ (дополнительная печатная форма)");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Версия", "1.0");    
	ПараметрыРегистрации.Вставить("Информация", "Печатная форма к документу Коммерческое предложение клиенту");
    ТаблицаКоманд = ПолучитьТаблицуКоманд(); 
	
	ДобавитьКоманду(ТаблицаКоманд, НСтр("Коммерческое предложение РИ (дополнительная печатная форма)"), "КоммерческоеПредложение", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);  
	
	
	Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
	Команды = Новый ТаблицаЗначений;
	Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); 
	Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
  	Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
	Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
  	Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
	Возврат Команды;
КонецФункции

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

Процедура ЗаполнитьДанныеПоКоммерческомуПредложению(Знач СсылкаНаОбъект, ДанныеДокумента, Отказ) Экспорт
	
	ТипыДанныхЭлектронныхДокументов = КоммерческиеПредложенияДокументы.ТипыДанныхЭлектронныхДокументов();
	
	СтандартнаяОбработка = Истина;
	ПодготовленныеДанные = Новый Структура;
	ПодготовленныеДанные.Вставить("РезультатЗапросаНоменклатура");
	ПодготовленныеДанные.Вставить("РезультатЗапросаХарактеристика"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаЕдиницыИзмерения"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаДляПолученияШтрихкодов"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаТовары"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаШапка"); 
	
	КоммерческиеПредложенияДокументыПереопределяемый.ПриЗаполненииДанныхЭлектронногоДокумента(СсылкаНаОбъект, ПодготовленныеДанные, СтандартнаяОбработка);
	
	Если СтандартнаяОбработка Тогда
	
		Запрос = Новый Запрос;
		Запрос.Текст = "
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Товары.НомерСтроки         КАК НомерСтроки,
		|	Товары.Номенклатура        КАК Номенклатура,
		|	Товары.Характеристика      КАК Характеристика,
		|	&УсловияЕдиницыИзмерения   КАК ЕдиницаИзмерения,
		|	Товары.Ссылка              КАК Ссылка
		|ПОМЕСТИТЬ Товары
		|ИЗ
		|	Документ.КоммерческоеПредложениеКлиенту.Товары КАК Товары
		|ГДЕ
		|	Товары.Ссылка = &СсылкаНаОбъект
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////1
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.Номенклатура КАК Номенклатура
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////2
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.Характеристика КАК Характеристика
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////3
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////4
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.Номенклатура     КАК Номенклатура,
		|	Товары.Характеристика   КАК Характеристика,
		|	Товары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////5
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	КоммерческоеПредложениеКлиентуТовары.НомерСтроки                                                                        КАК НомерСтроки,
		|	КоммерческоеПредложениеКлиентуТовары.ИдентификаторСтрокиЗапроса                                                         КАК ИдентификаторСтроки,
		|	ВсеТовары.Номенклатура                                                                                                  КАК Номенклатура,
		|	ВсеТовары.Характеристика                                                                                                КАК Характеристика,
		|	ВсеТовары.ЕдиницаИзмерения                                                                                              КАК ЕдиницаИзмерения,
		|	КоммерческоеПредложениеКлиентуТовары.Количество                                                                         КАК Количество,
		|	КоммерческоеПредложениеКлиентуТовары.Цена                                                                               КАК Цена,
		|	КоммерческоеПредложениеКлиентуТовары.СтавкаНДС                                                                          КАК СтавкаНДС,
		|	КоммерческоеПредложениеКлиентуТовары.СуммаНДС                                                                           КАК СуммаНДС,
		|	КоммерческоеПредложениеКлиентуТовары.Сумма                                                                              КАК СуммаБезНДС,
		|	КоммерческоеПредложениеКлиентуТовары.СуммаСНДС                                                                          КАК СуммаСНДС,
		|	КоммерческоеПредложениеКлиентуТовары.СуммаРучнойСкидки + КоммерческоеПредложениеКлиентуТовары.СуммаАвтоматическойСкидки КАК СуммаСкидки,
		|	ВЫБОР
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки = 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки = 0 ТОГДА 0
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки <> 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки <> 0 ТОГДА -1
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки <> 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки = 0  ТОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки = 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки <> 0 ТОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки
		|	КОНЕЦ                                                                                                                   КАК ПроцентСкидки,
		|	КоммерческоеПредложениеКлиентуТовары.СрокПоставки                                                                       КАК СрокПоставки,
		|	КоммерческоеПредложениеКлиентуТовары.КомментарийДляПокупателя                                                           КАК Комментарий,
		|	КоммерческоеПредложениеКлиенту.ВариантУказанияСрокаПоставки                                                             КАК ВариантУказанияСрокаПоставки
		|ИЗ
		|	Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
		|		ПО КоммерческоеПредложениеКлиентуТовары.Ссылка = КоммерческоеПредложениеКлиенту.Ссылка
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Товары КАК ВсеТовары
		|		ПО КоммерческоеПредложениеКлиентуТовары.НомерСтроки = ВсеТовары.НомерСтроки
		|ГДЕ
		|	КоммерческоеПредложениеКлиентуТовары.Ссылка = &СсылкаНаОбъект
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////6
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	КоммерческоеПредложениеКлиенту.ИдентификаторЗКПВСервисе                                                                           КАК ИдентификаторЗапроса,
		|	КоммерческоеПредложениеКлиенту.Статус                                                                                             КАК Статус,
		|	КоммерческоеПредложениеКлиенту.Проведен                                                                                           КАК Проведен,
		|	КоммерческоеПредложениеКлиенту.Ссылка                                                                                             КАК Ссылка,
		|	КоммерческоеПредложениеКлиенту.Организация                                                                                        КАК Организация,
		|	КоммерческоеПредложениеКлиенту.Контрагент                                                                                         КАК Контрагент,
		|	КоммерческоеПредложениеКлиенту.Менеджер                                                                                           КАК Менеджер,
		|	Пользователи.Наименование                                                                                                         КАК ПредставлениеМенеджера,
		|	КоммерческоеПредложениеКлиенту.УсловияДоставкиТекст                                                                               КАК УсловияДоставки,
		|	КоммерческоеПредложениеКлиенту.УсловияОплатыТекст                                                                                 КАК УсловияОплаты,
		|	КоммерческоеПредложениеКлиенту.ПрочаяДополнительнаяИнформацияТекст                                                                КАК УсловияПрочие,
		|	КоммерческоеПредложениеКлиенту.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийКоммерческихПредложений.ПриемНаКомиссию) КАК ПриемПередачаНаКомиссию,
		|	НЕ КоммерческоеПредложениеКлиенту.МожетВыкупатьсяЧастично                                                                         КАК ВсеИлиНичего,
		|	КоммерческоеПредложениеКлиенту.ЦенаВключаетНДС                                                                                    КАК ЦенаВключаетНДС,
		|	КоммерческоеПредложениеКлиенту.Валюта.Код                                                                                         КАК ВалютаКод,
		|	КоммерческоеПредложениеКлиенту.Валюта.Наименование                                                                                КАК ВалютаНаименование,
		|	НЕ КоммерческоеПредложениеКлиенту.Налогообложение                                                                                 КАК УСН,
		|	КоммерческоеПредложениеКлиенту.СрокДействия                                                                                       КАК СрокДействия,
		|	КоммерческоеПредложениеКлиенту.ДополнительнаяИнформацияКлиентуHTML                                                                КАК ДополнительнаяИнформацияКлиентуHTML
		|ИЗ
		|	Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Валюты КАК Валюты
		|		ПО КоммерческоеПредложениеКлиенту.Валюта = Валюты.Ссылка
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		|		ПО (Пользователи.Ссылка = КоммерческоеПредложениеКлиенту.Менеджер)
		|ГДЕ
		|	КоммерческоеПредложениеКлиенту.Ссылка = &СсылкаНаОбъект";
		
		УсловияЕдиницыИзмерения = "Товары.ЕдиницаИзмерения";
		КоммерческиеПредложенияДокументыПереопределяемый.ПолучитьТекстЗапросаПолученияЕдиницыИзмерения(УсловияЕдиницыИзмерения);
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловияЕдиницыИзмерения", УсловияЕдиницыИзмерения);
		
		Запрос.УстановитьПараметр("СсылкаНаОбъект"        , СсылкаНаОбъект);
		
		РезультатЗапроса = Запрос.ВыполнитьПакет();
		
		ПодготовленныеДанные.РезультатЗапросаНоменклатура           = РезультатЗапроса[1];
		ПодготовленныеДанные.РезультатЗапросаХарактеристика         = РезультатЗапроса[2];
		ПодготовленныеДанные.РезультатЗапросаЕдиницыИзмерения       = РезультатЗапроса[3];
		ПодготовленныеДанные.РезультатЗапросаДляПолученияШтрихкодов = РезультатЗапроса[4];
		ПодготовленныеДанные.РезультатЗапросаТовары                 = РезультатЗапроса[5];
		ПодготовленныеДанные.РезультатЗапросаШапка                  = РезультатЗапроса[6];
	
	КонецЕсли;
	
	Если ПодготовленныеДанные.РезультатЗапросаШапка = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ШапкаЗапроса = ПодготовленныеДанные.РезультатЗапросаШапка; // РезультатЗапроса
	ДанныеШапки = ШапкаЗапроса.Выбрать();
	ДанныеШапки.Следующий();
	
	
КонецПроцедуры

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

Функция ПечатнаяФормаКоммерческоеПредложениеКлиенту(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
	
	УстановитьПривилегированныйРежим(Истина);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	
	ДанныеДляПечати = ДанныеДляПечати(МассивОбъектов, ПараметрыПечати);
	
	ДанныеШапки   = ДанныеДляПечати.РезультатПоШапке.Выбрать(); 
	ТаблицаТовары = ДанныеДляПечати.РезультатПоТоварам.Выгрузить();	
	ТаблицаТоварыДокумента = Новый ТаблицаЗначений;
	Для Каждого КолонкаТаблицыЗначений Из ТаблицаТовары.Колонки Цикл
		ТаблицаТоварыДокумента.Колонки.Добавить(КолонкаТаблицыЗначений.Имя, КолонкаТаблицыЗначений.ТипЗначения);
	КонецЦикла;
	
	ПервыйДокумент = Истина;
	
	Пока ДанныеШапки.Следующий() Цикл
		
		Если Не ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		ТаблицаТоварыДокумента.Очистить();
		
		ПараметрыПоиска = Новый Структура;
		ПараметрыПоиска.Вставить("Ссылка", ДанныеШапки.Ссылка);
		
		НайденныеСтроки = ТаблицаТовары.НайтиСтроки(ПараметрыПоиска);
		
		Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
			НоваяСтрока = ТаблицаТоварыДокумента.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, НайденнаяСтрока);
		КонецЦикла;
		
		ДанныеОбъекта = ДанныеОбъектаПоДаннымДляПечати(ДанныеШапки, ТаблицаТоварыДокумента);
		ЗаполнитьТабличныйДокументКоммерческоеПредложениеКлиенту(ТабличныйДокумент, ДанныеОбъекта, ПараметрыПечати);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеШапки.Ссылка);
		
	КонецЦикла;
	
	Возврат ТабличныйДокумент;
	
КонецФункции

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

Функция ДанныеОбъектаПоДаннымДляПечати(ДанныеШапки, ТаблицаТовары)

	ДанныеОбъекта = Новый Структура;
	

	
	СведенияОрганизации = Новый Структура;
	СведенияОрганизации.Вставить("Наименование");
	СведенияОрганизации.Вставить("ПолноеНаименование");
	СведенияОрганизации.Вставить("Телефоны");
	СведенияОрганизации.Вставить("ЮридическийАдрес");
	СведенияОрганизации.Вставить("ЭлектроннаяПочта");
	
	КоммерческиеПредложенияДокументыПереопределяемый.ЗаполнитьДанныеОрганизации(ДанныеШапки.Организация, СведенияОрганизации);
	
	Если ЗначениеЗаполнено(СведенияОрганизации.ПолноеНаименование) Тогда
		ПредставлениеОрганизации = СведенияОрганизации.ПолноеНаименование;
	Иначе
		ПредставлениеОрганизации = СведенияОрганизации.Наименование;
	КонецЕсли;
	
	
	Если ЗначениеЗаполнено(ДанныеШапки.Менеджер) Тогда
		
		МассивСМенеджером = Новый Массив;
		МассивСМенеджером.Добавить(ДанныеШапки.Менеджер);
		
		ТребуемыеТипыКонтактнойИнформации = Новый Массив;
		ТребуемыеТипыКонтактнойИнформации.Добавить(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
		
		ТаблицаКонтактнойИнформации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(
		                                   МассивСМенеджером,
		                                   ТребуемыеТипыКонтактнойИнформации,,
		                                   ДанныеШапки.Дата);
		
		АдресЭлектроннойПочтыМенеджера = КоммерческиеПредложенияДокументы.ПредставлениеКонтактнойИнформацииИзТаблицы(
		                                   ТаблицаКонтактнойИнформации,
		                                   Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
		
	Иначе
		ТелефонМенеджера = "";
		АдресЭлектроннойПочтыМенеджера   = "";
	КонецЕсли;
	

	ЕстьСкидки = Ложь;
	ДанныеОбъекта.Вставить("СуммаВсего", 0);
	ДанныеОбъекта.Вставить("СуммаВсегоНДС", 0);
	ДанныеОбъекта.Вставить("КоличествоТоваров", 0);
	ДанныеОбъекта.Вставить("Товары", Новый Массив);
	
	Для Каждого СтрокаТовары Из ТаблицаТовары Цикл
		
		Если СтрокаТовары.СуммаСкидки <> 0 Тогда
			ЕстьСкидки = Истина;
		КонецЕсли;
		
		ДанныеОбъекта.СуммаВсего        = ДанныеОбъекта.СуммаВсего + СтрокаТовары.Сумма;
		ДанныеОбъекта.СуммаВсегоНДС     = ДанныеОбъекта.СуммаВсегоНДС + СтрокаТовары.СуммаНДС;
		ДанныеОбъекта.КоличествоТоваров = ДанныеОбъекта.КоличествоТоваров + 1;
		
		СтрокаТаблицыТовары = Новый Структура;
		
		НаименованиеТовара = КоммерческиеПредложенияДокументыКлиентСервер.ПредставлениеНоменклатурыДляПечати(СтрокаТовары.Номенклатура, СтрокаТовары.Характеристика);
		
		СтрокаТаблицыТовары.Вставить("НомерСтроки",      СтрокаТовары.НомерСтроки);
		СтрокаТаблицыТовары.Вставить("Номенклатура",     НаименованиеТовара);
		СтрокаТаблицыТовары.Вставить("Количество",       СтрокаТовары.Количество);
		СтрокаТаблицыТовары.Вставить("ЕдиницаИзмерения", СтрокаТовары.ЕдиницаИзмерения);
		СтрокаТаблицыТовары.Вставить("Цена",             Формат(СтрокаТовары.Цена,"ЧДЦ=2; ЧРД=."));
		СтрокаТаблицыТовары.Вставить("СуммаСНДС",        Формат(СтрокаТовары.СуммаСНДС,"ЧДЦ=2; ЧРД=."));
		СтрокаТаблицыТовары.Вставить("СуммаСкидки",      Формат(СтрокаТовары.СуммаСкидки,"ЧДЦ=2; ЧРД=."));
		СтрокаТаблицыТовары.Вставить("СрокПоставки",     КоммерческиеПредложенияДокументыКлиентСервер.СрокПоставкиСтрокой(ДанныеШапки.ВариантУказанияСрокаПоставки, 
		                                                                                                                  СтрокаТовары.СрокПоставки));
		
		КоммерческиеПредложенияДокументыПереопределяемый.ДополнитьДанныеОбъектаДляПечати(СтрокаТаблицыТовары, СтрокаТовары, ДанныеОбъекта);
		
		ДанныеОбъекта.Товары.Добавить(СтрокаТаблицыТовары);
		
	КонецЦикла;


	ПредставлениеСуммДокумента = КоммерческиеПредложенияДокументы.ПредставлениеСуммДокументаДляПечати(ДанныеШапки,
	                                                                                                  ДанныеОбъекта.СуммаВсего,
	                                                                                                  ДанныеОбъекта.СуммаВсегоНДС,
	                                                                                                  ДанныеОбъекта.КоличествоТоваров);
	
	ДанныеОбъекта.Вставить("Ссылка",                              ДанныеШапки.Ссылка);
	ДанныеОбъекта.Вставить("Организация",                         ДанныеШапки.Организация);
	ДанныеОбъекта.Вставить("ТелефонОрганизации",                  СведенияОрганизации.Телефоны);
	ДанныеОбъекта.Вставить("АдресОрганизации",                    СведенияОрганизации.ЮридическийАдрес);
	ДанныеОбъекта.Вставить("АдресЭлектроннойПочтыОрганизации",    ?(СведенияОрганизации.Свойство("ЭлектроннаяПочта"),СведенияОрганизации.ЭлектроннаяПочта, ""));
	ДанныеОбъекта.Вставить("Клиент",                              ДанныеШапки.Клиент);
	ДанныеОбъекта.Вставить("Контрагент",                          ДанныеШапки.Контрагент);
	ДанныеОбъекта.Вставить("ПредставлениеОрганизации",            ПредставлениеОрганизации);
	ДанныеОбъекта.Вставить("КонтактноеЛицо",                      ДанныеШапки.КонтактноеЛицо);
	ДанныеОбъекта.Вставить("Менеджер",                            ДанныеШапки.Менеджер);
	ДанныеОбъекта.Вставить("АдресЭлектроннойПочтыМенеджера",      АдресЭлектроннойПочтыМенеджера);
	ДанныеОбъекта.Вставить("ТелефонМенеджера",                    ТелефонМенеджера);
	ДанныеОбъекта.Вставить("Номер",                               ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеШапки.Номер, Ложь, Истина));
	ДанныеОбъекта.Вставить("Дата",                                Формат(ДанныеШапки.Дата,"ДЛФ=D"));
	ДанныеОбъекта.Вставить("ВариантУказанияСрокаПоставки",        ДанныеШапки.ВариантУказанияСрокаПоставки);
	ДанныеОбъекта.Вставить("УсловияОплаты",                       ДанныеШапки.УсловияОплаты);
	ДанныеОбъекта.Вставить("УсловияДоставки",                     ДанныеШапки.УсловияДоставки);
	ДанныеОбъекта.Вставить("ПрочиеУсловия",                       ДанныеШапки.ПрочиеУсловия);
	ДанныеОбъекта.Вставить("ИтоговаяСтрока",                      ПредставлениеСуммДокумента.ИтоговаяСтрока);
	ДанныеОбъекта.Вставить("СуммаПрописью",                       ПредставлениеСуммДокумента.СуммаПрописью);
	ДанныеОбъекта.Вставить("ЕстьСкидки",                          ЕстьСкидки);
	ДанныеОбъекта.Вставить("ПредставлениеСрокаДействия",          КоммерческиеПредложенияДокументы.ПредставлениеСрокаДействияДляПечати(ЕстьСкидки, ДанныеШапки.СрокДействия));
	ДанныеОбъекта.Вставить("УсловияПоставкиПредставление",        КоммерческиеПредложенияДокументы.ПредставлениеУсловийПоставкиДляПечати(ДанныеОбъекта.УсловияОплаты, 
	                                                                                                                                     ДанныеОбъекта.УсловияДоставки, 
	                                                                                                                                     ДанныеОбъекта.ПрочиеУсловия));
	
	
	Возврат ДанныеОбъекта;
	
КонецФункции

Функция ДанныеДляПечати(МассивОбъектов, ПараметрыПечати)
	
	СтруктураДанныхДляПечати = Неопределено;
	СтандартнаяОбработка = Истина;
	КоммерческиеПредложенияДокументыПереопределяемый.КоммерческоеПредложениеКлиентуПриФормированииСтруктурыДанных­Печати(
		МассивОбъектов,
		СтруктураДанныхДляПечати,
		ПараметрыПечати,
		СтандартнаяОбработка);
		
	Если Не СтандартнаяОбработка Тогда
		Возврат СтруктураДанныхДляПечати;
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	
	ОтображатьСкидки = Истина;
	Если ПараметрыПечати.Свойство("ОтображатьСкидки")
		И Не ПараметрыПечати.ОтображатьСкидки Тогда
		ОтображатьСкидки = Ложь;
	КонецЕсли;
	
	Запрос.УстановитьПараметр("ОтображатьСкидки", ОтображатьСкидки);
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	КоммерческоеПредложениеКлиенту.Ссылка                              КАК Ссылка,
	|	КоммерческоеПредложениеКлиенту.Дата                                КАК Дата,
	|	КоммерческоеПредложениеКлиенту.Номер                               КАК Номер,
	|	КоммерческоеПредложениеКлиенту.Менеджер                            КАК Менеджер,
	|	КоммерческоеПредложениеКлиенту.КонтактноеЛицо                      КАК КонтактноеЛицо,
	|	КоммерческоеПредложениеКлиенту.Организация                         КАК Организация,
	|	КоммерческоеПредложениеКлиенту.СрокДействия                        КАК СрокДействия,
	|	КоммерческоеПредложениеКлиенту.Валюта                              КАК Валюта,
	|	КоммерческоеПредложениеКлиенту.ЦенаВключаетНДС                     КАК ЦенаВключаетНДС,
	|	КоммерческоеПредложениеКлиенту.Налогообложение                     КАК УчитыватьНДС,
	|	КоммерческоеПредложениеКлиенту.УсловияДоставкиТекст                КАК УсловияДоставки,
	|	КоммерческоеПредложениеКлиенту.УсловияОплатыТекст                  КАК УсловияОплаты,
	|	КоммерческоеПредложениеКлиенту.ПрочаяДополнительнаяИнформацияТекст КАК ПрочиеУсловия,
	|	КоммерческоеПредложениеКлиенту.Клиент                              КАК Клиент,
	|	КоммерческоеПредложениеКлиенту.Контрагент                          КАК Контрагент,
	|	КоммерческоеПредложениеКлиенту.ВариантУказанияСрокаПоставки        КАК ВариантУказанияСрокаПоставки,
	|	КоммерческоеПредложениеКлиенту.МожетВыкупатьсяЧастично             КАК МожетВыкупатьсяЧастично
	|ИЗ
	|	Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
	|ГДЕ
	|	КоммерческоеПредложениеКлиенту.Ссылка В(&МассивОбъектов)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	Товары.Ссылка                                                   КАК Ссылка,
	|	Товары.НомерСтроки                                              КАК НомерСтроки,
	|	Товары.Номенклатура                                             КАК Номенклатура,
	|	Товары.Характеристика                                           КАК Характеристика,
	|	Товары.СуммаРучнойСкидки + Товары.СуммаАвтоматическойСкидки     КАК СуммаСкидки,
	|	Товары.ПроцентРучнойСкидки + Товары.ПроцентАвтоматическойСкидки КАК ПроцентСкидки,
	|	&УсловияЕдиницыИзмерения                                        КАК ЕдиницаИзмерения,
	|	Товары.Количество                                               КАК Количество,
	|ВЫБОР
	|	КОГДА &ОтображатьСкидки
	|		ТОГДА Товары.Цена
	|	ИНАЧЕ ВЫБОР
	|			КОГДА Товары.Количество = 0
	|				ТОГДА 0
	|			ИНАЧЕ Товары.Сумма / Товары.Количество
	|		КОНЕЦ
	|КОНЕЦ                                                              КАК Цена,
	|	Товары.СуммаСНДС                                                КАК СуммаСНДС,
	|	Товары.Сумма                                                    КАК Сумма,
	|	Товары.СуммаНДС                                                 КАК СуммаНДС,
	|	Товары.СрокПоставки                                             КАК СрокПоставки
	|ИЗ
	|	Документ.КоммерческоеПредложениеКлиенту.Товары КАК Товары
	|ГДЕ
	|	Товары.Ссылка В(&МассивОбъектов)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка,
	|	НомерСтроки";
	
	УсловияЕдиницыИзмерения = "Товары.ЕдиницаИзмерения";
	КоммерческиеПредложенияДокументыПереопределяемый.ПолучитьТекстЗапросаПолученияЕдиницыИзмерения(УсловияЕдиницыИзмерения);
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловияЕдиницыИзмерения", УсловияЕдиницыИзмерения);
	
	ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет(); // Массив из ВыборкаИзРезультатаЗапроса
	
	СтруктураДанныхДляПечати = Новый Структура;
	СтруктураДанныхДляПечати.Вставить("РезультатПоШапке",   ПакетРезультатовЗапроса[0]);
	СтруктураДанныхДляПечати.Вставить("РезультатПоТоварам", ПакетРезультатовЗапроса[1]);
	
	Возврат СтруктураДанныхДляПечати;
	
КонецФункции
Показать
15. ilnur75 29.07.22 15:27 Сейчас в теме
(14)
есть шаблон подключения внешней печатки.


сейчас это лишнее Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

вставьте измененную на свои данные в параметры регистрации

Функция СведенияОВнешнейОбработке() Экспорт //ссылается еще на одну процедуру и функцию:

ПараметрыРегистрации = Новый Структура;

// заполнение структуры
// ...

ДобавитьКоманды(ТаблицаКоманд,
"Форма Т-11а Внешняя обработка",
"ПФ_MXL_ПриказОПоощренииТ11а",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

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


Процедура ДобавитьКоманды(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
Показать
16. Palm 29.07.22 15:40 Сейчас в теме
(15) что я опять не так сделал ?

Функция  СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	МассивНазначений.Добавить("Документ.КоммерческоеПредложениеКлиенту");
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Коммерческое предложение РИ (дополнительная печатная форма)");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Версия", "1.0");    
	ПараметрыРегистрации.Вставить("Информация", "Печатная форма к документу Коммерческое предложение клиенту");
    ТаблицаКоманд = ПолучитьТаблицуКоманд(); 
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);  
	
	
	Возврат ПараметрыРегистрации;
КонецФункции     
  Процедура ДобавитьКоманды(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

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

Показать
Прикрепленные файлы:
21. FatPanzer 29.07.22 16:06 Сейчас в теме
(16) Назвал переменную неправильно. Потому что Команды - это коллекция объектов метаданных самой обработки.
За использование зарезервированных слов в качестве именования переменных - оставляют на второй год.
22. Palm 29.07.22 16:09 Сейчас в теме
(21)не понимаю можно "пальцем ткнуть "
25. FatPanzer 29.07.22 16:43 Сейчас в теме
(22) Какое из моих слов написано непонятно?
23. Palm 29.07.22 16:24 Сейчас в теме
(21) ну я только учусь
и не понимаю вообще не чего
17. ilnur75 29.07.22 15:47 Сейчас в теме
потому что забыли вставить код из моего сообщения выше.

вставить надо после ТаблицаКоманд = ПолучитьТаблицуКоманд();
измените 2-й и 3-й параметры на свои.

продублирую

ДобавитьКоманды(ТаблицаКоманд,
"Форма Т-11а Внешняя обработка",
"ПФ_MXL_ПриказОПоощренииТ11а",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
18. Palm 29.07.22 15:53 Сейчас в теме
(17)так ?

 ТаблицаКоманд = ПолучитьТаблицуКоманд(ДобавитьКоманды(ТаблицаКоманд, "Форма Внешняя обработка", "ПФ_MXL_КоммерческоеПредложение1", "ВызовСерверногоМетода",Истина,"ПечатьMXL"));

19. ilnur75 29.07.22 15:55 Сейчас в теме
20. Palm 29.07.22 15:58 Сейчас в теме
(19)
Прикрепленные файлы:
24. Palm 29.07.22 16:35 Сейчас в теме
мои полномочия на этом все. Если кто-то мог бы мне помочь чтобы это работало буду благодарен






Функция  СведенияОВнешнейОбработке() Экспорт
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	МассивНазначений.Добавить("Документ.КоммерческоеПредложениеКлиенту");
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Коммерческое предложение РИ (дополнительная печатная форма)");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Версия", "1.0");    
	ПараметрыРегистрации.Вставить("Информация", "Печатная форма к документу Коммерческое предложение клиенту");
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
	ДобавитьКоманды(ТаблицаКоманд,  "Форма Внешняя обработка","ПФ_MXL_КоммерческоеПредложение1","ВызовСерверногоМетода",Истина,"ПечатьMXL");

                            
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);; 
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);  
	
	
	Возврат ПараметрыРегистрации;
КонецФункции     
  Процедура ДобавитьКоманды(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

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

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

Процедура ЗаполнитьДанныеПоКоммерческомуПредложению(Знач СсылкаНаОбъект, ДанныеДокумента, Отказ) Экспорт
	
	ТипыДанныхЭлектронныхДокументов = КоммерческиеПредложенияДокументы.ТипыДанныхЭлектронныхДокументов();
	
	СтандартнаяОбработка = Истина;
	ПодготовленныеДанные = Новый Структура;
	ПодготовленныеДанные.Вставить("РезультатЗапросаНоменклатура");
	ПодготовленныеДанные.Вставить("РезультатЗапросаХарактеристика"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаЕдиницыИзмерения"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаДляПолученияШтрихкодов"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаТовары"); 
	ПодготовленныеДанные.Вставить("РезультатЗапросаШапка"); 
	
	КоммерческиеПредложенияДокументыПереопределяемый.ПриЗаполненииДанныхЭлектронногоДокумента(СсылкаНаОбъект, ПодготовленныеДанные, СтандартнаяОбработка);
	
	Если СтандартнаяОбработка Тогда
	
		Запрос = Новый Запрос;
		Запрос.Текст = "
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Товары.НомерСтроки         КАК НомерСтроки,
		|	Товары.Номенклатура        КАК Номенклатура,
		|	Товары.Характеристика      КАК Характеристика,
		|	&УсловияЕдиницыИзмерения   КАК ЕдиницаИзмерения,
		|	Товары.Ссылка              КАК Ссылка
		|ПОМЕСТИТЬ Товары
		|ИЗ
		|	Документ.КоммерческоеПредложениеКлиенту.Товары КАК Товары
		|ГДЕ
		|	Товары.Ссылка = &СсылкаНаОбъект
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////1
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.Номенклатура КАК Номенклатура
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////2
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.Характеристика КАК Характеристика
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////3
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////4
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	Товары.Номенклатура     КАК Номенклатура,
		|	Товары.Характеристика   КАК Характеристика,
		|	Товары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
		|ИЗ
		|	Товары КАК Товары
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////5
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	КоммерческоеПредложениеКлиентуТовары.НомерСтроки                                                                        КАК НомерСтроки,
		|	КоммерческоеПредложениеКлиентуТовары.ИдентификаторСтрокиЗапроса                                                         КАК ИдентификаторСтроки,
		|	ВсеТовары.Номенклатура                                                                                                  КАК Номенклатура,
		|	ВсеТовары.Характеристика                                                                                                КАК Характеристика,
		|	ВсеТовары.ЕдиницаИзмерения                                                                                              КАК ЕдиницаИзмерения,
		|	КоммерческоеПредложениеКлиентуТовары.Количество                                                                         КАК Количество,
		|	КоммерческоеПредложениеКлиентуТовары.Цена                                                                               КАК Цена,
		|	КоммерческоеПредложениеКлиентуТовары.СтавкаНДС                                                                          КАК СтавкаНДС,
		|	КоммерческоеПредложениеКлиентуТовары.СуммаНДС                                                                           КАК СуммаНДС,
		|	КоммерческоеПредложениеКлиентуТовары.Сумма                                                                              КАК СуммаБезНДС,
		|	КоммерческоеПредложениеКлиентуТовары.СуммаСНДС                                                                          КАК СуммаСНДС,
		|	КоммерческоеПредложениеКлиентуТовары.СуммаРучнойСкидки + КоммерческоеПредложениеКлиентуТовары.СуммаАвтоматическойСкидки КАК СуммаСкидки,
		|	ВЫБОР
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки = 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки = 0 ТОГДА 0
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки <> 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки <> 0 ТОГДА -1
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки <> 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки = 0  ТОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки
		|		КОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентАвтоматическойСкидки = 0 И КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки <> 0 ТОГДА КоммерческоеПредложениеКлиентуТовары.ПроцентРучнойСкидки
		|	КОНЕЦ                                                                                                                   КАК ПроцентСкидки,
		|	КоммерческоеПредложениеКлиентуТовары.СрокПоставки                                                                       КАК СрокПоставки,
		|	КоммерческоеПредложениеКлиентуТовары.КомментарийДляПокупателя                                                           КАК Комментарий,
		|	КоммерческоеПредложениеКлиенту.ВариантУказанияСрокаПоставки                                                             КАК ВариантУказанияСрокаПоставки
		|ИЗ
		|	Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
		|		ПО КоммерческоеПредложениеКлиентуТовары.Ссылка = КоммерческоеПредложениеКлиенту.Ссылка
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Товары КАК ВсеТовары
		|		ПО КоммерческоеПредложениеКлиентуТовары.НомерСтроки = ВсеТовары.НомерСтроки
		|ГДЕ
		|	КоммерческоеПредложениеКлиентуТовары.Ссылка = &СсылкаНаОбъект
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////6
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	КоммерческоеПредложениеКлиенту.ИдентификаторЗКПВСервисе                                                                           КАК ИдентификаторЗапроса,
		|	КоммерческоеПредложениеКлиенту.Статус                                                                                             КАК Статус,
		|	КоммерческоеПредложениеКлиенту.Проведен                                                                                           КАК Проведен,
		|	КоммерческоеПредложениеКлиенту.Ссылка                                                                                             КАК Ссылка,
		|	КоммерческоеПредложениеКлиенту.Организация                                                                                        КАК Организация,
		|	КоммерческоеПредложениеКлиенту.Контрагент                                                                                         КАК Контрагент,
		|	КоммерческоеПредложениеКлиенту.Менеджер                                                                                           КАК Менеджер,
		|	Пользователи.Наименование                                                                                                         КАК ПредставлениеМенеджера,
		|	КоммерческоеПредложениеКлиенту.УсловияДоставкиТекст                                                                               КАК УсловияДоставки,
		|	КоммерческоеПредложениеКлиенту.УсловияОплатыТекст                                                                                 КАК УсловияОплаты,
		|	КоммерческоеПредложениеКлиенту.ПрочаяДополнительнаяИнформацияТекст                                                                КАК УсловияПрочие,
		|	КоммерческоеПредложениеКлиенту.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийКоммерческихПредложений.ПриемНаКомиссию) КАК ПриемПередачаНаКомиссию,
		|	НЕ КоммерческоеПредложениеКлиенту.МожетВыкупатьсяЧастично                                                                         КАК ВсеИлиНичего,
		|	КоммерческоеПредложениеКлиенту.ЦенаВключаетНДС                                                                                    КАК ЦенаВключаетНДС,
		|	КоммерческоеПредложениеКлиенту.Валюта.Код                                                                                         КАК ВалютаКод,
		|	КоммерческоеПредложениеКлиенту.Валюта.Наименование                                                                                КАК ВалютаНаименование,
		|	НЕ КоммерческоеПредложениеКлиенту.Налогообложение                                                                                 КАК УСН,
		|	КоммерческоеПредложениеКлиенту.СрокДействия                                                                                       КАК СрокДействия,
		|	КоммерческоеПредложениеКлиенту.ДополнительнаяИнформацияКлиентуHTML                                                                КАК ДополнительнаяИнформацияКлиентуHTML
		|ИЗ
		|	Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Валюты КАК Валюты
		|		ПО КоммерческоеПредложениеКлиенту.Валюта = Валюты.Ссылка
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
		|		ПО (Пользователи.Ссылка = КоммерческоеПредложениеКлиенту.Менеджер)
		|ГДЕ
		|	КоммерческоеПредложениеКлиенту.Ссылка = &СсылкаНаОбъект";
		
		УсловияЕдиницыИзмерения = "Товары.ЕдиницаИзмерения";
		КоммерческиеПредложенияДокументыПереопределяемый.ПолучитьТекстЗапросаПолученияЕдиницыИзмерения(УсловияЕдиницыИзмерения);
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловияЕдиницыИзмерения", УсловияЕдиницыИзмерения);
		
		Запрос.УстановитьПараметр("СсылкаНаОбъект"        , СсылкаНаОбъект);
		
		РезультатЗапроса = Запрос.ВыполнитьПакет();
		
		ПодготовленныеДанные.РезультатЗапросаНоменклатура           = РезультатЗапроса[1];
		ПодготовленныеДанные.РезультатЗапросаХарактеристика         = РезультатЗапроса[2];
		ПодготовленныеДанные.РезультатЗапросаЕдиницыИзмерения       = РезультатЗапроса[3];
		ПодготовленныеДанные.РезультатЗапросаДляПолученияШтрихкодов = РезультатЗапроса[4];
		ПодготовленныеДанные.РезультатЗапросаТовары                 = РезультатЗапроса[5];
		ПодготовленныеДанные.РезультатЗапросаШапка                  = РезультатЗапроса[6];
	
	КонецЕсли;
	
	Если ПодготовленныеДанные.РезультатЗапросаШапка = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ШапкаЗапроса = ПодготовленныеДанные.РезультатЗапросаШапка; // РезультатЗапроса
	ДанныеШапки = ШапкаЗапроса.Выбрать();
	ДанныеШапки.Следующий();
	
	
КонецПроцедуры

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

Функция ПечатнаяФормаКоммерческоеПредложениеКлиенту(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
	
	УстановитьПривилегированныйРежим(Истина);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	
	ДанныеДляПечати = ДанныеДляПечати(МассивОбъектов, ПараметрыПечати);
	
	ДанныеШапки   = ДанныеДляПечати.РезультатПоШапке.Выбрать(); 
	ТаблицаТовары = ДанныеДляПечати.РезультатПоТоварам.Выгрузить();	
	ТаблицаТоварыДокумента = Новый ТаблицаЗначений;
	Для Каждого КолонкаТаблицыЗначений Из ТаблицаТовары.Колонки Цикл
		ТаблицаТоварыДокумента.Колонки.Добавить(КолонкаТаблицыЗначений.Имя, КолонкаТаблицыЗначений.ТипЗначения);
	КонецЦикла;
	
	ПервыйДокумент = Истина;
	
	Пока ДанныеШапки.Следующий() Цикл
		
		Если Не ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		ТаблицаТоварыДокумента.Очистить();
		
		ПараметрыПоиска = Новый Структура;
		ПараметрыПоиска.Вставить("Ссылка", ДанныеШапки.Ссылка);
		
		НайденныеСтроки = ТаблицаТовары.НайтиСтроки(ПараметрыПоиска);
		
		Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
			НоваяСтрока = ТаблицаТоварыДокумента.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, НайденнаяСтрока);
		КонецЦикла;
		
		ДанныеОбъекта = ДанныеОбъектаПоДаннымДляПечати(ДанныеШапки, ТаблицаТоварыДокумента);
		ЗаполнитьТабличныйДокументКоммерческоеПредложениеКлиенту(ТабличныйДокумент, ДанныеОбъекта, ПараметрыПечати);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеШапки.Ссылка);
		
	КонецЦикла;
	
	Возврат ТабличныйДокумент;
	
КонецФункции

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

Функция ДанныеОбъектаПоДаннымДляПечати(ДанныеШапки, ТаблицаТовары)

	ДанныеОбъекта = Новый Структура;
	

	
	СведенияОрганизации = Новый Структура;
	СведенияОрганизации.Вставить("Наименование");
	СведенияОрганизации.Вставить("ПолноеНаименование");
	СведенияОрганизации.Вставить("Телефоны");
	СведенияОрганизации.Вставить("ЮридическийАдрес");
	СведенияОрганизации.Вставить("ЭлектроннаяПочта");
	
	КоммерческиеПредложенияДокументыПереопределяемый.ЗаполнитьДанныеОрганизации(ДанныеШапки.Организация, СведенияОрганизации);
	
	Если ЗначениеЗаполнено(СведенияОрганизации.ПолноеНаименование) Тогда
		ПредставлениеОрганизации = СведенияОрганизации.ПолноеНаименование;
	Иначе
		ПредставлениеОрганизации = СведенияОрганизации.Наименование;
	КонецЕсли;
	
	
	Если ЗначениеЗаполнено(ДанныеШапки.Менеджер) Тогда
		
		МассивСМенеджером = Новый Массив;
		МассивСМенеджером.Добавить(ДанныеШапки.Менеджер);
		
		ТребуемыеТипыКонтактнойИнформации = Новый Массив;
		ТребуемыеТипыКонтактнойИнформации.Добавить(Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
		
		ТаблицаКонтактнойИнформации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(
		                                   МассивСМенеджером,
		                                   ТребуемыеТипыКонтактнойИнформации,,
		                                   ДанныеШапки.Дата);
		
		АдресЭлектроннойПочтыМенеджера = КоммерческиеПредложенияДокументы.ПредставлениеКонтактнойИнформацииИзТаблицы(
		                                   ТаблицаКонтактнойИнформации,
		                                   Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
		
	Иначе
		ТелефонМенеджера = "";
		АдресЭлектроннойПочтыМенеджера   = "";
	КонецЕсли;
	

	ЕстьСкидки = Ложь;
	ДанныеОбъекта.Вставить("СуммаВсего", 0);
	ДанныеОбъекта.Вставить("СуммаВсегоНДС", 0);
	ДанныеОбъекта.Вставить("КоличествоТоваров", 0);
	ДанныеОбъекта.Вставить("Товары", Новый Массив);
	
	Для Каждого СтрокаТовары Из ТаблицаТовары Цикл
		
		Если СтрокаТовары.СуммаСкидки <> 0 Тогда
			ЕстьСкидки = Истина;
		КонецЕсли;
		
		ДанныеОбъекта.СуммаВсего        = ДанныеОбъекта.СуммаВсего + СтрокаТовары.Сумма;
		ДанныеОбъекта.СуммаВсегоНДС     = ДанныеОбъекта.СуммаВсегоНДС + СтрокаТовары.СуммаНДС;
		ДанныеОбъекта.КоличествоТоваров = ДанныеОбъекта.КоличествоТоваров + 1;
		
		СтрокаТаблицыТовары = Новый Структура;
		
		НаименованиеТовара = КоммерческиеПредложенияДокументыКлиентСервер.ПредставлениеНоменклатурыДляПечати(СтрокаТовары.Номенклатура, СтрокаТовары.Характеристика);
		
		СтрокаТаблицыТовары.Вставить("НомерСтроки",      СтрокаТовары.НомерСтроки);
		СтрокаТаблицыТовары.Вставить("Номенклатура",     НаименованиеТовара);
		СтрокаТаблицыТовары.Вставить("Количество",       СтрокаТовары.Количество);
		СтрокаТаблицыТовары.Вставить("ЕдиницаИзмерения", СтрокаТовары.ЕдиницаИзмерения);
		СтрокаТаблицыТовары.Вставить("Цена",             Формат(СтрокаТовары.Цена,"ЧДЦ=2; ЧРД=."));
		СтрокаТаблицыТовары.Вставить("СуммаСНДС",        Формат(СтрокаТовары.СуммаСНДС,"ЧДЦ=2; ЧРД=."));
		СтрокаТаблицыТовары.Вставить("СуммаСкидки",      Формат(СтрокаТовары.СуммаСкидки,"ЧДЦ=2; ЧРД=."));
		СтрокаТаблицыТовары.Вставить("СрокПоставки",     КоммерческиеПредложенияДокументыКлиентСервер.СрокПоставкиСтрокой(ДанныеШапки.ВариантУказанияСрокаПоставки, 
		                                                                                                                  СтрокаТовары.СрокПоставки));
		
		КоммерческиеПредложенияДокументыПереопределяемый.ДополнитьДанныеОбъектаДляПечати(СтрокаТаблицыТовары, СтрокаТовары, ДанныеОбъекта);
		
		ДанныеОбъекта.Товары.Добавить(СтрокаТаблицыТовары);
		
	КонецЦикла;


	ПредставлениеСуммДокумента = КоммерческиеПредложенияДокументы.ПредставлениеСуммДокументаДляПечати(ДанныеШапки,
	                                                                                                  ДанныеОбъекта.СуммаВсего,
	                                                                                                  ДанныеОбъекта.СуммаВсегоНДС,
	                                                                                                  ДанныеОбъекта.КоличествоТоваров);
	
	ДанныеОбъекта.Вставить("Ссылка",                              ДанныеШапки.Ссылка);
	ДанныеОбъекта.Вставить("Организация",                         ДанныеШапки.Организация);
	ДанныеОбъекта.Вставить("ТелефонОрганизации",                  СведенияОрганизации.Телефоны);
	ДанныеОбъекта.Вставить("АдресОрганизации",                    СведенияОрганизации.ЮридическийАдрес);
	ДанныеОбъекта.Вставить("АдресЭлектроннойПочтыОрганизации",    ?(СведенияОрганизации.Свойство("ЭлектроннаяПочта"),СведенияОрганизации.ЭлектроннаяПочта, ""));
	ДанныеОбъекта.Вставить("Клиент",                              ДанныеШапки.Клиент);
	ДанныеОбъекта.Вставить("Контрагент",                          ДанныеШапки.Контрагент);
	ДанныеОбъекта.Вставить("ПредставлениеОрганизации",            ПредставлениеОрганизации);
	ДанныеОбъекта.Вставить("КонтактноеЛицо",                      ДанныеШапки.КонтактноеЛицо);
	ДанныеОбъекта.Вставить("Менеджер",                            ДанныеШапки.Менеджер);
	ДанныеОбъекта.Вставить("АдресЭлектроннойПочтыМенеджера",      АдресЭлектроннойПочтыМенеджера);
	ДанныеОбъекта.Вставить("ТелефонМенеджера",                    ТелефонМенеджера);
	ДанныеОбъекта.Вставить("Номер",                               ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеШапки.Номер, Ложь, Истина));
	ДанныеОбъекта.Вставить("Дата",                                Формат(ДанныеШапки.Дата,"ДЛФ=D"));
	ДанныеОбъекта.Вставить("ВариантУказанияСрокаПоставки",        ДанныеШапки.ВариантУказанияСрокаПоставки);
	ДанныеОбъекта.Вставить("УсловияОплаты",                       ДанныеШапки.УсловияОплаты);
	ДанныеОбъекта.Вставить("УсловияДоставки",                     ДанныеШапки.УсловияДоставки);
	ДанныеОбъекта.Вставить("ПрочиеУсловия",                       ДанныеШапки.ПрочиеУсловия);
	ДанныеОбъекта.Вставить("ИтоговаяСтрока",                      ПредставлениеСуммДокумента.ИтоговаяСтрока);
	ДанныеОбъекта.Вставить("СуммаПрописью",                       ПредставлениеСуммДокумента.СуммаПрописью);
	ДанныеОбъекта.Вставить("ЕстьСкидки",                          ЕстьСкидки);
	ДанныеОбъекта.Вставить("ПредставлениеСрокаДействия",          КоммерческиеПредложенияДокументы.ПредставлениеСрокаДействияДляПечати(ЕстьСкидки, ДанныеШапки.СрокДействия));
	ДанныеОбъекта.Вставить("УсловияПоставкиПредставление",        КоммерческиеПредложенияДокументы.ПредставлениеУсловийПоставкиДляПечати(ДанныеОбъекта.УсловияОплаты, 
	                                                                                                                                     ДанныеОбъекта.УсловияДоставки, 
	                                                                                                                                     ДанныеОбъекта.ПрочиеУсловия));
	
	
	Возврат ДанныеОбъекта;
	
КонецФункции

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

Показать
26. FatPanzer 29.07.22 16:45 Сейчас в теме
(24)
Если кто-то мог бы мне помочь чтобы это работало буду благодарен
Цену благодарности озвучите сами или мне назвать?
27. Palm 29.07.22 16:47 Сейчас в теме
(26)3000 в час?
я бы уже проще заплатил были бы деньги
29. FatPanzer 29.07.22 16:57 Сейчас в теме
(27) "Нету ручек - нет конфетки". Найдите лучше деньги на собственное обучение.
28. EVKash 14 29.07.22 16:50 Сейчас в теме
(24) как минимум привести в соответствие
ДобавитьКоманды(ТаблицаКоманд, "Форма Внешняя обработка","ПФ_MXL_КоммерческоеПредложение1","ВызовСерверногоМетода",Истина,"ПечатьMXL");

(24)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "КоммерческоеПредложениеКлиенту") Тогда

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"КоммерческоеПредложениеКлиенту",
НСтр("ru = 'Коммерческое предложение клиенту'"),
ПечатнаяФормаКоммерческоеПредложениеКлиенту(МассивОбъектов, ОбъектыПечати, ));

КонецЕсли;

Или ПФ_MXL_КоммерческоеПредложение1 или КоммерческоеПредложениеКлиенту везде.
FatPanzer; +1 Ответить
31. DesertPunk 29.07.22 18:02 Сейчас в теме
(24) Вот работающая внешняя печатная форма для Бухни. Попробуй использовать в качестве ориентира
Прикрепленные файлы:
MX3_30.epf
30. ilnur75 29.07.22 17:43 Сейчас в теме
те же самые грабли что и в ветке форума (см.выше пост).
да и нет что ли в конфигурации внешних печатных форм чтобы посмотреть как подключить ее?
32. Palm 29.07.22 18:27 Сейчас в теме
33. FatPanzer 29.07.22 18:40 Сейчас в теме
(32) Сам себе лайк не поставишь - считай и жизнь зазря прошла.
35. EVKash 14 30.07.22 09:50 Сейчас в теме
(32) рад, что поправил направление)
34. EVKash 14 30.07.22 09:47 Сейчас в теме
(33) так лайки публикациям ставить надо
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот