Внешняя печатная форма транспортной накладной
Добрый день!
Столкнулся с такой проблемой: есть внешняя печатная форма транспортной накладной комплексной автоматизации.
Необходимо в ПФ поставить номенклатуру из документа "реализация товаров и услуг"
Создал следующую функцию:
...........................................................................................................................
РеквизитыМакета.Вставить("Пункт3_1", ИменаТоваров); - при отладке в этой строке пусто...
Вообще, в эту ПФ многое не заполняется...
Столкнулся с такой проблемой: есть внешняя печатная форма транспортной накладной комплексной автоматизации.
Необходимо в ПФ поставить номенклатуру из документа "реализация товаров и услуг"
Создал следующую функцию:
Функция СформироватьДопДанные (СсылкаНаОбъект)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Ссылка,
| РеализацияТоваровУслуг.Товары.(
| Номенклатура КАК Номенклатура
| ) КАК Товары
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Выборка= Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ВыборкаНоменклатура = Выборка.Товары.Выбрать();
Пока ВыборкаНоменклатура.Следующий() Цикл
Возврат ВыборкаНоменклатура.Номенклатура;
КонецЦикла;
КонецЦикла;
КонецФункции
В процедуре "ЗаполнитьТабличныйДокументТН" в нужную строку подставил:
РеквизитыМакета.Вставить("Пункт3_1", СформироватьДопДанные(СсылкаНаОбъект));
"Пункт3_1" - параметр в макете, куда необходимо вставить номенклатуру.
Ошибок нет, но строка остается пустой.
В чем проблема?
В печатной форме транспортной накладной в конфигурации, так же номенклатура не встает данную строку.
Код следующий:
ИменаТоваров = "";
Пока ДанныеСсылкиДокументов.НайтиСледующий(СтруктураПоиска) Цикл
ИменаТоваров = ИменаТоваров + ДанныеСсылкиДокументов.НаименованиеВидаНоменклатуры + ", ";
КонецЦикла;
Если СтрДлина(ИменаТоваров) >= 2 Тогда
ИменаТоваров = Лев(ИменаТоваров, СтрДлина(ИменаТоваров) - 2);
КонецЕсли;
Показать...........................................................................................................................
РеквизитыМакета.Вставить("Пункт3_1", ИменаТоваров); - при отладке в этой строке пусто...
Вообще, в эту ПФ многое не заполняется...
По теме из базы знаний
- Внешняя печатная форма Транспортной накладной для ПУБ
- Внешняя печатная форма Транспортная накладная для Альфа-Авто 4.1
- Внешняя печатная форма Транспортная накладная (управляемое приложение)
- Внешняя печатная форма "Транспортная накладная" к документу "Реализация товаров и услуг", БП 3.0
- Заполненная печатная форма транспортной накладной для УТ 11
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Функция СформироватьДопДанные (СсылкаНаОбъект)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Ссылка,
| РеализацияТоваровУслуг.Товары.(
| Номенклатура КАК Номенклатура
| ) КАК Товары
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Выборка= Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ВыборкаНоменклатура = Выборка.Товары.Выбрать();
Пока ВыборкаНоменклатура.Следующий() Цикл
Возврат ВыборкаНоменклатура.Номенклатура;
КонецЦикла;
КонецЦикла;
КонецФункции
ПоказатьЭто шедевр!
Что должна возвращать функция? Какую-нибудь номенклатуру из реализации?
Кода меньше, результат такой же:
Функция СформироватьДопДанные (СсылкаНаОбъект)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ Первые 1
| РеализацияТоваровУслуг.Номенклатура
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
РезЗапроса = Запрос.Выполнить();
Если РезЗапроса.Пустой() тогда
Результат = Справочники.Номенклатура.ПустаяСсылка()
Иначе
Таблица = РезЗапроса.Выгрузить();
Результат = Таблица[0].Номенклатура;
КонецЕсли;
возврат Результат
КонецФункции
Показать//Для правильно читающих рекомендации: В таблице одна строка и одна колонка. Тип значения имеет объем 32 байта, с Выбрать() можно не заморачиваться
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот