Делаю свою первую ВПФ. Немного не пойму как работают ссылки на документ.
Ну т.е. мне надо добавить реквизит Артикул с номенклатуры с документа Реализация.
Делаю так:
Ругается, что метод объекта не обнаружен "Товары". Как мне передать на него ссылку? В приницпе это единственный сложный вопрос для меня сейчас. Пару реквизитов добавил, такие как:
Тут нет этих "товаров", согласен, но арткул то находится именно там.
Как быть?
Ну т.е. мне надо добавить реквизит Артикул с номенклатуры с документа Реализация.
Делаю так:
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
ОбластьСтроки.Параметры.Артикул = СсылкаНаДокумент.Товары("Артикул");
Ругается, что метод объекта не обнаружен "Товары". Как мне передать на него ссылку? В приницпе это единственный сложный вопрос для меня сейчас. Пару реквизитов добавил, такие как:
ОбластьШапка.Параметры.Партнер = СсылкаНаДокумент.Партнер;
Тут нет этих "товаров", согласен, но арткул то находится именно там.
Как быть?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
На всякий случай весь код:
Функция СведенияОВнешнейОбработке()Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Этикетка (шаблон)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Эту ВПФ мы сделали для того что бы посмотреть возможности БСП ");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Этикетка (шаблон)", "СчетНаОплатуВРТУ", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетНаОплатуВРТУ", "Этикетка (шаблон)", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетНаОплатуВРТУ";
МакетОбработки = ПолучитьМакет("Макет");
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Партнер = СсылкаНаДокумент.Партнер;
ТабличныйДокумент.Вывести(ОбластьШапка);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
ОбластьСтроки.Параметры.Артикул = СсылкаНаДокумент.Товары("Артикул");
Для Каждого ТекущаяСтрока Из СсылкаНаДокумент.Товары Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтроки.Параметры, ТекущаяСтрока);
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции
Показать
//ОбластьСтроки.Параметры.Артикул = СсылкаНаДокумент.Товары("Артикул"); - Это убрать
Для Каждого ТекущаяСтрока Из СсылкаНаДокумент.Товары Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтроки.Параметры, ТекущаяСтрока);
ОбластьСтроки.Параметры.Артикул = ТекущаяСтрока.Номенклатура.Артикул;//Это добавить
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот