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


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С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

Отрасль:
Торговля

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

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

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

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

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

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

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

Отрасль:
Производство

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

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

АО «РЭП Холдинг»
АО «РЭП Холдинг»

Отрасль:
Энергомашиностроительный холдинг

Внедренное типовое решение:
«1С: Управление производственным предприятием» и «1С:Консолидация ПРОФ»

- Функциональный блок «Консолидированная отчетность РСБУ» - разработка час...

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

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

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

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

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

Бухгалтерский учет Производственные операции Регламентированная отчетнос...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

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

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

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

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

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

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

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

Отрасль:
Оптовая торговля

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

- Оперативный учет...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

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

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

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

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

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

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