Имя: Пароль:
1C
 
Получить конкретную общую форму отчета для конкретного отчета
0 TormozIT
 
гуру
03.02.26
08:17
В конфигурации 1С есть общая форма отчета "ОтчетОбщая", не назначенная в качестве основной формы отчета конфигурации. Как без изменения конфигурации для конкретного отчета Отчет1 программно получить эту форму?

ф = ПолучитьФорму("Отчет.Отчет1.Форма.ОтчетОбщая");
Ошибка: Неизвестное имя формы. Имя: "Отчет.Отчет1.Форма.ОтчетОбщая"

ПолучитьФорму("ОбщаяФорма.ОтчетОбщая", Новый Структура("ИмяОтчета", "Отчет1"))
Ошибка: Получать форму объекта - отчета возможно только для конкретного отчета
Но в документации похожего нет. Перебрал уже много имен параметра (вместо "ИмяОтчета").

И даже через подписку ОбработкаПолученияФормы тут https://partners.v8.1c.ru/forum/topic/1399038 пишут, что не работает.
Зеркало вопроса https://partners.v8.1c.ru/forum/t/2271039/m/2271039
1 TormozIT
 
гуру
03.02.26
08:16
Пока единственный найденный вариант - частичное решение в управляемом приложении - найти отчет со статической связью с нужной общей формой отчета (программная сборка внешнего отчета, если отсутствует в конфигурации) и затем грубая подмена в ней объекта после создания формы.
2 Ёпрст
 
гуру
03.02.26
09:46
(0)
ПолучитьОбщуюФорму (GetCommonForm)
Синтаксис:
ПолучитьОбщуюФорму(<Форма>, <Владелец>, <КлючУникальности>)
3 Ёпрст
 
гуру
03.02.26
09:47
Не ?
4 Ёпрст
 
гуру
03.02.26
09:47
А тонкий, там хз.
5 Ёпрст
 
гуру
03.02.26
09:55
А ОткрытьФорму("Отчет.Отчет1.Форма.ОтчетОбщая") работает хоть ?
6 Ёпрст
 
гуру
03.02.26
10:10
И ... что не так ? Всё же работает:
7 TormozIT
 
гуру
03.02.26
22:53
Сделал (1) в анализаторе кода ИР
https://www.hostedredmine.com/issues/1007964
8 Ёпрст
 
гуру
03.02.26
22:55
(7) а в (6) не оно ?
9 Волшебник
 
03.02.26
23:39
(0) 💖 Давайте все поблагодарим Сергея за весь его комплект инструментов, которые он сделал для 1С.
И ничего там не тормозИТ и всё работает!

Молодец, Сергей! Силища!