При двух основаниях (Заказ Клиента), УПД не печатает! Помогите решить
Всем привет. Ребята, есть такой код в расширении:
он корректно работает, т.е. работал, то того времени, пока не понадобилось вывести на печать УПД, где у документа реализации документ основание не один ЗаказКлиента, а ДВА! В итоге он уже не печатает. Выходит ошибка: Значение не является значением объектного типа (Номер), а если один заказ, то спокойно выводит на печать. Подскажите как поправить код, чтобы печаталось, желательно в основании указывалось оба заказа
Если ЗначениеЗаполнено(ДанныеПечати.ДоверенностьНомер) И ЗначениеЗаполнено(ДанныеПечати.ДоверенностьДата)
И (ЗначениеЗаполнено(ДанныеПечати.ДоверенностьВыдана) Или ЗначениеЗаполнено(ДанныеПечати.ДоверенностьЛицо)) Тогда
ТекстОснования = "Счет №"+ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.Ссылка.ДокументыОснования[0].ДокументОснование.ЗаказКлиента.Номер, Ложь, Истина)+" от "+Формат(ДанныеПечати.Ссылка.ДокументыОснования[0].ДокументОснование.ЗаказКлиента.Дата,"ДЛФ=DD")+ ";"
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'по доверенности №%1 от %2, выданной %3 %4'", Метаданные.Языки.Русский.КодЯзыка),
ДанныеПечати.ДоверенностьНомер,
Формат(ДанныеПечати.ДоверенностьДата, "ДЛФ=DD"),
ДанныеПечати.ДоверенностьВыдана,
ДанныеПечати.ДоверенностьЛицо);
Иначе
ТекстОснования = "Счет №"+ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.Ссылка.ДокументыОснования[0].ДокументОснование.ЗаказКлиента.Номер, Ложь, Истина)+" от "+Формат(ДанныеПечати.Ссылка.ДокументыОснования[0].ДокументОснование.ЗаказКлиента.Дата,"ДЛФ=DD");
КонецЕсли;
СтруктураПараметров.Вставить("Основание", ТекстОснования);
ОбластьПодвала.Параметры.Заполнить(СтруктураПараметров);
Показатьон корректно работает, т.е. работал, то того времени, пока не понадобилось вывести на печать УПД, где у документа реализации документ основание не один ЗаказКлиента, а ДВА! В итоге он уже не печатает. Выходит ошибка: Значение не является значением объектного типа (Номер), а если один заказ, то спокойно выводит на печать. Подскажите как поправить код, чтобы печаталось, желательно в основании указывалось оба заказа
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Сейчас сделал так:
ТекстОснования = СокрЛП(ДанныеПечати.Основание) + "; "
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'по доверенности №%1 от %2, выданной %3 %4'", Метаданные.Языки.Русский.КодЯзыка),
ДанныеПечати.ДоверенностьНомер,
Формат(ДанныеПечати.ДоверенностьДата, "ДЛФ=DD"),
ДанныеПечати.ДоверенностьВыдана,
ДанныеПечати.ДоверенностьЛицо);
СтруктураПараметров.Вставить("Основание", ТекстОснования);
Печатается, но в строке основание пишет так: Заказ клиента № 1401 от 1 июня 2020 г., а мне нужно, чтобы вместо заказа было написано СЧЕТ, а номер и дата такие же!!!
Сейчас пытаюсь через СтрЗаменить сделать, но пока не получается.
ТекстОснования = СокрЛП(ДанныеПечати.Основание) + "; "
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'по доверенности №%1 от %2, выданной %3 %4'", Метаданные.Языки.Русский.КодЯзыка),
ДанныеПечати.ДоверенностьНомер,
Формат(ДанныеПечати.ДоверенностьДата, "ДЛФ=DD"),
ДанныеПечати.ДоверенностьВыдана,
ДанныеПечати.ДоверенностьЛицо);
СтруктураПараметров.Вставить("Основание", ТекстОснования);
Печатается, но в строке основание пишет так: Заказ клиента № 1401 от 1 июня 2020 г., а мне нужно, чтобы вместо заказа было написано СЧЕТ, а номер и дата такие же!!!
Сейчас пытаюсь через СтрЗаменить сделать, но пока не получается.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот