1С:Комплексная автоматизация 1.х
1С:Комплексная автоматизация 2.х
Платформа 1С v8.3
1С
Печатная форма (mxl)
не могу наладить печатную форму выдает ошибку
{(295, 36)}: Неверные параметры "УпаковкиНоменклатуры.ПустаяСсылка"
КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(<<?>>УпаковкиНоменклатуры.ПустаяСсылка)
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(495)}:ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(48)}:ДанныеДляПечати = ПолучитьДанныеДляПечати(МассивОбъектов);
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(36)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВПФКоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати));
{ОбщийМодуль.УправлениеПечатью.Модуль(1653)}:ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(533)}:УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(49)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(236)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(143)}:ВыполнитьОбработкуОповещения(ОписаниеПроцедурыЗавершения, СписокДокументов);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(32)}:УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, ОбъектыНазначения, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}:МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}:ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}:МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}:ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(257)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(1394)}:ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
по причине:
{(295, 36)}: Неверные параметры "УпаковкиНоменклатуры.ПустаяСсылка"
КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(<<?>>УпаковкиНоменклатуры.ПустаяСсылка)
ПоказатьПо теме из базы знаний
- Внешние печатные формы для нетиповой конфигурации (управляемое приложение)
- Создание динамически подгружаемых печатных форм на 8.2, как это было реализовано в 1С:7.7
- Акт выполненных работ для тех кто экономит бумагу
- Программное формирование существующих печатных форм
- [Расширение] Контроль печатных форм документов для УТ 11/КА 2
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) {(12, 10)}: Поле не найдено "Таблица.КоличествоУпаковок"
Таблица.<<?>>КоличествоУпаковок КАК КоличествоУпаковок,
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(495)}:ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(48)}:ДанныеДляПечати = ПолучитьДанныеДляПечати(МассивОбъектов);
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(36)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВПФКоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати));
{ОбщийМодуль.УправлениеПечатью.Модуль(1653)}:ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(533)}:УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(49)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(236)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(143)}:ВыполнитьОбработкуОповещения(ОписаниеПроцедурыЗавершения, СписокДокументов);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(32)}:УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, ОбъектыНазначения, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}:МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}:ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}:МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}:ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(257)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(1394)}:ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
по причине:
{(12, 10)}: Поле не найдено "Таблица.КоличествоУпаковок"
Таблица.<<?>>КоличествоУпаковок КАК КоличествоУпаковок,
Таблица.<<?>>КоличествоУпаковок КАК КоличествоУпаковок,
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(495)}:ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(48)}:ДанныеДляПечати = ПолучитьДанныеДляПечати(МассивОбъектов);
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(36)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВПФКоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати));
{ОбщийМодуль.УправлениеПечатью.Модуль(1653)}:ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(533)}:УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(49)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(236)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(143)}:ВыполнитьОбработкуОповещения(ОписаниеПроцедурыЗавершения, СписокДокументов);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(32)}:УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, ОбъектыНазначения, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(482)}:МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(260)}:ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(95)}:МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}:ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(257)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(64)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(1394)}:ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
по причине:
{(12, 10)}: Поле не найдено "Таблица.КоличествоУпаковок"
Таблица.<<?>>КоличествоУпаковок КАК КоличествоУпаковок,
(9) а что не понятно? На пальцах...
Вот есть например упаковка 10шт. Тогда если количество упаковок 2, то количество будет 10*2=20
Это нужно для документов двигающих остатки. Коммерческое предложение к таким не относится и разработчики решили этот реквизит удалить в КП.
(10) Посмотрел повнимательнее... У вас там все наперекосяк. Наверно за основу брали очень старую обработку. Надо исправлять. Посмотрите в модуле менеджера КП, как сейчас формируется печатная форма. И по аналогии...
Вот есть например упаковка 10шт. Тогда если количество упаковок 2, то количество будет 10*2=20
Это нужно для документов двигающих остатки. Коммерческое предложение к таким не относится и разработчики решили этот реквизит удалить в КП.
(10) Посмотрел повнимательнее... У вас там все наперекосяк. Наверно за основу брали очень старую обработку. Надо исправлять. Посмотрите в модуле менеджера КП, как сейчас формируется печатная форма. И по аналогии...
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(12,2)}: Процедура или функция с указанным именем не определена (ДобавитьКоманду)
<<?>>ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), "КоммерческоеПредложение", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); (Проверка: Сервер)
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(78,182)}: Процедура или функция с указанным именем не определена (СформироватьПечатнуюФормуКоммерческогоПредложения)
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "КоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), <<?>>СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати)); (Проверка: Сервер)
<<?>>ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), "КоммерческоеПредложение", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); (Проверка: Сервер)
{ВнешняяОбработка.ПечатнаяФормуКП.МодульОбъекта(78,182)}: Процедура или функция с указанным именем не определена (СформироватьПечатнуюФормуКоммерческогоПредложения)
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "КоммерческоеПредложение", НСтр("ru = 'Коммерческое предложение РИ (дополнительная печатная форма)'"), <<?>>СформироватьПечатнуюФормуКоммерческогоПредложения(МассивОбъектов, ОбъектыПечати)); (Проверка: Сервер)
(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]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Показать
(14)
есть шаблон подключения внешней печатки.
сейчас это лишнее Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
вставьте измененную на свои данные в параметры регистрации
Функция СведенияОВнешнейОбработке() Экспорт //ссылается еще на одну процедуру и функцию:
ПараметрыРегистрации = Новый Структура;
// заполнение структуры
// ...
ДобавитьКоманды(ТаблицаКоманд,
"Форма Т-11а Внешняя обработка",
"ПФ_MXL_ПриказОПоощренииТ11а",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
есть шаблон подключения внешней печатки.
сейчас это лишнее Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
вставьте измененную на свои данные в параметры регистрации
Функция СведенияОВнешнейОбработке() Экспорт //ссылается еще на одну процедуру и функцию:
ПараметрыРегистрации = Новый Структура;
// заполнение структуры
// ...
ДобавитьКоманды(ТаблицаКоманд,
"Форма Т-11а Внешняя обработка",
"ПФ_MXL_ПриказОПоощренииТ11а",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ДобавитьКоманды(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Показать
(15) что я опять не так сделал ?
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
МассивНазначений.Добавить("Документ.КоммерческоеПредложениеКлиенту");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Коммерческое предложение РИ (дополнительная печатная форма)");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Печатная форма к документу Коммерческое предложение клиенту");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ДобавитьКоманды(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
ПоказатьПрикрепленные файлы:
![](/upload/forum/upload/c8e/c8e9b8de3d73e208939b9fadc3b87520.png)
потому что забыли вставить код из моего сообщения выше.
вставить надо после ТаблицаКоманд = ПолучитьТаблицуКоманд();
измените 2-й и 3-й параметры на свои.
продублирую
ДобавитьКоманды(ТаблицаКоманд,
"Форма Т-11а Внешняя обработка",
"ПФ_MXL_ПриказОПоощренииТ11а",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
вставить надо после ТаблицаКоманд = ПолучитьТаблицуКоманд();
измените 2-й и 3-й параметры на свои.
продублирую
ДобавитьКоманды(ТаблицаКоманд,
"Форма Т-11а Внешняя обработка",
"ПФ_MXL_ПриказОПоощренииТ11а",
"ВызовСерверногоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
мои полномочия на этом все. Если кто-то мог бы мне помочь чтобы это работало буду благодарен
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
МассивНазначений.Добавить("Документ.КоммерческоеПредложениеКлиенту");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Коммерческое предложение РИ (дополнительная печатная форма)");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Версия", "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]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Показать
(24) как минимум привести в соответствие
(24)
Или ПФ_MXL_КоммерческоеПредложение1 или КоммерческоеПредложениеКлиенту везде.
ДобавитьКоманды(ТаблицаКоманд, "Форма Внешняя обработка","ПФ_MXL_КоммерческоеПредложение1","ВызовСерверногоМетода",Истина,"ПечатьMXL");
(24)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "КоммерческоеПредложениеКлиенту") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"КоммерческоеПредложениеКлиенту",
НСтр("ru = 'Коммерческое предложение клиенту'"),
ПечатнаяФормаКоммерческоеПредложениеКлиенту(МассивОбъектов, ОбъектыПечати, ));
КонецЕсли;
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"КоммерческоеПредложениеКлиенту",
НСтр("ru = 'Коммерческое предложение клиенту'"),
ПечатнаяФормаКоммерческоеПредложениеКлиенту(МассивОбъектов, ОбъектыПечати, ));
КонецЕсли;
Или ПФ_MXL_КоммерческоеПредложение1 или КоммерческоеПредложениеКлиенту везде.
(24) Вот работающая внешняя печатная форма для Бухни. Попробуй использовать в качестве ориентира
Прикрепленные файлы:
MX3_30.epf
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот