Что такое оборотный регистр накопления

Регистр накопления

Регистры накопления — это прикладные объекты конфигурации. Они составляют основу механизма учета движения средств (финансов, товаров, материалов и т. д.), который позволяет автоматизировать такие направления, как складской учет, взаиморасчеты, планирование.

Регистр накопления образует многомерную систему измерений и позволяет «накапливать» числовые данные в разрезе нескольких измерений. Например, в таком регистре можно накапливать информацию об остатках товаров в разрезе номенклатуры и склада, или информацию об объемах продаж в разрезе номенклатуры и подразделения компании.

Структура

Информация в регистре накопления хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.

Измерения регистра описывают разрезы, в которых хранится информация, а в ресурсах регистра накапливаются нужные числовые данные. Например, для регистра ТоварныеЗапасы, который имеет следующую структуру:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Поскольку регистр накопления служит для накопления числовых значений, каждая запись выполняет изменение хранимых ресурсов — движение. Движения, в общем случае, могут либо добавлять некоторые приращения к хранимым ресурсам, либо отнимать их. Если должно выполняться увеличение хранимых ресурсов, — такое движение называется движением прихода («+»), если уменьшение хранимых ресурсов — движением расхода («-»).

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Связь с регистратором

Изменение состояния регистра накопления происходит, как правило, при проведении документа. Поэтому каждая запись регистра связана с определенным документом — регистратором, номером строки этого документа, и датой — периодом:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Состав документов, которые могут создавать записи в регистре накопления, задается разработчиком в процессе создания прикладного решения:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Конструктор движений

Алгоритмы, по которым формируются записи в регистре, описываются средствами встроенного языка в процедурах соответствующих документов. Система содержит конструктор движений, который помогает разработчику создавать алгоритмы проведения документа. Подробнее…

Уникальность записей

Система обеспечивает контроль уникальности записей, хранящихся в регистре накопления. Благодаря этому в регистре накоплений не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.

Регистры остатков и регистры оборотов

Существует два вида регистров накопления: регистры накопления остатков и регистры накопления оборотов. Регистр накопления остатков позволяет хранить как итоговые значения ресурсов — остатки, так и изменения этих ресурсов — обороты. Регистр накопления оборотов является более «специализированным» видом регистра накопления и позволяет хранить только изменения ресурсов — обороты.

Существование регистра накопления оборотов связано с тем, что при автоматизации экономической деятельности существует большое количество ситуаций, когда требуется накапливать только обороты, а значения остатков не имеют смысла. Типичным примером использования регистра накопления оборотов является регистр Выручка и себестоимость продаж, хранящий информацию об объемах продаж:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Поскольку регистр накопления оборотов не накапливает остатки ресурсов, для него не имеет смысла «направление» движения ресурсов (приход или расход); накапливается только величина изменения ресурсов. Поэтому все записи регистра накопления оборотов отмечены одинаковыми пиктограммами.

Агрегаты

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

Форма списка и форма набора записей

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

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

Источник

Объект 1С «Регистры накопления»

Иначе говоря, это прикладные объекты конфигурации, которые позволяют оперативно фиксировать и хранить движения каких-либо активов или пассивов предприятия.

Регистр накопления представляет собой таблицу с информацией, в которой собраны все движения определенных документов (поступления, списания или обороты).

Регистр накопления образует многомерную систему измерений и позволяет «накапливать» числовые данные в разрезе нескольких измерений. Например, в таком регистре можно накапливать информацию об остатках товаров в разрезе номенклатуры и склада, или информацию об объемах продаж в разрезе номенклатуры и подразделения компании.

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

С точки зрения табличной модели регистр накопления содержит:

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Уникальность записей объекта 1С «Регистры накопления»

Система обеспечивает контроль уникальности записей, хранящихся в регистре накопления. Благодаря этому в регистре накоплений не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.

Уникальность записей в таблице движений регистра накопления определяется полями «Регистратор» и «Номер строки».

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Регистры накопления всегда подчинены документу-регистратору. Поэтому среди их стандартных реквизитов всегда есть «Регистратор».

Функциональные возможности регистра накопления 1С

Основными функциональными возможностями, которые предоставляет регистр накопления разработчику, являются:

Для регистров накопления может быть включен режим разделения итогов:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Если разделение включено, то в таблицу итогов регистра будет добавлена дополнительная колонка со значением типа «Число», которая будет играть роль разделителя остатков данных в случае одновременной записи в регистр двумя документами.

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

Структура объекта 1С «Регистры накопления»

Информация в регистре накопления хранится в виде записей, каждая из которых содержит:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

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

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

Особенности проектирования регистра накопления:

Например, для регистра «Свободные остатки», который имеет следующую структуру:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Набор записей регистра накопления

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

Максимальное число записей в наборе 999 999 999.

Набор записей регистра накопления может использоваться:

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

Важно! Отбор может устанавливаться только на равенство.

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

Регистратор регистра накопления

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Записи имеют смысл только в том случае, если регистратор существует; при удалении документа-регистратора записи также будут удалены.

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Большинство алгоритмов создания движения в регистре накопления формируются при проведении документа в модуле объекта (процедура «ОбработкаПроведения»).

Связь объекта 1С «Регистры накопления» с регистратором

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Особенности работы с регистраторами при проведении документов:

Конструктор движений объекта 1С «Регистры накопления»

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

Регистры остатков и регистры оборотов

Существует два вида регистров накопления:

Существование регистра накопления оборотов связано с тем, что при автоматизации экономической деятельности существует большое количество ситуаций, когда требуется накапливать только обороты, а значения остатков не имеют смысла. Типичным примером использования регистра накопления оборотов является регистр «Выручка и себестоимость продаж», хранящий информацию об объемах продаж.

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

Агрегаты регистров накопления оборотов

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

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

Платформа содержит специальный конструктор агрегатов, с помощью которого можно изменять состав агрегатов и настраивать их использование.

Конструктор агрегатов можно вызвать из окна редактирования оборотного регистра накопления (вкладка «Данные»).

Форма списка и форма набора записей объекта 1С «Регистры накопления»

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

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

Источник

Оборотные регистры накопления, последовательности, нумераторы, регистры сведений

Оборотные регистры накопления

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

Для реализации этих задач нам, во-первых, понадобится документ (или документы), для фиксации в системе продаж материалов и оказания услуг, а, во-вторых – объекты для хранения сведений о проданных материалах, их себестоимости, об оказанных услугах и о материалах, которые были затрачены на оказание этих услуг.

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

Создадим документ РеализацияМатериалов. Добавим его в состав подсистемы ОперативныйУчетМатериалов. Запретим оперативное проведение документа.

В состав данных документа включим следующие реквизиты:

Имя: Покупатель : Тип: СправочникСсылка.Контрагенты

Имя: ОтветственныйСотрудник: Тип: СправочникСсылка.Сотрудники

Добавим в документ табличную часть Материалы со следующими реквизитами:

Имя: Номенклатура, Тип: СправочникСсылка.Номенклатура

Имя: Себестоимость, Тип: Число, длина 10, точность 2

Имя: Количество, Тип: Число, длина 10, точность 3

Имя: ЦенаПродажи, Тип: Число, длина 10, точность 2

Теперь займемся формой документа. Нам хотелось бы реализовать следующую функциональность – при заполненной данными о номенклатуре табличной части, по нажатию на кнопку РассчитатьСебестоимостьИОстатки, заполнять сведения о себестоимости материалов и об их остатках по выбранному ответственному сотруднику, исходя из данных, хранящихся в регистре накопления ОстаткиМатериалов.

Создадим форму документа, добавим команду формы РассчитатьСебестоимостьИОстатки и переместим ее на командную панель табличного поля, рис. 8.1.

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Мы начинаем с такого текста запроса:

В этом запросе нам понадобится откорректировать обращение к таблице документа, который содержит нужные данные. Предполагая, что пользователь может ввести одну и ту же номенклатурную позицию несколькими строками, возможно, собираясь особым образом задать цену продажи для одной и той же позиции, мы не будем группировать запрос по номенклатуре. Мы получим из таблицы все данные, которые мог ввести пользователь – позже мы используем эти данные для заполнения табличного поля.

Источник

Оборотные регистры накопления, последовательности, нумераторы, регистры сведений

Оборотные регистры накопления

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

Для реализации этих задач нам, во-первых, понадобится документ (или документы), для фиксации в системе продаж материалов и оказания услуг, а, во-вторых – объекты для хранения сведений о проданных материалах, их себестоимости, об оказанных услугах и о материалах, которые были затрачены на оказание этих услуг.

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

Создадим документ РеализацияМатериалов. Добавим его в состав подсистемы ОперативныйУчетМатериалов. Запретим оперативное проведение документа.

В состав данных документа включим следующие реквизиты:

Имя: Покупатель : Тип: СправочникСсылка.Контрагенты

Имя: ОтветственныйСотрудник: Тип: СправочникСсылка.Сотрудники

Добавим в документ табличную часть Материалы со следующими реквизитами:

Имя: Номенклатура, Тип: СправочникСсылка.Номенклатура

Имя: Себестоимость, Тип: Число, длина 10, точность 2

Имя: Количество, Тип: Число, длина 10, точность 3

Имя: ЦенаПродажи, Тип: Число, длина 10, точность 2

Теперь займемся формой документа. Нам хотелось бы реализовать следующую функциональность – при заполненной данными о номенклатуре табличной части, по нажатию на кнопку РассчитатьСебестоимостьИОстатки, заполнять сведения о себестоимости материалов и об их остатках по выбранному ответственному сотруднику, исходя из данных, хранящихся в регистре накопления ОстаткиМатериалов.

Создадим форму документа, добавим команду формы РассчитатьСебестоимостьИОстатки и переместим ее на командную панель табличного поля, рис. 8.1.

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Мы начинаем с такого текста запроса:

В этом запросе нам понадобится откорректировать обращение к таблице документа, который содержит нужные данные. Предполагая, что пользователь может ввести одну и ту же номенклатурную позицию несколькими строками, возможно, собираясь особым образом задать цену продажи для одной и той же позиции, мы не будем группировать запрос по номенклатуре. Мы получим из таблицы все данные, которые мог ввести пользователь – позже мы используем эти данные для заполнения табличного поля.

Источник

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Для чего нужен регистр накопления

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

После одного рабочего дня директору нужно узнать: сколько на оптовом складе стульев и на какую сумму были продажи за сегодня? Чтобы посчитать сколько стульев на складе нужно сложить все количество стульев из приходных документов на оптовый склад, потом сложить все количество стульев из расходных документов с оптового склада, а потом вычесть из общего прихода общий расход. Для получения оборота продаж за один день нужно сложить сумму всех расходных документов за этот день. Так как предприятие отработало всего один день, то такие расчеты будут выполняться не очень долго. Но что будет после недели, месяца, года? А если за один день создается по миллиону документов? Такие расчеты могут выполняться по несколько минут, а то и часов.

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

Для решения этой проблемы предназначен регистр накопления.

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

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

Виды регистров накопления:

Регистр накопления остатки

Создание регистра накопления

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Это регистр накопления остатков.

Перейдем на закладку Данные. Здесь можно создать измерения и ресурсы регистра накопления. Ресурсы — это то что будет накапливаться в регистре. Для ресурса доступен только один тип данных — число. Измерения — это то, в разрезе чего нужно хранить ресурсы. Тут уже можно выбрать как примитивные, так и ссылочные типы данных.

В нашем примере измерениями регистра накопления будут Товар и Склад. А ресурс — Количество. Типы СправочникСсылка.Товары, СправочникСсылка.Склады и Количество (15, 3):

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

В результате в базе данных будет создана следующая таблица:

ПериодРегистраторНомер строкиВид движенияСкладТоварКоличество

В колонке Период хранится дата записи. В колонке Регистратор — ссылка на документ-регистратор. В колонке Номер строки — уникальный номер записи в пределах одного регистратора, заполняется автоматически. В колонке Вид движения — значение системного перечисления ВидДвиженияНакопления, возможны два значения: приход или расход. В колонках Склад, Товар и Количество будут храниться значения измерений и ресурсов регистра накопления.

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

Текущие итоги

Также в базе данных будет создана таблица итогов регистра накопления. Для регистра накопления остатков в ней будут храниться рассчитанные итоги каждого ресурса в разрезе всех измерений на дату 01.11.3999 г. Это текущие итоги регистра накопления остатков.

ПериодСкладТоварКоличество

Добавим в обработку проведения документов код для формирования движений в регистре накопления:

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Зеленый плюс в начале означает, что это вид движения Приход.

Сразу после записи таблицы движений будет пересчитана таблица итогов. Она будет выглядеть следующим образом:

ПериодСкладТоварКоличество
01.11.3999ОсновнойКровать2
01.11.3999ОсновнойШкаф3

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

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Снова будет пересчитана таблица итогов, изменится колонка Количество:

ПериодСкладТоварКоличество
01.11.3999ОсновнойКровать6
01.11.3999ОсновнойШкаф9

Проведем еще один приход, за апрель:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

ПериодСкладТоварКоличество
01.11.3999ОсновнойКровать6
01.11.3999ОсновнойШкаф9
01.11.3999ОсновнойТумбочка5

Была добавлена новая строка с тумбочкой.

Теперь проведем расход товара от 1 июня:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

В таблицу движений были добавлены три строки с типом Расход. А также была пересчитана таблица итогов, общее количество было уменьшено:

ПериодСкладТоварКоличество
01.11.3999ОсновнойКровать5
01.11.3999ОсновнойШкаф8
01.11.3999ОсновнойТумбочка4

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

Промежуточные итоги

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

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

Чтобы в таблице итогов появились промежуточные итоги нужно установить период итогов. Для этого в пользовательском режиме в функциях технического специалиста (во всех функциях для старых версий платформы) в группе Стандартные нужно выбрать обработку Управление итогами:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

В открывшейся обработке внизу нужно переключиться на полные возможности:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Затем нужно выделить нужный регистр накопления, нажать кнопку Установить период итогов, в открывшемся окне в поле Максимальный хранимый период итогов для регистров накопления ввести 30.06.2021 и нажать ОК:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

После этого таблица итогов примет следующий вид:

ПериодСкладТоварКоличество
01.05.2021ОсновнойТумбочка5
01.06.2021ОсновнойТумбочка5
01.06.2021ОсновнойКровать2
01.06.2021ОсновнойШкаф3
01.07.2021ОсновнойТумбочка4
01.07.2021ОсновнойКровать8
01.07.2021ОсновнойШкаф5
01.11.3999ОсновнойТумбочка4
01.11.3999ОсновнойКровать5
01.11.3999ОсновнойШкаф8

Если сейчас понадобится получить остаток на 01.06.2021, то платформа просто возьмет его из таблицы итогов. Если понадобится получить остаток на 25.06.2021, то платформа возьмет остаток на 01.07.2021, прибавит к нему все движения с типом расход между 25.06.2021 и 01.07.2021 и вычтет все движения с типом приход между 25.06.2021 и 01.07.2021.

Промежуточные и текущие итоги хранятся по всем измерениям и по всем ресурсам, если хотя бы один из ресурсов не равен нулю. Как только все ресурсы по определенному набору измерений становятся равными нулю, такая запись будет удалена из таблицы итогов. Если 01.06.2021 продать все тумбочки с основного склада, то на 01.07.2021 и на 01.11.3999 остаток будет равным нулю. Нет смысла хранить такие записи в таблице итогов и они будет удалены. Запись на 01.06.2021 останется в таблице итогов, потому что остаток был не нулевой.

Итоги хранятся помесячно. Итоги за май хранятся с датой 01.06.2021, итоги за июнь с датой 01.07.2021 и т.д.

Если сейчас добавить новую запись в таблицу движений за 10.06.2021, то в таблице итогов будут автоматически пересчитаны итоги за июнь и текущие итоги. Если добавить запись за 10.05.2021, то будут пересчитаны итоги за май, за июнь и текущие итоги. Если добавить новую запись за 01.01.2021, то в таблице итогов будут добавлены новые записи за январь, февраль и март. А также будут пересчитаны итоги за апрель, май, июнь и текущие итоги. Однако, если добавить запись за 01.08.2021, то будут пересчитаны только текущие итоги, потому что в обработке управления итогами мы установили максимальный период равным 30.06.2021. Запись с промежуточными итогами за август не будет добавлена.

Алгоритм заполнения таблицы итогов регистра остатков:

Регистр накопления обороты

Помимо получения остатка товара нам еще нужно быстро получить сумму продаж за определенный период. Желательно в разрезе покупателей. Первое что приходит в голову это добавить в регистр Остатки товаров изменение Контрагент, ресурс Сумма и заполнять их при проведении расхода товара.

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

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

Здесь подойдет регистр накопления оборотов. Добавим новый регистр Продажи, на закладке Основные в поле Вид регистра выберем Обороты:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

Оборотный регистр накопления почти ничем не отличается от регистра остатков, за исключением нескольких отличий:

Если на закладке Данные создать измерение Контрагент и ресурс Сумма:

Что такое оборотный регистр накопления. Смотреть фото Что такое оборотный регистр накопления. Смотреть картинку Что такое оборотный регистр накопления. Картинка про Что такое оборотный регистр накопления. Фото Что такое оборотный регистр накопления

То таблица движений будет выглядеть следующим образом:

ПериодРегистраторНомер строкиКонтрагентСумма

Формирование движений по регистру будет выглядеть следующим образом:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *