Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

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

Виды регистров накопления
На сегодняшний день для 1C существует всего две разновидности регистров:

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

Измерения, ресурсы, реквизиты, в том числе стандартные
Все указанные выше параметры характерны для любого из существующих в 1C регистров.

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

Ресурсы – предназначены для организации хранения суммовых данных. Просмотр ресурсов в дальнейшем осуществляется посредством измерений.

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

Стандартные реквизиты представляют собой следующий набор данных:

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

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

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

Уникальность записей
Система 1C:Предприятие предполагает, что в регистрах используются исключительно уникальные записи, поэтому наличие одинаковых строк полностью исключено.

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

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

Получение информации по остаткам на определенное число

Процедура ПолучитьОстатокНаДату()

НовЗапрос = Новый Запрос;

НовЗапрос.Текст =

«ВЫБРАТЬ

| ТовОстатки.Номенклатура,

| ТовОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТовОстатки»;

НовЗапрос.УстановитьПараметр(«ТекДата», ТекущаяДата());

ВыборкаЗапроса = НовЗапрос.Выполнить().Выбрать();

Пока ВыборкаЗапроса.Следующий() Цикл

КонецЦикла;

КонецПроцедуры

Получение информации по оборотам за текущий год

НовЗапрос = Новый Запрос;

НовЗапрос.Текст =

«ВЫБРАТЬ

| ТовОбороты.Номенклатура,

| ТовОбороты.КоличествоОборот

|ИЗ

| РегистрНакопления.ТоварыНаСкладах.Обороты(&НачПериода, &КонПериода, , ) КАК ТовОбороты»;

НовЗапрос.УстановитьПараметр(«НачПериода», НачалоГода(ТекущаяДата()));

НовЗапрос.УстановитьПараметр(«КонПериода», ТекущаяДата());

ВыборкаЗапроса = НовЗапрос.Выполнить().Выбрать();

Пока ВыборкаЗапроса.Следующий() Цикл

КонецЦикла;

Получение информации по движению в регистре накопления

НовЗапрос = Новый Запрос;

НовЗапрос.Текст =

«ВЫБРАТЬ

| ТоварыНаСкладах.Период,

| ТоварыНаСкладах.Регистратор,

| ТоварыНаСкладах.ВидДвижения,

| ТоварыНаСкладах.Номенклатура,

| ТоварыНаСкладах.Количество

|ИЗ

| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах»;

ВыборкаЗапроса = НовЗапрос.Выполнить().Выбрать();

Пока ВыборкаЗапроса.Следующий() Цикл

КонецЦикла;

Формы списка регистра накопления

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

If you liked my post, feel free to subscribe to my rss feeds

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*