Прошу помочь.
1с 8.3 Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.146.35)
Ошибка "Поле объекта не обнаружено (Комментарий)"

Имеется внешняя печатная форма УПД.
Пытаюсь ее доработать. Нужно в ПодвалНакладной после <Основание> выводить данные из комментария.
На макете в нужном месте создал параметр <Комментарий>
В модуле добавил строку:

```1c
    ОбластьМакета.Параметры.Комментарий = ЭтотОбъект.Комментарий;
```

Целиком вот так этовыглядит:

```1c
    // Вывод подвала накладной
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
    ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
    ОбластьМакета.Параметры.Комментарий = ЭтотОбъект.Комментарий;
    ТабДокумент.Вывести(ОбластьМакета);
```

По итогу ошибка. Я так понимаю, что внешняя печатная форма не знает ни чего о поле Комментарий. Как ее научить получать инфу из этого поля?
PS Вообще не программист, обычный пользователь, иногда по мелочи правил конфиг 1с 7.7. Там кстати Комментарий работал в печатных формах без танцев с бубном. Переехал на 8ку и с наскоку решить задачу не получилось.
---
ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.Комментарий;
---
тогда правильнее так

```1c
    ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.ДокументОснование.Комментарий;
```
---
```1c
    ОбластьМакета.Параметры.Комментарий = "test";
```

если просто строку добавить выведет, просто понимать на какой реквизит ругается макета или объекта?
и пришлите сам макет, точно ли Комментарий расположен в области ПодвалНакладной, а не в другой
---
ОбластьМакета.Параметры.Комментарий = "test";
Заменил. С тестом полный порядок. Выводится там где и нужно.
---
тогда копаем в другую сторону, ЭтотОбъект это же обработка по идее? у нее такой реквизит есть?
---
Не скажу, т.к. не понимаю вопроса. Но готов разобраться.
Эту строку я тупо нагуглил в одном из похожих вопросов.
---
поставьте точку отладки и посмотрите ЭтотОбъект какого типа
---
просто вы должны понимать откуда вы значение берете, который передаете в параметр
---
Я хочу его вот отсюда брать:
---
```1c
    ВыборкаУПД.ДанныеШапки
```

а что за запрос тут, какие данные выбираются?
---
ВыборкаУПД.ДанныеШапки
Не знаю, это с инфостарта внешняя печатная форма скачана. Автор не я.
Я лишь пытался нужный мне функционал прикрутить малой кровью. Но видимо я слаб для этого.
---
ну когда что-то берете с интернета и пытаетесь реализовать в свой код, нужно хотя бы попытаться понять как это работает, иначе могут быть неприятные последствия, просто копипастить не вариант
---
есть информация которая выводится корректно? то есть выше подвала все норм?
---
Да оно и понятно. В 7.7 этот же кейс решался добавлением в макет <Комментарий> и все подтягивалось сразу.
Думал, что и в 8 получится по аналогии. Когда не получилось начал копипастить.
Вопрос то в общем простой, как из поля "комментарий" вытащить инфу на печатную форму.

(12)Да. Всё выводится корректно, пока я не добавлю копипасту.
---
возможно если предоставите полный код, помочь будет проще
---
Тут
---
как из поля "комментарий" вытащить инфу на печатную форму. Так же, как вытаскиваются другие реквизиты документа - например, Покупатель
---
модератор скрыл ваше сообщение, возможно что-то не то опубликовали
---
что-то не то опубликовали Как раз то - то, что было скачано с Инфостарта.
---
предоставьте код, где выводятся другие области макета
---
```1c
    ОбластьМакета.Параметры.Номер = ДанныеШапки.Номер;
    ОбластьМакета.Параметры.Дата = Формат(ДанныеШапки.Дата, "ДЛФ='ДД'");

    ОбластьМакета.Параметры.НомерИсправления = ДанныеШапки.НомерИсправления;
    ОбластьМакета.Параметры.ДатаИсправления = Формат(ДанныеШапки.ДатаИсправления, "ДЛФ='ДД'");

    ОбластьМакета.Параметры.ПоДокументу = ДанныеШапки.ПоДокументу;
    ОбластьМакета.Параметры.Валюта = ДанныеШапки.ВалютаНаименование;
```
---
```1c
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
    ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
    ОбластьМакета.Параметры.Комментарий = ДанныеШапки.Комментарий
    ТабДокумент.Вывести(ОбластьМакета);
```

попробуйте так, если не получится, тогда где выбираются данные для ДанныеШапки, добавить выборку еще и по Комментарию

найдите где в запросе выбирается например ВалютаНаименование и туда же добавьте строку Комментарий
---
{ВнешняяОбработка.УПД.МодульОбъекта(231,41)}: Переменная не определена (ДанныеШапки)
  ОбластьМакета.Параметры.Комментарий = <<?>>ДанныеШапки.Комментарий; (Проверка: Сервер)
---
сделайте по рекомендации, которая после кода выше в 21
---
Ну что же, утверждение "Программировать в 1С могут все!" в очередной раз оказалось мифом. Абыдна, да?

P.S. Я бы на месте ТС обратился бы к автору скачанной ВПФ - ему-то раз плюнуть выполнить эту элементарную хотелку. Может быть, он даже сделает это бесплатно.
---
Кто такое утверждал? Я?
А с другой стороны, не боги горшки обжигают. Вопрос во времени сколько мне понадобится, на то что бы с 0 освоить 1С ради одной правки. Плюс править чужое, всегда сложно.
Ваш совет обратиться к специалисту бесценен. Гораздо ведь проще, чем помочь реализовать "элементарную хотелку".
---
чтобы можно было помочь что-то сделать, вам необходимо предоставить информацию для этого. В данном случае код, который идет перед "вашим подвалом"
---
Ваш совет обратиться к специалисту бесценен. Ну, тогда любая другая помощь мало чего стоит... ;-)
помочь реализовать "элементарную хотелку". Нееет, вы хотите совсем другого - "с 0 освоить 1С". Но вам на это жалко своего времени.

А чужого - не жалко. Что тут скажешь? Разве что: https://www.youtube.com/watch?v=iXYfn1Atw40
---
Ну что же, утверждение "Программировать в 1С могут все!" в очередной раз оказалось мифом. Абыдна, да?
Ответственно заявляю, "Программировать в 1С могут все!"
Абыдна, да?
---
попробуйте так

```1c
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
    ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
    ОбластьМакета.Параметры.Комментарий = ДанныеШапки.Ссылка.Комментарий;
    ТабДокумент.Вывести(ОбластьМакета);
```

данные ДанныеШапки.Ссылка - есть?
какой тип? может быть счет-фактурой
а комментарий у вас в Реализации
либо искать где ссылка на Реализацию
либо брать комментарий из счетфактуры
---
Все верно. Комментарий в Реализации.
---
он выше пробовал ДанныеШапки.Комментарий, ДанныеШапки не находит, там или выборка или цикл, трудно понять без кода
---
Лички тут нет, я так понимаю? можно почту Вашу?
---
все в рамках форума, на почты никакие не перехожу)
---
Я вообще перестаю понимать что либо.
Делаю так:

```1c
    ОбластьМакета.Параметры.Комментарий = ДанныеШапки.НомерИсправления;
```

В надежде выводить хотья бы номер исправления в нужную мне строку.
Но ошибка:
{ВнешняяОбработка.УПД.МодульОбъекта(231,41)}: Переменная не определена (ДанныеШапки)
  ОбластьМакета.Параметры.Комментарий = <<?>>ДанныеШапки.НомерИсправления; (Проверка: Сервер)
---
Еще раз, ПРЕДОСТАВЬТЕ ПОЖАЛУЙСТА код или скриншот кода, что находиться выше от Подвала, иначе это гадание на кофейной гуще какое-то...
---
Если об этом речь, то вот:
(37)
```1c
    Функция ТабличныйДокументУПД(Макет, МассивОбъектов, ОбъектыПечати, ТабДокумент, ТекстЗапросаДокументам, ТолькоПередаточныйДокумент, ПараметрыПечати)

    // Исключим из массива документы на чтение которых у пользователя нет прав
    УправлениеДоступомБП.УдалитьНедоступныеЭлементыИзМассива(МассивОбъектов);

    УстановитьПривилегированныйРежим(Истина);

    Если МассивОбъектов.Количество() = 0 Тогда
    ДанныеУниверсальныхПередаточныхДокументов = НовыйТаблицаСчетовФактур();
    ИначеЕсли ТолькоПередаточныйДокумент Тогда
    ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиУниверсальногоПередаточногоДокумента(
    МассивОбъектов, ТекстЗапросаДокументам);
    Иначе
    ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиСчетаФактуры1137(
    МассивОбъектов, ТекстЗапросаДокументам, Истина);
    КонецЕсли;

    ПервыйДокумент = Истина;

    СтрокиПечати = Новый СписокЗначений;

    Для Каждого ВыборкаУПД ИЗ ДанныеУниверсальныхПередаточныхДокументов Цикл

    ОбъектыПечати.Добавить(ВыборкаУПД.Ссылка);

    Если ЗначениеЗаполнено(ВыборкаУПД.Дата)
    И ВыборкаУПД.Дата < '20130101'
    И ТипЗнч(ВыборкаУПД.СчетФактура) <> Тип("ДокументСсылка.СчетФактураПолученный") Тогда
    Продолжить;
    КонецЕсли;

    ТаблицаДокумента = ВыборкаУПД.ТаблицаДокумента;
    Если ТаблицаДокумента = Неопределено Тогда
    Продолжить;
    КонецЕсли;

    Если НЕ ПервыйДокумент Тогда
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    ПервыйДокумент = Ложь;

    // Запомним номер строки, с которой начали выводить текущий документ.
    НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;

    ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ВыборкаУПД, Истина);

    // Вывод подвала накладной
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
    ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
    ОбластьМакета.Параметры.Комментарий = ДанныеШапки.НомерИсправления;
    ТабДокумент.Вывести(ОбластьМакета);

    // В табличном документе зададим имя области, в которую был выведен объект.
    // Нужно для возможности печати покомплектно.
    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(
    ТабДокумент, НомерСтрокиНачало, СтрокиПечати, ВыборкаУПД.Ссылка);

    ЭлементСписка = ОбъектыПечати.НайтиПоЗначению(ВыборкаУПД.Ссылка);
    ЭлементСписка.Представление = СтрокиПечати[СтрокиПечати.Количество()-1].Представление;

    УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабДокумент, ВыборкаУПД, ОбъектыПечати, ПараметрыПечати);
    КонецЦикла;

    Если МассивОбъектов.Количество() = 1 И ПервыйДокумент Тогда
    СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
    НСтр("ru='Для %1 универсальный передаточный документ не применяется'"), Строка(МассивОбъектов[0]));
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке);
    КонецЕсли;

    Возврат ТабДокумент;

    КонецФункции
```
---
```1c
    ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Комментарий;
```

так попробуйте)

или

```1c
    ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.Комментарий;
```
---
Поле объекта не обнаружено (Комментарий)
{ВнешняяОбработка.УПД.МодульОбъекта(231)}:ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Комментарий;
---
ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.Комментарий;
---
Пошел прогресс!!!Огромное спасибо!
Но подтянуло комментарий из Счет-фактуры, а не из Реализации.
---
значит ВыборкаУПД это не реализация..
---
тогда правильнее так

```1c
    ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.ДокументОснование.Комментарий;
```
---
Пошло-поехало!
Теперь все как надо заполняется!
Спасибо огромное!

PS Прошу простить меня за мою тупость местами. Первый день на 8ку переехал. С программированием на 1с вообще не знаком и тем не мение спустя пару часов все завелось!
---
все нормально, просто тут такая суть, чем более ясно вы сможете передать свою проблему, тем выше шанс получить точный и своевременный ответ.
---
Да я сразу скинул код, но админ его забанил, по этому и не рисковал его снова светить.
---
а ну тогда не знаю почему так они решили, может какие-то правило нарушили данным кодом
---
Но подтянуло комментарий из Счет-фактуры, а не из Реализации.
- Доктор, вы вырвали мне здоровый зуб!
- Ничего, дойдем и до больного.
---
Зря ёрничаете. Уже откуда надо подтягивает.
Еще раз спасибо за Ваш ваш неоценимый вклад в решение проблемы.
---
```1c
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
    ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
    ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.ДанныеШапки.Ссылка.Комментарий;
    ТабДокумент.Вывести(ОбластьМакета);
```

немного скорректирую ваш вариант, но не факт что и он сработает))
---
внимательнее читайте ответы

```1c
    ДанныеШапки.ССЫЛКА.Комментарий
```
---
еще раз говорю, там где он добавляет Подвал, нет Переменная не определена (ДанныеШапки), посмотрите 22 комментарий