KoderLine
Обслуживание
и внедрение
Наш Facebook Наш Instagram Наш YouTube
+7 (495) 374 55 29 Обратный звонок
Кодерлайн приглашает на День Бухгалтерии в Большом Московском цирке
Конструирование отчетов в 1С, где каждая ячей...

Конструирование отчетов в 1С, где каждая ячейка рассчитывается отдельно. Примеры в 1С:ERP, 1С:УХ, СКД

0
5222
01.12.2016 Ольга Приходько
 

Содержание

1. Немного теории

2. Сбор фактических данных по показателям и статьям бюджетов в 1С:ERP

3. Индивидуальный расчет каждой ячейки в «1С:Управление холдингом»

4. Механизм компоновки данных СКД

4.1. Как правильно формировать отчет на СКД в 1С

4.2. Пример запроса на СКД в 1С 
 
     
 

Сегодня любому понятно, для чего нужен отчет. Огромные потоки информации кого хочешь собьют с толку, запутают и разнесут в клочья. Поэтому любую информацию человек пытается разложить по небольшим полочкам, клеточкам, квадратикам. А потом собрать из этих полочек – клеточек какую-нибудь картинку, которая ему объяснит, что же все-таки в этом мире происходит.

В этом подходе нет ничего нового, например, еще с прошлого века, чтобы положить “информационного слона” в холодильник, то есть в компьютер, его разбивают на множество нулей и единиц. Но человеку от этого не легче воспринимать информацию, слишком сильное дробление, так же, как и не дробление вообще, обстановку не проясняют. Поэтому после разбития информации ее начинают агрегировать, и на уровне таблиц баз данных человек уже вполне может воспринимать и анализировать оцифрованную информацию. Другое дело, что таблицы базы данных – это пока промежуточный вариант агрегации удобный скорее компьютеру, чем человеку.

На платформе 1С разработано много более предметно-ориентированных сущностей для хранения информации:

  • Справочники

  • Документы

  • Регистры сведений

  • Регистры накопления

  • Регистры бухгалтерии

Но это агрегация системная и разобраться в ней, не зная языка запросов, простому пользователю, как правило, сложно. Да и с помощью языка запросов легко получить отчет, в котором все строки и все значения в строке по идентичным алгоритмам, например, берутся как строки и колонки физической таблицы с конкретными отборами. Если же каждая ячейка отчета вычисляется по своей формуле, то простым запросом к физической таблице или предметно-ориентированной сущности обойтись не удастся.

Пользователь мыслит конкретными своими сущностями: если это подкованный экономист или бухгалтер, то это будет конкретный вид итога по счету и выбранной аналитике, а если он кладовщик, то это количество конкретного товара. Представления о структуре хранения данных у него нет, да оно ему и не нужно. Но при этом все стараются оптимизировать количество воспринимаемой информации при решении конкретной задачи. Отсюда и возникают ситуации, когда людям нужны рассчитываемые по собственным формулам ячейки отчетов.

Есть, конечно, классические отчеты, к которым все пользователи данной предметной области привыкли: Семейство оборотно-сальдовой ведомости, Анализ счета, Анализ субконто для бухгалтера, Ведомость по товарам на складах для кладовщика, Платежный календарь для финансиста. Классические отчеты хороши тем, что дают достаточно информации, чтобы разбирать текущие ситуации, но не позволяют автоматизировать специфические расчеты в разрезе пользовательской аналитики. Еще достоинство классических отчетов – они стандартизируют мышление. И если пользователям нужна какая-то специфическая отчетность по международным стандартам или по статьям бюджета, то они, как правило, могут разложить свою потребность в терминах классических отчетов.

Сейчас в 1С:ERP и в «1С:Управление холдингом» существуют конструкторы, которые в пользовательском режиме в понятных пользователю терминах позволяют собирать отчеты с умными ячейками. Использование этих механизмов позволяет сильно сократить время на уточнение и отладку постановки задачи. Наиболее часто такие механизмы используются для настройки трансляции проводок из российского учета в международный. Но поскольку эта трансляция – процесс, как правило, автоматический и ее непосредственным результатом не является формирование отчетов, то мы ее здесь рассматривать не будем. 
 
     
 

Сбор фактических данных по показателям и статьям бюджетов в 1С:ERP

 
     
 

Рассмотрим, как работает в ERP сбор фактических данных по показателям и статьям бюджетов. В паре с конструктором бюджетных отчетов – это полноценная система конструирования сложных отчетов с индивидуальным расчетом каждой ячейки без использования конфигуратора.

Настройка получения данных осуществляется при помощи обработки «Настройка правил получения фактических данных бюджетирования». Настройка может производиться в двух режимах:

По статьям бюджетов и показателям 
 
  Screenshot_1.png   
 

Выбор сущности, выводимой в отчет, в данном случае влияет на вид остатка при формировании запроса.

По источникам данных 
 
  Screenshot_2.png   
 

Здесь можно видеть, к каким регистрам можно делать запрос при получении фактических данных:

Регламентированный учет – это ОСВ, регистр бухгалтерии Хозрасчетный. Обязательным элементом отбора в данном случае будет являться Счет, а дополнительными возможными – субконто этого счета и реквизиты регистра.

  • Международный учет – это ОСВ по МСФО, регистр бухгалтерии МСФО. Обязательным элементом отбора здесь также будет счет, а дополнительными – его субконто и реквизиты регистра.

  • Оперативный учет (хозяйственные операции) – информация отбирается в разрезе предопределенных сущностей ERP: хозяйственных операций и отборов по аналитикам этих сущностей.

  • Оперативный учет (статьи активов и пассивов) – информация отбирается в разрезе статей активов и пассивов отчета управленческий баланс и их аналитик.

  • Статьи бюджета и показатели доступны для выбора в качестве строк и колонок универсального бюджетного отчета. При формировании общего запроса на основании этих настроек формируются отдельные его части.

Статьи бюджетов и показатели в ERP также можно получить, выбрав в поле «Раздел источника данных» Произвольные данные. 
 
  Screenshot_3.png   
  В этом случае можно обойти ограничение по виду остатка, наложенное бюджетной сущностью.

Собрать вместе показатели и статьи бюджета можно при помощи конструктора бюджетных отчетов
 
  Screenshot_4.png   
     
 

Индивидуальный расчет каждой ячейки в «1С:Управление холдингом»

 
     
 

Аналогичный механизм есть и в «1С:Управление холдингом», он унаследован из консолидации. Отчеты с ячейками, вычисляемыми по индивидуальным формулам, в УХ называются произвольными отчетами, а сами вычисляемые ячейки – показателями. Механизм получения показателей в УХ исторически значительно более развит, чем в ERP, и по предоставляемым возможностям настройки его можно сравнить с языком запросов.

Верхним уровнем иерархии для расчета показателей является формула 
 
  Screenshot_5.png   
  В формуле при помощи математических действий можно соединять значения других показателей отчета, итоги по бухгалтерским регистрам или операнды (источники данных).
 
  Screenshot_6.png   
 

В зависимости от выбора способа получения данных источниками данных могут быть:

  • Справочники

  • Документы

  • Регистры сведений, имеющие ресурсы

  • Регистры накопления, имеющие ресурсы, с возможными вариантами выбора итогов: начальный остаток, конечный остаток, приход, расход, оборот. Возможно также настроить отбор информации по измерениям выбранного регистра.

  • Регистры бухгалтерии с обязательным отбором по счету, с возможными вариантами выбора итогов начальное, конечное сальдо по дебету и кредиту, оборот по счету по дебету и кредиту, оборот в корреспонденции с другим счетом. Возможно также настроить отбор по реквизитам регистра бухгалтерии аналитикам счета и аналитикам корреспондирующего счета.

Для источников данных настраиваются также соответствия аналитик вычисляемого показателя и аналитик источника для автоматического заполнения значений показателя в разрезе аналитики.

Для сборки показателей в единый отчет может быть использована форма либо произвольного отчета: 
 
  Screenshot_7.png   
  либо сводной таблицы:   
  Screenshot_8.png   
     
 

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

 
     
 

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

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

Как правильно формировать отчет на СКД в 1С

 
     
 

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

Запрос будет состоять из следующих частей:

1. Получение первичных данных из базы: остатков по регистрам, аналитики показателей и т.д. Эти данные лучше получать все вместе. Для этого нужно провести анализ всех формул вычисления ячеек отчета и составить общие критерии для отборов по регистрам и необходимым аналитикам.

2. Формирование временных таблиц для показателей отчета. Лучше каждый показатель складывать в свою временную таблицу, особенно если структура отчета недостаточно хорошо описана. Так будет легче добавлять новые условия отборов и просто ориентироваться в правилах вычисления показателей. Когда структура отчета устоится, можно будет оптимизировать получение некоторых данных для ускорения отчета.

3. Сборка отчета из временных таблиц показателей. Обычно сборка происходит при помощи  конструкции «Объединить» или «Объединить все». Запрос лучше читается, когда в нем объединяется не больше 5-6 показателей одновременно. Так что лучше не торопиться, и объединение проводить по частям.

4. Формирование структуры строк и колонок отчета. Если есть возможность добавить в конфигурацию справочник или регистр сведений, то структуру отчета лучше хранить в базе с возможностью отдельного редактирования в пользовательском режиме. Но если мы хотим, чтобы конфигурация оставалась на поддержке, но такой возможности нет, то структуру отчета можно сформировать одной временной таблицей, в которой просто перечислить все строки и колонки отчета через конструкцию «Объединить». Можно также определить порядок следования строки колонок через дополнительное поле «Сортировка».

5. Соединение структуры отчета и данных отчета выполняется при помощи левого соединения, причем ведущей таблицей должна быть структура отчет. В этом случае все строки структуры будут отображаться в отчет независимо от наличия данных. Важно также продумать представление пустых значений аналитик и данных отчета для того, чтобы их было удобно использовать в отборах СКД.

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

Пример запроса на СКД в 1С 

 
     
  Создадим пример такого запроса для СКД. Предположим, что некоторая организация хочет видеть расчеты со своими покупателями, отраженные в бухгалтерском учете, сгруппированными по 2 строкам «Внешние контрагенты» и «Внутренние контрагенты». Списки внешних и внутренних контрагентов ведутся в Excel. Тогда запрос, реализующий эту потребность может выглядеть следующим образом:   
  Screenshot_9.png
Screenshot_10.png
Screenshot_11.png
Screenshot_12.png   
 
     
 

Ольга Приходько,

консультант-аналитик ООО «Кодерлайн» 

 

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #ADO #APACHE #API #com-объекты #Excel #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Моделирование #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Расширение конфигурации #РСБУ #СКД #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Ценообразование #Экзамен 1С #Яндекс.Касса Email или телефон
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.
Яндекс.Метрика