26.12.2021 Айдар Фархутдинов 13333
Сложные отчёты в 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С:Управление холдингом 8

Бухгалтерский учет;
Расчет зарплаты и кадровый учет;...

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

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

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

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

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

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

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

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

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

ПЭК
ПЭК

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

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

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

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

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

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

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

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

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

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

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

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

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

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

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

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

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

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

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

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

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

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

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

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

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

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

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

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

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

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

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

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

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

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