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

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- ...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

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

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

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

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

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

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

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

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

ООО «Иви.ру»
ООО «Иви.ру»

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

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

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

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

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

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

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

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

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

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

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

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет ...

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

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

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

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

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

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

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

Объемно-календарное планирование производства Автоматизация бизнес-проце...

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

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

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

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

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

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

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

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