Прошу помочь.
1с 8.3 Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.146.35)
Ошибка "Поле объекта не обнаружено (Комментарий)"
Имеется внешняя печатная форма УПД.
Пытаюсь ее доработать. Нужно в ПодвалНакладной после <Основание> выводить данные из комментария.
На макете в нужном месте создал параметр <Комментарий>
В модуле добавил строку:
По итогу ошибка. Я так понимаю, что внешняя печатная форма не знает ни чего о поле Комментарий. Как ее научить получать инфу из этого поля?
PS Вообще не программист, обычный пользователь, иногда по мелочи правил конфиг 1с 7.7. Там кстати Комментарий работал в печатных формах без танцев с бубном. Переехал на 8ку и с наскоку решить задачу не получилось.
если просто строку добавить выведет, просто понимать на какой реквизит ругается макета или объекта?
и пришлите сам макет, точно ли Комментарий расположен в области ПодвалНакладной, а не в другой
Не знаю, это с инфостарта внешняя печатная форма скачана. Автор не я.
Я лишь пытался нужный мне функционал прикрутить малой кровью. Но видимо я слаб для этого.
(10) ну когда что-то берете с интернета и пытаетесь реализовать в свой код, нужно хотя бы попытаться понять как это работает, иначе могут быть неприятные последствия, просто копипастить не вариант
(11)Да оно и понятно. В 7.7 этот же кейс решался добавлением в макет <Комментарий> и все подтягивалось сразу.
Думал, что и в 8 получится по аналогии. Когда не получилось начал копипастить.
Вопрос то в общем простой, как из поля "комментарий" вытащить инфу на печатную форму.
(12)Да. Всё выводится корректно, пока я не добавлю копипасту.
Ну что же, утверждение "Программировать в 1С могут все!" в очередной раз оказалось мифом. Абыдна, да?
P.S. Я бы на месте ТС обратился бы к автору скачанной ВПФ - ему-то раз плюнуть выполнить эту элементарную хотелку. Может быть, он даже сделает это бесплатно.
(24)Кто такое утверждал? Я?
А с другой стороны, не боги горшки обжигают. Вопрос во времени сколько мне понадобится, на то что бы с 0 освоить 1С ради одной правки. Плюс править чужое, всегда сложно.
Ваш совет обратиться к специалисту бесценен. Гораздо ведь проще, чем помочь реализовать "элементарную хотелку".
(25) чтобы можно было помочь что-то сделать, вам необходимо предоставить информацию для этого. В данном случае код, который идет перед "вашим подвалом"
данные ДанныеШапки.Ссылка - есть?
какой тип? может быть счет-фактурой
а комментарий у вас в Реализации
либо искать где ссылка на Реализацию
либо брать комментарий из счетфактуры
В надежде выводить хотья бы номер исправления в нужную мне строку.
Но ошибка:
{ВнешняяОбработка.УПД.МодульОбъекта(231,41)}: Переменная не определена (ДанныеШапки)
ОбластьМакета.Параметры.Комментарий = <<?>>ДанныеШапки.НомерИсправления; (Проверка: Сервер)
Функция ТабличныйДокументУПД(Макет, МассивОбъектов, ОбъектыПечати, ТабДокумент, ТекстЗапросаДокументам, ТолькоПередаточныйДокумент, ПараметрыПечати)
// Исключим из массива документы на чтение которых у пользователя нет прав
УправлениеДоступомБП.УдалитьНедоступныеЭлементыИзМассива(МассивОбъектов);
УстановитьПривилегированныйРежим(Истина);
Если МассивОбъектов.Количество() = 0 Тогда
ДанныеУниверсальныхПередаточныхДокументов = НовыйТаблицаСчетовФактур();
ИначеЕсли ТолькоПередаточныйДокумент Тогда
ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиУниверсальногоПередаточногоДокумента(
МассивОбъектов, ТекстЗапросаДокументам);
Иначе
ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиСчетаФактуры1137(
МассивОбъектов, ТекстЗапросаДокументам, Истина);
КонецЕсли;
ПервыйДокумент = Истина;
СтрокиПечати = Новый СписокЗначений;
Для Каждого ВыборкаУПД ИЗ ДанныеУниверсальныхПередаточныхДокументов Цикл
ОбъектыПечати.Добавить(ВыборкаУПД.Ссылка);
Если ЗначениеЗаполнено(ВыборкаУПД.Дата)
И ВыборкаУПД.Дата < '20130101'
И ТипЗнч(ВыборкаУПД.СчетФактура) <> Тип("ДокументСсылка.СчетФактураПолученный") Тогда
Продолжить;
КонецЕсли;
ТаблицаДокумента = ВыборкаУПД.ТаблицаДокумента;
Если ТаблицаДокумента = Неопределено Тогда
Продолжить;
КонецЕсли;
Если НЕ ПервыйДокумент Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ВыборкаУПД, Истина);
// Вывод подвала накладной
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
ОбластьМакета.Параметры.Комментарий = ДанныеШапки.НомерИсправления;
ТабДокумент.Вывести(ОбластьМакета);
// В табличном документе зададим имя области, в которую был выведен объект.
// Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(
ТабДокумент, НомерСтрокиНачало, СтрокиПечати, ВыборкаУПД.Ссылка);
ЭлементСписка = ОбъектыПечати.НайтиПоЗначению(ВыборкаУПД.Ссылка);
ЭлементСписка.Представление = СтрокиПечати[СтрокиПечати.Количество()-1].Представление;
УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабДокумент, ВыборкаУПД, ОбъектыПечати, ПараметрыПечати);
КонецЦикла;
Если МассивОбъектов.Количество() = 1 И ПервыйДокумент Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Для %1 универсальный передаточный документ не применяется'"), Строка(МассивОбъектов[0]));
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке);
КонецЕсли;
Возврат ТабДокумент;
КонецФункции
(45)Пошло-поехало!
Теперь все как надо заполняется!
Спасибо огромное!
PS Прошу простить меня за мою тупость местами. Первый день на 8ку переехал. С программированием на 1с вообще не знаком и тем не мение спустя пару часов все завелось!