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


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С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

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

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

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

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

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

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

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

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

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

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

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

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

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

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

- Налоговый учет;...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

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

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

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

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

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

- Создание полноценной управленческой системы взамен существующих
- Внедр...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

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

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

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

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

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

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

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

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

ООО "НЦКТ"
ООО "НЦКТ"

Отрасль:
Профессиональные услуги

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

Производственные операции
Автоматизация бизнес-процессов...

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

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

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

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