01.12.2016 Ольга Приходько 27914
Конструирование отчетов в 1С, где каждая ячей...
 

Содержание

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   
 
     
 

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

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

 

Наши проекты

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» в новую систему «1С:ERP 2.4». ...

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

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

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление предприятием», «1С:Управление корпоративными финансами»...

ПЭК
ПЭК

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

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

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

Фирма 1С
Фирма 1С

Отрасль:

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

- Подготовка функциональной модели прикладного решения «1С:Документооборот» для сервиса «1С:Облачная карта решений»; - Возможность интеграц...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с покупателями
- Учет продаж ТМЦ
- Управление складскими ...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную систему управления финансовой и закупочной деятельностью (АС ФЗД) ...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

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

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

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов;
- Учет и контроль исполнения поручений;
- Учет рабо...

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

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

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

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

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

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

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– Логистика адресного склада;
– Управление отношениями с пост...

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

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

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

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

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

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

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

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

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:ТОИР Управление ремонтами и обслуживанием оборудования

Мониторинг и анализ ключевых показателей деятельности предприятия Управленческий учет Финансовый анализ ...

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

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

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

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