26.12.2021 Айдар Фархутдинов 11205
Сложные отчёты в 1С

Содержание:

1.       Связи наборов данных

2.       Ежемесячный оборот по периодам и остатки по датам

3.       Периодичные величины (остатки, валютные курсы) за конкретные даты в сложных отчетах

4.       Произвольные столбцы в сложном отчёте


В данной статье будет описано, как создавать и оформлять сложные отчёты в 1С, а именно: как проводить соединение по наборам, как оформлять ежемесячные обороты и создавать остатки по датам, как работать с периодичными величинами и как работать с произвольными колонками.


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


1.    Связи наборов данных


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



Рис. 1 Таблица с данными о количестве товара



Рис. 2 Таблица с данными о свойствах товара


В данных таблицах необходимо провести соответствие по товару, после чего – вывести результат.

Можно провести соединение в запросе, тогда результатом будет следующая таблица:



Рис. 3 Результат соединения в запросе


А в группах по итогам будет такая таблица:



Рис. 4 Группы по итогам соединения в запросе


Однако мы видим, что итоги выведены неправильно, так как видов товара только три.

Сделаем следующее: настроим соответствие каждой из первоначальных таблиц с набором данных и проведём их соединение при помощи СКД (система компоновки данных), как показано в таблице ниже:



Рис. 5 Соединение при помощи системы компоновки данных


Видим, что результат получили верный. То есть получаем, что одной из особенностей системы компоновки данных является то, что во время соединения наборов в виде «Один ко многим» итоги не будут искажены. Соединение подобных таблиц для сложных отчётов при помощи СКД – наилучший вариант.  


2.    Ежемесячный оборот по периодам и остатки по датам


Обычно в сложных отчётах, используется подобная стандартная таблица, которая представляет собой сальдо по датам, а также разворот по периоду за необходимый период. Пример подобной таблицы представлен ниже:



Рис. 6 Сальдо по датам


Чтобы воспроизвести подобное сальдо по датам, нужно провести следующие манипуляции:

1.     Создать два вида наборов данных – для оборотов и для остатков, как можно увидеть на скриншоте ниже:



Рис. 7 Два вида набора данных


2.     Далее необходимо соединить эти виды наборов данных, как показано ниже:



Рис. 8 Создание связи наборов данных


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



Рис. 9 Вычисляемое поле для выведения сальдо по датам


4.     Следующий шаг – это настройка нужных ресурсов, то есть тех полей, по которым и будет происходить расчёт итогов:



Рис. 10 Настройка ресурсов для сальдо по датам


5.     Далее необходимо настроить вывод этих данных:



Рис. 11 Настройка вывода данных для сальдо по датам


6.     Далее воспользуемся специальным приёмом, а именно: удалим автоматическое поле – останется то, которое нужно для проведения группировки, как показано на скриншотах ниже:



Рис. 12 Выбор поля остаток на дату для сальдо по датам



Рис. 13 Удаление поля для сальдо по датам

 

7.     Внутри служебной колонки нужно выключить общие итоги в СКД, так как они нам не нужны:




Рис. 14 Выключение общих итогов в СКД


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



Рис. 15 Настройка таблицы с ежемесячными оборотами  

 

3.    Периодичные величины (остатки, валютные курсы) за конкретные даты в сложных отчетах


Иногда случается, что основная часть сложного отчёта готова, но необходимо поверх добавить ещё что-то, например, курсы валют. Для этого нужно использовать главный набор, к которому и будут добавляться различные курсы валют. Воспользуемся календарём (см. скриншот ниже), при этом вторым набором будут сами валютные курсы.



Рис. 16 Добавление календаря в сложный отчет



Рис. 17 Добавление курса валют в сложный отчет


Важно обратить внимание на поле «ПериодВалюты», которое представляет собой параметр из виртуальной таблицы. Данное поле необходимо, чтобы произвести соединение по наборам, как показано ниже:



Рис. 18 Параметр виртуальной таблицы ПериодВалюты


Нужное поле находится в столбце «Выражение приемник», а внутри столбца «Параметр» нужно выбрать «&ПериодВалюты». Стоит отметить, что данные параметры могут иметь различные названия, но для упрощения примера они были названы одинаково. Далее через компоновщик данных будет передаваться величина из «ДатаКалендаря» для параметра «&ПериодВалюты». Так можно увидеть, что запрос со вторым набором данных будет цикличным.  


4.    Произвольные столбцы в сложном отчёте


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



Рис. 19 Сложный отчет в виде таблицы


Стоит отметить, что условия для каждого из значений в таблицы могут быть весьма непростыми. Тогда нам необходимо следовать специальному алгоритму, дабы сделать сложный отчёт корректно:


1.     Первым шагом нужно прописать запрос, который создаст все столбцы, в нашем примере он будет выглядеть так:



Рис. 20 Запрос для создания столбцов в сложном отчете


2.     Результатом такого запроса будет список со всеми номенклатурами;


3.     В запросе, который представлен ниже, мы получим всевозможные данные. Также стоит отметить, что в этом запросе поле «Раздел» необходимо для сопоставления подзапроса с колонкой. Чтобы избежать того, что в источнике не будет выбрано строк и в ответ получим частичный перечень колонок, необходимо в последнем подзапросе добавить декартово произведение таблиц «ПереченьНоменклатуры» и «Разделы».



Рис. 21 Добавление декартового произведения таблиц


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



Рис. 22 Сортировка по колонкам в сложном отчете


5.     Далее остаётся лишь провести настройки для выведения данных в виде таблицы:



Рис. 23 Вывести таблицу СКД

 

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

Айдар Фархутдинов

Наши проекты

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

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

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

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

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

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

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

Управление цепочками поставок Оптовая торговля ...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

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

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных разниц по лизинговому имуществу...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

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

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка функционала подсистемы...

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

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

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

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

Внедрение ПП "1С:Корпоративный инструментальный пакет 8" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

МГК "Световые Технологии"
МГК "Световые Технологии"

Отрасль:

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

Специалисты "Кодерлайн" произвели доработки в системе 1С:ЕРП 2.4 с учетом требований заказчика, осуществили настройки загрузки и выгрузки н...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

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

- Оптимизация производительности системы, в том числе сервера Postgre. ...

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

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

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

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