Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 01:44

Добавление нового поля в стандартный отчет

Автор yurrisu, 21 июл 2016, 13:49

0 Пользователей и 1 гость просматривают эту тему.

yurrisu

Добрый день!

Конфигурация: 1С:Предприятие 8.3 (8.3.7.1790), Бухгалтерия предприятия, редакция 3.0 (3.0.43.241).

Сохранил отчет "ВедомостьАмортизацииОСБухгалтерскийУчет" как внешний. В существующую в отчете СКД добавил запрос и новое поле. Но отчет при открытии визуально не меняется. Не могу понять в чем проблема.

Kironten

Цитата: yurrisu от 21 июл 2016, 13:49
Добрый день!

Конфигурация: 1С:Предприятие 8.3 (8.3.7.1790), Бухгалтерия предприятия, редакция 3.0 (3.0.43.241).

Сохранил отчет "ВедомостьАмортизацииОСБухгалтерскийУчет" как внешний. В существующую в отчете СКД добавил запрос и новое поле. Но отчет при открытии визуально не меняется. Не могу понять в чем проблема.
Значит в настройках где то не добавлен.
Или, если это ресурс, то посмотри, добавлено ли он на закладку ресурсы.

yurrisu

Вроде все настроено:
- на закладке "Набор данных" - это поле есть;
- на закладке "Ресурсу" - его нет, но это и не ресурс;
- закладка "Настройки", вкладка "Выбранные поля" - добавлено;

Мне не совсем понятно, как вызывается СКД, в модуле отчета есть код:
ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных"           ,  ПолучитьИзВременногоХранилища(СхемаКомпоновкиДанных));

Может в этом проблема?

SGIRG

У этого отчета есть код в модуле менеджера, который очищается, когда сохраняешь его как внешний отчет. Возможно в этом дело.
Ничего не знаю, но иногда могу произнести праведную чушь)

yurrisu

Может, конечно, и в этом дело. Но в этом коде нет ничего дельного.
Отчет сам по себе работает и без этого кода.
Не понятно, что происходит в этой строке
ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных"           ,  ПолучитьИзВременногоХранилища(СхемаКомпоновкиДанных));

Если нигде в форме нет помещения в хранилище. И если перекурочить СКД внешнего отчета, при выполнении на отчет это не влияет. Такое чувство, что он продолжает тянуть СКД из конфы.

Kironten

Цитата: yurrisu от 21 июл 2016, 16:16
Такое чувство, что он продолжает тянуть СКД из конфы.

Да, именно так она и делает.
Вот строка в БухгалтерскиеОтчетыВызовСервера:
Схема = Отчеты[ИмяОтчета].ПолучитьМакет("СхемаКомпоновкиДанных");

SGIRG

&НаСервере
Процедура ИнициализацияКомпоновщикаНастроек()

БухгалтерскиеОтчетыВызовСервера.ИнициализацияКомпоновщикаНастроек(ЭтаФорма, ОрганизацияИзменилась, "ВедомостьАмортизацииОСБухгалтерскийУчет");

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


В этой процедуре идет вызов универсальной процедуры.
Тебе будет необходимо перетянуть её (и все сопутствующие процедуры и функции) в свою обработку
Далее, как говорилось выше, строку:
Схема = Отчеты[ИмяОтчета].ПолучитьМакет("СхемаКомпоновкиДанных");
заменишь на
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
Схема = ОтчетОбъект.ПолучитьМакет("СхемаКомпоновкиДанных");


и отчет должен хоть как-то заработать и появится возможность в настройках как минимум в доп. поля добавлять самодельные реквизиты
при условии, что ты оставил обе схемы компоновки не переименовывая их
Ничего не знаю, но иногда могу произнести праведную чушь)

boris_mef

Мне, чтобы вывести своё поле во внешний отчет ВедомостьАмортизацииОСБухгалтерскийУчет, кроме добавления своего поля в запрос (ну и в "Наборы данных") и включения этого поля в "Выбранные поля" в "Настройках" понадобилось ещё добавить своё поле в "Дополнительные данные" уже на самой форме. Эта таблица заполняется в процедуре ЗаполнитьНачальныеНастройки() модуля отчёта.
Добавлено: 22 июл 2016, 11:33


Поправлюсь. Предыдущий пост относится к БП 2.0. В БП 3.0 процедура уже - ЗаполнитьНастройкамиПоУмолчанию() в самой форме отчета.

yurrisu


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск