Комментарий во внешней печатной форме УПД

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

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


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


По итогу ошибка. Я так понимаю, что внешняя печатная форма не знает ни чего о поле Комментарий. Как ее научить получать инфу из этого поля?
PS Вообще не программист, обычный пользователь, иногда по мелочи правил конфиг 1с 7.7. Там кстати Комментарий работал в печатных формах без танцев с бубном. Переехал на 8ку и с наскоку решить задачу не получилось.
По теме из базы знаний
Найденные решения
41. yispepotri 11.01.24 16:03 Сейчас в теме
(40) ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.Комментарий;
45. yispepotri 11.01.24 16:18 Сейчас в теме
(42) тогда правильнее так
ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.ДокументОснование.Комментарий;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. yispepotri 11.01.24 13:17 Сейчас в теме
ОбластьМакета.Параметры.Комментарий = "test";

если просто строку добавить выведет, просто понимать на какой реквизит ругается макета или объекта?
и пришлите сам макет, точно ли Комментарий расположен в области ПодвалНакладной, а не в другой
3. expoУД 11.01.24 13:29 Сейчас в теме
(2)
ОбластьМакета.Параметры.Комментарий = "test";

Заменил. С тестом полный порядок. Выводится там где и нужно.
Прикрепленные файлы:
4. yispepotri 11.01.24 13:32 Сейчас в теме
(3) тогда копаем в другую сторону, ЭтотОбъект это же обработка по идее? у нее такой реквизит есть?
5. expoУД 11.01.24 13:37 Сейчас в теме
Не скажу, т.к. не понимаю вопроса. Но готов разобраться.
Эту строку я тупо нагуглил в одном из похожих вопросов.
6. yispepotri 11.01.24 13:40 Сейчас в теме
(5)поставьте точку отладки и посмотрите ЭтотОбъект какого типа
7. yispepotri 11.01.24 13:56 Сейчас в теме
(5)просто вы должны понимать откуда вы значение берете, который передаете в параметр
8. expoУД 11.01.24 13:59 Сейчас в теме
(7)Я хочу его вот отсюда брать:
Прикрепленные файлы:
9. yispepotri 11.01.24 14:03 Сейчас в теме
(8)
ВыборкаУПД.ДанныеШапки

а что за запрос тут, какие данные выбираются?
10. expoУД 11.01.24 14:07 Сейчас в теме
(9)
ВыборкаУПД.ДанныеШапки

Не знаю, это с инфостарта внешняя печатная форма скачана. Автор не я.
Я лишь пытался нужный мне функционал прикрутить малой кровью. Но видимо я слаб для этого.
11. yispepotri 11.01.24 14:15 Сейчас в теме
(10) ну когда что-то берете с интернета и пытаетесь реализовать в свой код, нужно хотя бы попытаться понять как это работает, иначе могут быть неприятные последствия, просто копипастить не вариант
12. yispepotri 11.01.24 14:19 Сейчас в теме
(10)есть информация которая выводится корректно? то есть выше подвала все норм?
13. expoУД 11.01.24 14:21 Сейчас в теме
(11)Да оно и понятно. В 7.7 этот же кейс решался добавлением в макет <Комментарий> и все подтягивалось сразу.
Думал, что и в 8 получится по аналогии. Когда не получилось начал копипастить.
Вопрос то в общем простой, как из поля "комментарий" вытащить инфу на печатную форму.


(12)Да. Всё выводится корректно, пока я не добавлю копипасту.
14. yispepotri 11.01.24 14:24 Сейчас в теме
(13)возможно если предоставите полный код, помочь будет проще
15. expoУД 11.01.24 14:33 Сейчас в теме
18. user856012 14 11.01.24 14:45 Сейчас в теме
(13)
как из поля "комментарий" вытащить инфу на печатную форму.
Так же, как вытаскиваются другие реквизиты документа - например, Покупатель
16. yispepotri 11.01.24 14:39 Сейчас в теме
модератор скрыл ваше сообщение, возможно что-то не то опубликовали
17. user856012 14 11.01.24 14:42 Сейчас в теме
(16)
что-то не то опубликовали
Как раз то - то, что было скачано с Инфостарта.
19. yispepotri 11.01.24 14:48 Сейчас в теме
предоставьте код, где выводятся другие области макета
20. expoУД 11.01.24 14:52 Сейчас в теме
(19)
ОбластьМакета.Параметры.Номер = ДанныеШапки.Номер;
        ОбластьМакета.Параметры.Дата  = Формат(ДанныеШапки.Дата, "ДЛФ='ДД'");
        
        ОбластьМакета.Параметры.НомерИсправления = ДанныеШапки.НомерИсправления;
        ОбластьМакета.Параметры.ДатаИсправления  = Формат(ДанныеШапки.ДатаИсправления, "ДЛФ='ДД'");
        
        ОбластьМакета.Параметры.ПоДокументу = ДанныеШапки.ПоДокументу;
        ОбластьМакета.Параметры.Валюта = ДанныеШапки.ВалютаНаименование;

Показать
21. yispepotri 11.01.24 14:58 Сейчас в теме
(20)
   ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
        ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
        ОбластьМакета.Параметры.Комментарий = ДанныеШапки.Комментарий 
        ТабДокумент.Вывести(ОбластьМакета);



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

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

P.S. Я бы на месте ТС обратился бы к автору скачанной ВПФ - ему-то раз плюнуть выполнить эту элементарную хотелку. Может быть, он даже сделает это бесплатно.
25. expoУД 11.01.24 15:24 Сейчас в теме
(24)Кто такое утверждал? Я?
А с другой стороны, не боги горшки обжигают. Вопрос во времени сколько мне понадобится, на то что бы с 0 освоить 1С ради одной правки. Плюс править чужое, всегда сложно.
Ваш совет обратиться к специалисту бесценен. Гораздо ведь проще, чем помочь реализовать "элементарную хотелку".
27. yispepotri 11.01.24 15:35 Сейчас в теме
(25) чтобы можно было помочь что-то сделать, вам необходимо предоставить информацию для этого. В данном случае код, который идет перед "вашим подвалом"
31. user856012 14 11.01.24 15:43 Сейчас в теме
(25)
Ваш совет обратиться к специалисту бесценен.
Ну, тогда любая другая помощь мало чего стоит... ;-)
помочь реализовать "элементарную хотелку".
Нееет, вы хотите совсем другого - "с 0 освоить 1С". Но вам на это жалко своего времени.

А чужого - не жалко. Что тут скажешь? Разве что: https://www.youtube.com/watch?v=iXYfn1Atw40
44. expoУД 11.01.24 16:07 Сейчас в теме
(24)
Ну что же, утверждение "Программировать в 1С могут все!" в очередной раз оказалось мифом. Абыдна, да?

Ответственно заявляю, "Программировать в 1С могут все!"
Абыдна, да?
26. soft_wind 11.01.24 15:34 Сейчас в теме
попробуйте так
        ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
        ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
        ОбластьМакета.Параметры.Комментарий = ДанныеШапки.Ссылка.Комментарий;
        ТабДокумент.Вывести(ОбластьМакета);


данные ДанныеШапки.Ссылка - есть?
какой тип? может быть счет-фактурой
а комментарий у вас в Реализации
либо искать где ссылка на Реализацию
либо брать комментарий из счетфактуры
28. expoУД 11.01.24 15:39 Сейчас в теме
(26)Все верно. Комментарий в Реализации.
29. yispepotri 11.01.24 15:42 Сейчас в теме
(26) он выше пробовал ДанныеШапки.Комментарий, ДанныеШапки не находит, там или выборка или цикл, трудно понять без кода
32. expoУД 11.01.24 15:43 Сейчас в теме
(29)Лички тут нет, я так понимаю? можно почту Вашу?
35. yispepotri 11.01.24 15:46 Сейчас в теме
(32)все в рамках форума, на почты никакие не перехожу)
36. expoУД 11.01.24 15:53 Сейчас в теме
Я вообще перестаю понимать что либо.
Делаю так:
ОбластьМакета.Параметры.Комментарий = ДанныеШапки.НомерИсправления;


В надежде выводить хотья бы номер исправления в нужную мне строку.
Но ошибка:
{ВнешняяОбработка.УПД.МодульОбъекта(231,41)}: Переменная не определена (ДанныеШапки)
ОбластьМакета.Параметры.Комментарий = <<?>>ДанныеШапки.НомерИсправления; (Проверка: Сервер)
37. yispepotri 11.01.24 15:54 Сейчас в теме
(36)Еще раз, ПРЕДОСТАВЬТЕ ПОЖАЛУЙСТА код или скриншот кода, что находиться выше от Подвала, иначе это гадание на кофейной гуще какое-то...
38. expoУД 11.01.24 15:57 Сейчас в теме
Если об этом речь, то вот:
(37)
Функция ТабличныйДокументУПД(Макет, МассивОбъектов, ОбъектыПечати, ТабДокумент, ТекстЗапросаДокументам, ТолькоПередаточныйДокумент, ПараметрыПечати)
    
    // Исключим из массива документы на чтение которых у пользователя нет прав
    УправлениеДоступомБП.УдалитьНедоступныеЭлементыИзМассива(МассивОбъектов);
    
    УстановитьПривилегированныйРежим(Истина);
    
     Если МассивОбъектов.Количество() = 0 Тогда
        ДанныеУниверсальныхПередаточныхДокументов = НовыйТаблицаСчетовФактур();
    ИначеЕсли ТолькоПередаточныйДокумент Тогда
        ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиУниверсальногоПередаточногоДокумента(
            МассивОбъектов, ТекстЗапросаДокументам);
    Иначе
        ДанныеУниверсальныхПередаточныхДокументов = ПолучитьДанныеДляПечатиСчетаФактуры1137(
            МассивОбъектов, ТекстЗапросаДокументам, Истина);
    КонецЕсли;
    
    ПервыйДокумент = Истина;
    
    СтрокиПечати = Новый СписокЗначений;
    
    Для Каждого ВыборкаУПД ИЗ ДанныеУниверсальныхПередаточныхДокументов Цикл
        
        ОбъектыПечати.Добавить(ВыборкаУПД.Ссылка);
        
        Если ЗначениеЗаполнено(ВыборкаУПД.Дата)
           И ВыборкаУПД.Дата < '20130101'
           И ТипЗнч(ВыборкаУПД.СчетФактура) <> Тип("ДокументСсылка.СчетФактураПолученный") Тогда
            Продолжить;
        КонецЕсли;
        
        ТаблицаДокумента = ВыборкаУПД.ТаблицаДокумента;
        Если ТаблицаДокумента = Неопределено Тогда
            Продолжить;
        КонецЕсли;
        
        Если НЕ ПервыйДокумент Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        ПервыйДокумент = Ложь;
        
        // Запомним номер строки, с которой начали выводить текущий документ.
        НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
        
        ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ВыборкаУПД, Истина);
        
        // Вывод подвала накладной
        ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
        ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
        ОбластьМакета.Параметры.Комментарий = ДанныеШапки.НомерИсправления;
        ТабДокумент.Вывести(ОбластьМакета);
        
        // В табличном документе зададим имя области, в которую был выведен объект.
        // Нужно для возможности печати покомплектно.
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(
            ТабДокумент, НомерСтрокиНачало, СтрокиПечати, ВыборкаУПД.Ссылка);
            
        ЭлементСписка               = ОбъектыПечати.НайтиПоЗначению(ВыборкаУПД.Ссылка);
        ЭлементСписка.Представление = СтрокиПечати[СтрокиПечати.Количество()-1].Представление;
            
        УправлениеПечатьюБП.ДополнитьДокументПодписьюИПечатью(ТабДокумент, ВыборкаУПД, ОбъектыПечати, ПараметрыПечати);    
    КонецЦикла;
    
    Если МассивОбъектов.Количество() = 1 И ПервыйДокумент Тогда
        СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru='Для %1 универсальный передаточный документ не применяется'"), Строка(МассивОбъектов[0]));
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке);
    КонецЕсли;
    
    Возврат ТабДокумент;
    
КонецФункции

Показать
39. yispepotri 11.01.24 16:00 Сейчас в теме
(38)
ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Комментарий;

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

или
ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.Комментарий;
40. expoУД 11.01.24 16:02 Сейчас в теме
(39)Поле объекта не обнаружено (Комментарий)
{ВнешняяОбработка.УПД.МодульОбъекта(231)}:ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Комментарий;
41. yispepotri 11.01.24 16:03 Сейчас в теме
(40) ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.Комментарий;
42. expoУД 11.01.24 16:06 Сейчас в теме
(41)Пошел прогресс!!!Огромное спасибо!
Но подтянуло комментарий из Счет-фактуры, а не из Реализации.
43. yispepotri 11.01.24 16:07 Сейчас в теме
(42) значит ВыборкаУПД это не реализация..
45. yispepotri 11.01.24 16:18 Сейчас в теме
(42) тогда правильнее так
ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.Ссылка.ДокументОснование.Комментарий;
46. expoУД 11.01.24 16:26 Сейчас в теме
(45)Пошло-поехало!
Теперь все как надо заполняется!
Спасибо огромное!

PS Прошу простить меня за мою тупость местами. Первый день на 8ку переехал. С программированием на 1с вообще не знаком и тем не мение спустя пару часов все завелось!
49. yispepotri 11.01.24 16:35 Сейчас в теме
(46) все нормально, просто тут такая суть, чем более ясно вы сможете передать свою проблему, тем выше шанс получить точный и своевременный ответ.
50. expoУД 11.01.24 16:41 Сейчас в теме
(49)Да я сразу скинул код, но админ его забанил, по этому и не рисковал его снова светить.
51. yispepotri 11.01.24 16:48 Сейчас в теме
(50) а ну тогда не знаю почему так они решили, может какие-то правило нарушили данным кодом
47. user856012 14 11.01.24 16:26 Сейчас в теме
(42)
Но подтянуло комментарий из Счет-фактуры, а не из Реализации.

- Доктор, вы вырвали мне здоровый зуб!
- Ничего, дойдем и до больного.
48. expoУД 11.01.24 16:32 Сейчас в теме
(47)Зря ёрничаете. Уже откуда надо подтягивает.
Еще раз спасибо за Ваш ваш неоценимый вклад в решение проблемы.
30. yispepotri 11.01.24 15:42 Сейчас в теме
(26)
 ОбластьМакета = Макет.ПолучитьОбласть("ПодвалНакладной");
        ОбластьМакета.Параметры.Заполнить(ВыборкаУПД.ДанныеШапки);
        ОбластьМакета.Параметры.Комментарий = ВыборкаУПД.ДанныеШапки.Ссылка.Комментарий;
        ТабДокумент.Вывести(ОбластьМакета);


немного скорректирую ваш вариант, но не факт что и он сработает))
33. soft_wind 11.01.24 15:43 Сейчас в теме
внимательнее читайте ответы
ДанныеШапки.ССЫЛКА.Комментарий
34. yispepotri 11.01.24 15:45 Сейчас в теме
(33) еще раз говорю, там где он добавляет Подвал, нет Переменная не определена (ДанныеШапки), посмотрите 22 комментарий
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот