Как сделать отчет по регистру накопления 1с

Обновлено: 05.07.2024

Бывают ситуации, когда в запросе требуется получить остатки не на фиксированную дату (параметр - один на весь отчет), а на произвольную, (когда дата остатков в каждой строке своя).

Существует несколько способов получить нужные данные.

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

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

Для общего развития:
Что есть срез последних в платформе?

В зависимости от периодичности регистра (по времени, по позизии регистратора) ВТ разворачивается в следующий запрос:
1. По времени (год, месяц, . секунда)
Код 1C v 8.х

2. По позиции регистратора
В данном случае нужно еще раз обернуть выборку
Код 1C v 8.х

Все это можно увидеть посмотрев технологический журнал с включенным режимом протоколирования запросов

2.Система компоновки данных (передача набора значений одной таблицы в параметр виртуальной таблицы)
Данный способ подходит для отчетов. Из очевидных плюсов - если курс (или другие данные) не нужны для построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться и несколько ниже, чем в первом способе.

Для примера сделаем отчет - список заказов покупателей.

Для этого создадим набор данных "Документы" - запрос:
Код 1C v 8.х

title

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

Для того, чтобы получить информацию о курсах валют, добавим второй набор данных-запрос, "Курсы валют":
Код 1C v 8.х

title

В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях - это нужно для соединения таблиц.
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись в доступных полях.

title

Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "Дата", выражение приемник - "Дата", Параметр - "Дата"
2. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "ВалютаДокумента", выражение приемник - "Валюта", Параметр - "Валюта"

Главное здесь - параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае - запрос "Курсы валют") параметры, указанные в соединении. Значениями параметров будут значения соответствующих полей набора-источника.

title

Перейдем к вычисляемым полям. Добавим вычисляемое поле "СуммаВВалютеУпрУчета". Выражение поля - "СуммаДокумента * Курс / Кратность".

title

Также укажем поля "СуммаДокумента" и "СуммаВВалютеУпрУчета" как ресурсы

title

Настроим отчет.
Добавим одну группировку "Детальные записи", в выбранных полях укажем "ЗаказПолкупателя", "Курс" и "Кратность". Добавим ресурсы "СуммаДокумента" и "СуммаВВалютеУпрУчета"

title

Можно формировать отчет

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

Итак, прежде чем строить отчет, поймем, чего мы ждем от этого отчета.

Нам хотелось бы получать сведения о количественных и суммовых остатках номенклатуры по ответственным лицам на заданную дату. Эти данные мы можем найти в регистре накопления ОстаткиМатериалов.

Добавим в дереве конфигурации новый отчет, назовем его ОстаткиМатериалов. Включим его в состав подсистемы ОперативныйУчетМатериалов.

На закладке Основные нажмем на кнопку с увеличительным стеклом в поле Основная схема компоновки данных. Появится окно конструктора макета, где мы можем задать имя (нас устроит имя по умолчанию – ОсновнаяСхемаКомпоновкиДанных), тип макета ограничен единственным – Схема компоновки данных. Нажмем в этом окне Готово и попадем в окно конструктора СКД. Здесь нам, в первую очередь , нужно добавить новый источник данных, в нашем случае это будет Запрос, рис. 6.17.

Добавление нового набора данных - запроса

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

Из виртуальной таблицы регистра накопления ОстаткиМатериалов выберем следующие поля, рис. 6.18.

  • Номенклатура
  • ОтвественныйСотрудник
  • КоличествоОстаток
  • СуммаОстаток

Создание запроса

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

Автозаполнение списка полей на закладке Наборы данных

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

Настройка состава ресурсов отчета

Теперь займемся настройкой внешнего вида отчета.

Перейдем на закладку Настройки, вызовем кнопкой с соответствующим названием Конструктор настроек и выберем на его первой странице тип отчета – таблицу. Нажмем на кнопку Далее и в следующем окне выберем поля, которые будут отображаться в отчете в следующем порядке ( рис. 6.21.):

  • Номенклатура
  • ОтветственыйСотрудник
  • КоличествоОстаток
  • СуммаОстаток

Выбор полей, которые будут отображаться в отчете

Нажмем кнопку Далее, в следующем окне конструктора, служащим для настройки группировки таблиц, в группу Строки добавим поле Номенклатура, в поле Колонки – ОтветственныйСотрудник. Тип группировки оставим в состоянии Без иерархии.

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

Настройка упорядочивания отчета

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

Настройка вывода параметра

Запустим систему в режиме 1С:Предприятие и построим отчет, рис. 6.24.

Готовый отчет по количественным и суммовым остаткам материалов

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

Выводы

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

Стандартные отчеты настроим за 1 час. Индивидуальные отчеты в среднем занимают 3-4 часа

  • Настроим удобную форму отчету
  • Добавим нужные отборы и фильтры
  • Настроим отправку отчетов на почту
  • Исправим ошибки в отчетах


Как использовать универсальный отчет в 1С 8.3

Универсальный отчет приходит на помощь, когда стандартных отчетов не хватает или требуется выбрать специфическую информацию, а готового варианта отчета подходящего для этого просто нет.

Как настроить универсальный отчет в 1С






В результате этих настроек получим отбор по критериям, которые задали.







Должна получится подобная структура. Формируем отчет.


Теперь все данные сгруппированы по номенклатурным группам.



В результате отчет будет содержать данные со всеми видами номенклатуры, кроме материалов.


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




Отчеты по регистрам, которые выбрали, сформируются по умолчанию и не тре буют настройки. Для регистра бухгалтерии настройка выглядит следующим образом:







регистры накопления в 1С

регистры накопления в 1С

регистры накопления в 1С

регистры накопления в 1С

Основная вкладка регистра, здесь добавляются измерения, ресурсы и реквизиты регистратора. Для корректной работы у регистра должен быть хотя бы один ресурс или измерение.

регистры накопления в 1С

регистры накопления в 1С

регистры накопления в 1С

регистры накопления в 1С

регистры накопления в 1С

Наш регистр в режиме 1С. Предприятие имеет следующий вид:

регистры накопления в 1С

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

регистры накопления в 1С

Как оптимизировать работу с программой?

Почему клиенты обращаются именно к нам?

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

Вам не нужно оплачивать больничные, отпускные и готовить рабочее место для нового сотрудника.

Среди наших сотрудников не только специалисты 1С, но и опытные бухгалтера и юристы, поэтому мы подходим всесторонне к вопросу документооборота и отчетности.

Мы выстраиваем взаимодействие с клиентами так, чтобы вам удобно было оперативно обратиться по любому вопросу.

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

Читайте также: