Имя: Пароль:
1C
1С v8
Недоступны реквизиты внешнего отчета после копирования формы отчета из ЗУП
0 Micru
 
02.01.26
21:10
Скопировал штатный отчет ЗУП во внешний отчет. Так же пришлось скопировать и форму из Общие->Общие Формы-> ФормаОтчета. Только после этого отчет заработал. В модуле объекта заполняю реквизит обработки. Из модуля формы он хоть виден, но пустой! Похоже, дело в том, что Тип отчета на форме стал (ОтчетОбъект) вместо (ВнешнийОтчет.ИмяОтчета). Подскажите, как получить доступ из модуля формы к реквизитам внешнего отчета, когда тип отчета стал (ОтчетОбъект)?
1 Kongo2019
 
03.01.26
11:40
(0) Когда вы копируете форму из конфигурации, она помнит, что её реквизит Объект имеет тип, для примера, ОтчетСправкиРасчеты. Это жестко прописанный тип конфигурации.

Когда вы вставляете форму во внешний отчет, этот тип становится недоступен (так как во внешнем отчете нет типов конфигурации), и платформа заменяет его на базовый тип ОтчетОбъект. Базовый тип не знает про реквизиты, которые вы добавили в модуль объекта вашего внешнего отчета.

После того как вы укажете тип ВнешнийОтчет.ВашОтчет.
В модуле формы код Объект.ВашРеквизит снова станет валидным.
Платформа поймет, что реквизит формы — это именно ваш объект, и подцепит его данные.
2 Micru
 
03.01.26
22:52
Да, я поменял тип отчета на тип (ВнешнийОтчет.ИмяОтчета). После этого реквизиты внешней обработки стали видны внутри Отчет. В отладчике в модуле формы у реквизита ДеревоЗначений стали видны колонки, которые я создал в модуле объекта. Но количество строк 0. Реквизит типа строка тоже пустой, я его заполнил в модуле объекта. Вот это уже совсем не понятно.  Куда еще можно посмотреть?
3 Chameleon1980
 
04.01.26
09:04
...Но количество строк 0... чего? а сколько должно быть? кто украл строки?
4 Chameleon1980
 
04.01.26
09:41
(2) наверное, про это нужно почитать:
РеквизитФормыВЗначение, ЗначениеВРеквизитФормы
5 Micru
 
04.01.26
16:43
(4) Не все так просто. Демо ЗУП. Создаю внешний отчет, в нем форму отчета. Реквизит внешней обработки типа строка помещаю на эту форму. В ПриКомпоновкеРезультата() пишу в него значение. На форме значение заполнилось. Копирую в эту же обработку форму из Общие->Общие Формы-> ФормаОтчета. Меняю у формы тип на ВнешнийОтчет.ИмяОтчета. Реквизит обработки на форме больше не обновляется - пустой. Назначаю форму отчета назад на свою форму и реквизит обновляется. Так что просто смены типа у формы не достаточно.
6 Chameleon1980
 
04.01.26
17:18
(5) запутал. а зачем все эти манипуляции? так - возможности узнать?
7 Chameleon1980
 
04.01.26
17:18
Копирую в эту же обработку форму из Общие->Общие Формы-> ФормаОтчета

а назначил эту форму основной формой?
8 Micru
 
04.01.26
21:03
(6) Да, манипуляции, чтобы понять, в чем проблема.
(7) Конечно, назначил форму основной. Похоже, проблема нерешаема, поскольку в модуле формы из ЗУП 5307 строк кода. Что они там переопределили, неведомо.
9 craxx
 
04.01.26
19:21
(0) Позовите программиста
10 Micru
 
04.01.26
19:29
(9) Ну так я хоть и хомячек еще, но стремлюсь в программисты.
11 craxx
 
04.01.26
19:33
(10) Решили начать курочения отчетов ЗУП? не смешите меня.
Возьмите что-нибудь попроще.
12 Micru
 
04.01.26
20:27
Работодатель ставит задачу ...
13 Волшебник
 
04.01.26
20:59
(12) Пошёл он в жопу
14 Kongo2019
 
04.01.26
22:19
(12) А можно ее как-то описать? а то может вы его неправильно поняли, нафига внешние отчеты в ЗУП? Там своих вагон и маленькая тележка.
15 Маленький Вопросик
 
04.01.26
22:23
(0) что за отчет то? и что за версия зупа?
16 Маленький Вопросик
 
04.01.26
22:24
(14) не скажи - я делал много внешних отчетов - в основном по удержанию и вычетам "в удобной форме"... просто с зуп мало кто работает...
17 Kongo2019
 
04.01.26
22:42
(16) Ну так с нуля же я так думаю. А не перепиливал готовый.
18 Micru
 
05.01.26
12:49
В ЗУП сделать отчет с нуля практически не реально. Для определения, например начислений, нужно объединить данные из нескольких регистров и наложить совершенно не очевидные ограничения и условия. К этому еще применить механизм представлений ЗУП. Я нашел для себя выход - ищу подходящий отчет. Перехватываю работу отчета в ПриКомпоновкеРезультата(), выгружаю данные в Дерево значений или ТЗ. Дальше обрабатываю их и выгружаю в DBF. Это нужно для выгрузки во внешнюю систему, где считается зарплата (самопись). И это уже работало успешно, но попался особенный отчет ДинамикаПлановыхНачислений, который без штатной формы отчета не работает. А надо то из модуля объекта на форму отправить Дерево значений, что бы пользователь обработанный результат посмотрел перед выгрузкой в DBF.
19 Micru
 
05.01.26
12:52
(15) Отчет ДинамикаПлановыхНачислений. ЗУП Демо, скачан с сайта 1С. Это я дома упражняюсь.
20 Amra
 
05.01.26
13:06
(18) Позовите уже нормального зупера... Нереально отчет с нуля в ЗУПе... А мужики то не знают. Там глядишь и самописка не нужна станет, при живом то зупе
21 craxx
 
05.01.26
13:38
(20) Так я ему еще в (9) это предложил
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс