15.12.2022 Екатерина Редько 12670
Внесение изменений в схему компоновки данных ...


1.     Отчет «ОСВ по счету»


У формы отчета «ОСВ по счету» есть реквизит СхемаКомпоновкиДанных.       

Это строка, которая хранит адрес в хранилище. По адресу находится Схема компоновки данных. Именно эта схема и используется при формировании отчета в 1С.



Схема компоновки данных 1С


У отчета «ОСВ по счету» есть два макета: ОсновнаяСхемаКомпоновкиДанных и СхемаКомпоновкиДанных. В качестве основной схемы установлен макет ОсновнаяСхемаКомпоновкиДанных.



Схема Компоновки Данных



ОборотноСальдоваяВедомостьПоСчету


При этом, если посмотреть, что представляют собой эти схемы, мы обнаружим, что ОсновнаяСхемаКомпоновкиДанных пустая!




ОсновнаяСхемаКомпоновкиДанных пустая


Зато СхемаКомпоновкиДанных как раз и содержит информацию для компоновки данных отчета 1С:



Информация для компоновки данных отчета 1С


Итак, получаем довольно запутанную ситуацию, когда у отчета стоит пустая основная схема данных 1С, есть дополнительная рабочая схема, а отчет формируется из схемы, находящейся в хранилище по адресу из реквизита формы.  


2.     Какая схема и как она попадает в реквизит форму в конфигурации системы 1С

 

Теперь разберемся, какая же схема и как попадает в реквизит формы в конфигурации системы 1С.

Если поставить точку останова 1С в начало процедуры ПриСозданииНаСервере формы отчета, то увидим, что в этот момент реквизит формы СхемаКомпоновкиДанных еще пуст.



Реквизит формы СхемаКомпоновкиДанных пуст


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



Адрес основной схемы отчета


Итак, на момент открытия формы отчета, мы имеем пустую схему.


Однако, все изменится, когда мы начнем формировать отчет, или откроем настройки. Происходит обращение к процедуре 1С ИнциализацияКомпоновщикаНастроек которая и отвечает за установку правильной схемы.



Обращение к процедуре 1С ИнциализацияКомпоновщикаНастроек


Она отправляет нас в процедуру общего модуля БухгалтерскиеОтчетыВызовСервера.ИнциализацияКомпоновщикаНастроек, где и происходит самое интересное – вычисляется актуальное имя схемы.



Вычисляется актуальное имя схемы


В комментарии к процедуре общего модуля БухгалтерскиеОтчеты.ИмяСхемыКомпоновкиДанныхОтчета подробно расписано, каким условиям должен удовлетворять отчет, чтобы иметь возможность применить механизм подмены схемы компоновки данных 1С: должен быть реквизит ТекущаяСхемаКомпоновкиДанных и две служебных процедуры в модуле менеджера отчета.




Для типового отчета «ОСВ по счету 1С» отрабатывает стандартный вариант. Процедура ОтчетПоддерживаетНесколькоСхемКомпоновкиДанных возвращает Ложь (проверяется наличие реквизита ТекущаяСхемаКомпоновкиДанных), и функция вернет имя схемы по умолчанию – «СхемаКомпоновкиДанных» (это как раз и будет дополнительная рабочая схема отчета).


Далее адрес этой схемы запишется в реквизит формы СхемаКомпоновкиДанных и будет использован при формировании отчета.  


3.     Когда требуется изменить типовую схему компоновки данных 1С

 

Теперь рассмотрим ситуацию, когда требуется изменить типовую схему компоновки данных 1С. Если вносить изменения непосредственно в типовой макет СхемаКомпоновкиДанных, с большой долей вероятности, они затрутся после очередного обновления. Например, мне нужно было добавить возможность формирования отчета в 1С в разрезе Регистраций в налоговом органе 1С. Оптимально будет скопировать типовой макет и внести изменения уже в него. У меня используется расширение, поэтому я добавила отчет в расширение и уже там добавила новый макет.

      



Добавлен отчет в расширение и новый макет


Новую схему я доработала – добавила левым соединением регистр сведений РегистрацииВНалоговомОргане и из него саму регистрацию.


Так же в расширении я добавила отчету реквизит ТекущаяСхемаКомпоновкиДанных, а в модуле менеджера добавила две процедуры:

- НовыеПараметрыВыбораСхемыКомпоновкиДанных (так как никакие параметры на выбор схемы влиять не будут, то возвращаю просто пустую структуру;

- ТекущаяСхемаКомпоновкиДанных (принимает на вход структуру параметров, у меня просто возвращает имя нужной мне схемы).




Получила отчет «ОСВ по счету 1С», который формируется по моему доработанному макету, с удобными для обновления изменениями типовой конфигурации.


Этот механизм можно использоваться не только для отчета «ОСВ по счету 1С». Его можно применять если не с любым бухгалтерским отчетом 1С, то с большинством точно.


Что касается именно отчета «ОСВ по счету 1С», то у него еще есть места в модуле менеджера, где запрос из схемы подменяется. Изменения нужно внести и в них. Это процедуры ТекстЗапросаДляСчетовБезСубконто и ШаблонЗапроса.  


4.     Что нужно для внесения изменений в типовой макет бухгалтерского отчета 1С

 

         Итак, для того чтобы внести изменения в типовой макет бухгалтерского отчета 1С нужно выполнить следующие действия:

1)    копируем макет, вносим в него исправления;

2)    добавляем отчету реквизит ТекущаяСхемаКомпоновкиДанных (строка, 80);

3)    в модуль менеджера отчета добавляем процедуру НовыеПараметрыВыбораСхемыКомпоновкиДанных – возвращает Структуру;

4)    в модуль менеджера отчета добавляем процедуру ТекущаяСхемаКомпоновкиДанных – на вход принимает Структуру, возвращает строку – имя нового макета.


Специалист компании ООО "Кодерлайн"

Екатерина Редько


Наши проекты

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Управление торговлей 8

Взаиморасчеты с покупателями
Оптовая торговля
Управление складскими за...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Перевод зарплатных баз с версии ЗУП 2.5 на версию ЗУП 3.1.
- Сопровождение в п...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием для Украины

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Уч...

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

Отрасль:
Авиационно-космическая промышленность

Внедренное типовое решение:
1С:Управление торговлей

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

- Управление отношениями с клиентами (CRM)
- Делопроизводство
- Ведение но...

Внедрение ПП «1С:Предприятие 8. Аренда и управление недвижимостью на базе "1С:Бухгалтерия 8"» в компании «Бутово Молл»
ООО «Бутово Молл»

Отрасль:
Недвижимость

Внедренное типовое решение:
1С:Аренда и управление недвижимостью на базе «1С:Бухгалтерия 8»

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Оформление зак...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

Внедренное типовое решение:
1С:Управление производственным предприятием

Для работы 2500 пользователей в 9 часовых поясах организована территориально-...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение