Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Разделение типоаого отчета Бух корп. с сохранением типовой расшифровки полей.

Разделение типоаого отчета Бух корп. с сохранением типовой расшифровки полей.
Я
   segun
 
14.02.18 - 18:59
Вопрос по типовой конфигурации Бух. Корп. версии 8.3

Вкратце суть вопроса в следующем.

Есть типовой, встроенный в конфигурацию отчет. например "ВедомостьАмортизацииОСБухгалтерскийУчет".

Как сделать несколько внешних отчетов на базе данного отчета, поместив их в стандартное хранилище Дополнительные отчеты и обработки, но при этом, оставив типовой механизм расшифровки полей данного отчета, с помощью процедуры

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    БухгалтерскиеОтчетыКлиент.ОбработкаРасшифровкиСтандартногоОтчета(ЭтаФорма, Элемент, Расшифровка, СтандартнаяОбработка);

КонецПроцедуры.

Для того, чтобы поместить все созданные внешние отчеты в "дополнительные отчеты и обработки", надо задать уникальные имена.

Но чтобы отработал стандартный функционал расшифровки полей отчета
Общий модуль  БухгалтерскиеОтчетыВызовСервера
Функция ПолучитьПараметрыРасшифровкиОтчета(Адрес, ИдентификаторОбъекта, Расшифровка) Экспорт    
    ......
    ПараметрыИсполненияОтчета = Отчеты[ИдентификаторОбъекта].ПолучитьПараметрыИсполненияОтчета();

Имена отчетов необходимо оставить такими же, какими они были у исходного, иначе появляется ошибка.
Поле объекта не обнаружено. Например: {ОбщийМодуль.БухгалтерскиеОтчетыВызовСервера.Модуль(2103)}: Поле объекта не обнаружено (ВедомостьАмортизацииОСБухгалтерскийУчетСвернутая)
    ПараметрыИсполненияОтчета = Отчеты[ИдентификаторОбъекта].ПолучитьПараметрыИсполненияОтчета();

И не совсем понятно как правильно обойти данную ситуацию. Дорабатывать типовые модули, для подмены имени не хочется. Так как конфигурация обновляемая. Вносить все отчеты в конфигурацию, тоже не вариант.  

Может кто сталкивался уже с такой задачей.  Какие есть варианты решения?
 
 
   Вафель
 
1 - 14.02.18 - 19:10
через расширение сделай
   Фрэнки
 
2 - 14.02.18 - 19:10
но даже получишь параметры от корректно указанного имени - это же будут параметры не того же отчета, что открыт у тебя в текущем сеансе, а того, что остался из прошлого запуска другого отчета?
   Фрэнки
 
3 - 14.02.18 - 19:13
и не мешает посмотреть, а что это такое вообще: коллекция или что-то еще под именем Отчеты[] в данном контексте?
   Cyberhawk
 
4 - 14.02.18 - 19:35
Я бы на твоем месте сначала сделал отчет просто внешним, т.к. для этого придется, скорее всего, попотеть, плюс функциональность отчета уменьшится
   Tateossian
 
5 - 14.02.18 - 19:37
Жаль в 1с нет наследования(((
   segun
 
6 - 14.02.18 - 21:11
(3) Насколько я понял. это метаданные конфигурации Отчеты. т.е идет обращение к встроеномму отчету.
   segun
 
7 - 14.02.18 - 21:14
(1) а можно поподробнее?
   Фрэнки
 
8 - 14.02.18 - 21:15
(6) ну так а в твоем отчете есть такая процедура?
   segun
 
9 - 14.02.18 - 21:21
это общий модуль конфигурации. все типовые бух. отчеты.. для получения расшифровки используют его.. не хотелось бы весь механизм перосить во внешний отчет.
   Фрэнки
 
10 - 14.02.18 - 21:34
(9)
чтобы получить вот это :
---
Имена отчетов необходимо оставить такими же, какими они были у исходного, иначе появляется ошибка.
Поле объекта не обнаружено. Например: {ОбщийМодуль.БухгалтерскиеОтчетыВызовСервера.Модуль(2103)}: Поле объекта не обнаружено (ВедомостьАмортизацииОСБухгалтерскийУчетСвернутая) 
    ПараметрыИсполненияОтчета = Отчеты[ИдентификаторОбъекта].ПолучитьПараметрыИсполненияОтчета();
---
что было сделано?
 
 Рекламное место пустует
   Tateossian
 
11 - 14.02.18 - 21:36
(0) Сделай прокси-функцию, или функцию-обертку. Там переопределяй данные перед подачей на вход. И все.
   Фрэнки
 
12 - 14.02.18 - 21:44
*(10)+ Просто дело в том, что эта вызываемая функция и еще несколько ее подобных находятся в модуле менеджера встроенного отчета. Когда отчет из конфтгурации сохраняется во внешний файл, то в нем этот модуль исчезает и все.

Возможно, что самых простых решений тут всего два:
1 - скопировать экспортные функции из модуля менеджера в модуль объекта внешнего отчета.
2 - разрабатывать все эти новые отчеты в составе Расширения.
Отчеты в Расширении позволяют использовать код в контексте модуля менеджера.
   Фрэнки
 
13 - 14.02.18 - 21:44
и похоже на то, что вариант 2 будет работать на 100%
   segun
 
14 - 15.02.18 - 18:06
Спасибо большое. буду разбираться с расширением

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует