какие типы форм существуют у регистра накопления
Регистры накопления 1С и их использование
Задача любой учетной системы — хранение и оперативное отображение информации для пользователя, т.е. цель проектирования любой системы — оперативно предоставить пользователю отчет. С помощью полученных данных, как правило, принимаются управленческие решения на предприятиях.
Предположим, что у нас есть 1000 разных документов: поступление товаров, списание, возврат, продажа и т.д. И каждый из документов изменяет количество определенного товара на складе. Чтобы получить информацию о текущем количестве на складе, необходимо перебрать все документы: какие-то увеличивают количество товара, какие-то уменьшают, какие-то могут и увеличивать, и уменьшать. А если необходимо учитывать еще и склад, организацию. Такая система очень ресурсоёмкая.
Для упрощения данного процесса разработчики 1С придумали особые объекты конфигурации. Используются они для удобства хранения и получения информации, в 1С 8.3 используются всевозможные регистры, в данной статье речь пойдет именно про Регистры накопления.
Что же такое регистр накопления в 1С 8?
Сам регистр накопления представляет собой таблицу с информацией, в которой собраны все движения (поступления/списания или обороты) определенных документов. Рассмотрим, как выглядит таблица движения, на примере типового регистра накопления «Товары на складах» в конфигурации «Управление торговлей 10.3»:
Здесь мы видим, что документы 1C «Реализации» уменьшают количество определенного товара в определенном месте хранения, а документы поступления, наоборот, увеличивают количество. В итоге мы получаем общую картину, в которой отчетливо видно, что, когда и в каком количестве поступило (было списано) по учету. По такой таблице уже гораздо удобнее строить отчет.
Регистр накопления в конфигураторе
Что же такое регистр накопления с точки зрения разработки конфигурации? Начнем, пожалуй, с рассмотрения полей регистра накопления в конфигураторе:
У регистра накопления есть Измерения, Ресурсы, Реквизиты и Стандартные реквизиты.
Рассмотрим сначала стандартные реквизиты регистра накопления:
Измерения регистра накопления
Измерение — это разрез, в котором ведется учёт. На вышеприведенном примере разрезом учета являются: склад, номенклатура, характеристика номенклатуры, серия номенклатуры, качество. Т.е задав интересующие нас измерения, мы можем в любой момент получить количество — ресурс. В разрезе разных измерений в дальнейшем, например, можно получать остатки на определенную дату.
Ресурс регистра накопления
Ресурс — это числовое поле, в котором хранится информация в разрезе измерений, о которых писали выше.
Иначе взаимодействия измерений/ресурсов можно схематично изобразить как систему координат:
Два измерения — абсцисса и ордината системы координат, т.е. на данном примере измерения это склад и номенклатура. На пересечении измерений мы можем получить количество — ресурс. Например, на «основном» складе товара «карандаш» в наличии 1 штука.
Реквизиты регистра накопления 1C
Реквизиты регистры накопления несут в себе роль «комментария» или дополнительной информации, в разрезе измерений нельзя получить остатки/обороты. Используются достаточно редко.
Виды регистра накопления
Существует два вида регистра накопления — обороты и остатки.
Если целью регистра накопления не является получение остатков, обязательно нужно использовать вид регистра накопления — обороты. Типичный пример использования оборотного регистра — регистрация объема продаж. В данном случае нам нужно знать только, какие продажи были за определенный период времени, остатки в данном случае не имеют смысла.
Если же среди целей использования регистра накопления — получение остатков на определенный период, нам необходим регистр с видом остатки. Такой тип позволяет получать как остатки, так и обороты. Для такого регистра система автоматически рассчитывает остатки. Пример «остаточного» регистра — товары на складах, деньги в кассе.
Использование вида регистра остатки, где можно обойтись оборотами, считается грубой ошибкой при проектировании регистра накопления с точки зрения производительности системы.
В зависимости от вида регистра система будет создавать разные виртуальные таблицы для регистра накопления. Виртуальная таблица – быстрый способ получения профильной информации из регистров.
Для регистра накопления это:
Для разработчика решения данные берутся из одной (виртуальной) таблицы, но на самом деле платформа 1С берёт из множества таблиц, преобразовывая их в нужных вид.
Правильное проектирование регистров накопления
Регистры накопления необходимо проектировать из необходимых отчетов. Самое трудное в системе 1С 8.3 — правильно хранить информацию, чтобы её в любой момент было легко получить.
Среди особенностей проектирования регистра следует отметить необходимость правильно расставлять по порядку измерения в регистре. Выше всего необходимо ставить измерения, которые будут чаще запрашиваться в системе.
Индексация измерений регистра накопления
У измерений регистра накопления имеется свойство — «индексировать». Это свойство необходимо устанавливать на измерения в тех случаях, когда по измерению планируется часто накладывать отборы при получении данных и данное измерение может иметь большое количество вариантов значения.
Например, регистр «ТоварыНаСкладах», измерения — «Склад, Номенклатура», ресурс — «Количество».
Правильнее проиндексировать «Номенклатуру», а поле»Склад» индексировать не стоит, потому как количество складов в системе, как правило, не существенное.
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Регистры накопления
Конечно, у вас возникнет вопрос что такое «Регистр накопления» и для чего он нужен?
Дело в том, что мы имеем справочники и документы, в документах есть нужная нам информация для формирования отчетов (например, остатков по определенным складам) однако для получения нужных нам результатов нужно будет проанализировать все документы, по обороту товаров. Хорошо если это всего, лишь один документ прихода и один документ расходов товаров. В случае если их несколько задача усложняется, если же документов несколько десятков запрограммировать отчет будет очень трудно. Не лучше ли хранить данные о движения товаров в одной отдельной структуре данных и при формировании отчета все данные выбирать только оттуда? Для облегчения доступа к информации, которая хранится во многих документах, да и не только в документах были созданы «регистры накопления».
Регистр накопления имеет определенную структуру в которой и накапливаются данные. эти данные будут храниться в регистре в виде отдельных записей.
Важно отметить что регистр накопления не предусматривает того чтобы пользователь мог его изменить. Регистр создан для того чтобы данные в него заносились и модифицировались исключительно объектами конфигурации.
К понятию «регистр накопления» имеют отношение также понятие «измерение» и «ресурс».
Измерениями называют разрезы информации, представленные в регистре (в нашем случае это может быть склад, куда приняли товар и сам товар).
Числовая информация, хранящаяся в регистре, называется ресурсами.
Изменение состояния регистра накопления происходит как правило во время проведения документа и заключается в том, что в регистр добавляются несколько записей с ссылкой на документ который сделал изменения (документ будет регистратором), «направление» прироста (приход или расход) ну и конечно значения измерений и ресурсов. Все это в комплексе называется движением регистра.
Помимо вышеуказанной информации регистр может иметь набор реквизитов, это дополнительная информация относительно движения регистра.
Давайте создадим регистр, в котором будет фиксироваться информация о движении наших дисков.
Открываем в конфигураторе документ ПрихиднаНакладна.
Если вы внимательно делали предыдущие уроки, то вы заметили что стала активной закладка «Движения», именно с ней мы и будем работать.
В верхнем окошечко выбираем регистр накопления «ЗалишкиДискив» и отмечаем его галочкой, затем в нижней части окна нажымаем на кнопку «Конструктор движений»
Вы увидите следующее окно:
Конструктор движений в «1с: Предприятие 8.1»
Процедура ОбработкаПроведения(Отказ, Режим)
// Даний фрагмент побудований конструктором.
// При повторному використанні конструктора, внесені вручну зміни будуть втрачені.
Для Каждого ТекСтрокаТовар Из Товар Цикл
// регістр ЗалишкиДисків Приход
Регистр накопления
Регистры накопления — это прикладные объекты конфигурации. Они составляют основу механизма учета движения средств (финансов, товаров, материалов и т. д.), который позволяет автоматизировать такие направления, как складской учет, взаиморасчеты, планирование.
Регистр накопления образует многомерную систему измерений и позволяет «накапливать» числовые данные в разрезе нескольких измерений. Например, в таком регистре можно накапливать информацию об остатках товаров в разрезе номенклатуры и склада, или информацию об объемах продаж в разрезе номенклатуры и подразделения компании.
Структура
Информация в регистре накопления хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.
Измерения регистра описывают разрезы, в которых хранится информация, а в ресурсах регистра накапливаются нужные числовые данные. Например, для регистра ТоварныеЗапасы, который имеет следующую структуру:
записи, производящие изменение ресурсов регистра в базе данных, будут выглядеть следующим образом:
Поскольку регистр накопления служит для накопления числовых значений, каждая запись выполняет изменение хранимых ресурсов — движение. Движения, в общем случае, могут либо добавлять некоторые приращения к хранимым ресурсам, либо отнимать их. Если должно выполняться увеличение хранимых ресурсов, — такое движение называется движением прихода («+»), если уменьшение хранимых ресурсов — движением расхода («-»).
Вместе с каждой записью, находящейся в регистре накопления, можно хранить дополнительную произвольную информацию. Для этого служат реквизиты регистра накопления.
Связь с регистратором
Изменение состояния регистра накопления происходит, как правило, при проведении документа. Поэтому каждая запись регистра связана с определенным документом — регистратором, номером строки этого документа, и датой — периодом:
В общем случае значение поле Период может не совпадать с датой документа. Например, документ План продаж может внести в регистр накопления записи о предполагаемых продажах компании несколькими разными датами.
Состав документов, которые могут создавать записи в регистре накопления, задается разработчиком в процессе создания прикладного решения:
Конструктор движений
Алгоритмы, по которым формируются записи в регистре, описываются средствами встроенного языка в процедурах соответствующих документов. Система содержит конструктор движений, который помогает разработчику создавать алгоритмы проведения документа. Подробнее…
Уникальность записей
Система обеспечивает контроль уникальности записей, хранящихся в регистре накопления. Благодаря этому в регистре накоплений не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.
Регистры остатков и регистры оборотов
Существует два вида регистров накопления: регистры накопления остатков и регистры накопления оборотов. Регистр накопления остатков позволяет хранить как итоговые значения ресурсов — остатки, так и изменения этих ресурсов — обороты. Регистр накопления оборотов является более «специализированным» видом регистра накопления и позволяет хранить только изменения ресурсов — обороты.
Существование регистра накопления оборотов связано с тем, что при автоматизации экономической деятельности существует большое количество ситуаций, когда требуется накапливать только обороты, а значения остатков не имеют смысла. Типичным примером использования регистра накопления оборотов является регистр Выручка и себестоимость продаж, хранящий информацию об объемах продаж:
Поскольку регистр накопления оборотов не накапливает остатки ресурсов, для него не имеет смысла «направление» движения ресурсов (приход или расход); накапливается только величина изменения ресурсов. Поэтому все записи регистра накопления оборотов отмечены одинаковыми пиктограммами.
Агрегаты
Для оборотных регистров накопления платформа поддерживает специальный механизм агрегатов, который позволяет значительно ускорить получение данных из регистров, содержащих большое количество записей — сотни тысяч и миллионы записей. Подробнее…
Форма списка и форма набора записей
Для того чтобы пользователь мог просматривать данные, содержащиеся в регистре накопления, система поддерживает форму представления регистра накопления — форму списка. Она позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям.
Система может автоматически генерировать эту форму. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо формы умолчанию, в том числе и форму набора записей, которая позволяет добавлять, изменять и удалять записи регистра сведений.
Объект 1С «Регистры накопления»
Иначе говоря, это прикладные объекты конфигурации, которые позволяют оперативно фиксировать и хранить движения каких-либо активов или пассивов предприятия.
Регистр накопления представляет собой таблицу с информацией, в которой собраны все движения определенных документов (поступления, списания или обороты).
Регистр накопления образует многомерную систему измерений и позволяет «накапливать» числовые данные в разрезе нескольких измерений. Например, в таком регистре можно накапливать информацию об остатках товаров в разрезе номенклатуры и склада, или информацию об объемах продаж в разрезе номенклатуры и подразделения компании.
Остаточный регистр (Остатки) хранит движения, а также исходя из них, остатки после каждого движения. Остаточные регистры накопления используются, например, для учета товаров на складах.
С точки зрения табличной модели регистр накопления содержит:
При формировании структуры регистра накопления обязательно должен быть назначен регистратор, а также создан хотя бы один ресурс.
Стандартные реквизиты регистра накопления 1С:
Уникальность записей объекта 1С «Регистры накопления»
Система обеспечивает контроль уникальности записей, хранящихся в регистре накопления. Благодаря этому в регистре накоплений не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.
Уникальность записей в таблице движений регистра накопления определяется полями «Регистратор» и «Номер строки».
Регистры накопления всегда подчинены документу-регистратору. Поэтому среди их стандартных реквизитов всегда есть «Регистратор».
Функциональные возможности регистра накопления 1С
Основными функциональными возможностями, которые предоставляет регистр накопления разработчику, являются:
Для регистров накопления может быть включен режим разделения итогов:
Если разделение включено, то в таблицу итогов регистра будет добавлена дополнительная колонка со значением типа «Число», которая будет играть роль разделителя остатков данных в случае одновременной записи в регистр двумя документами.
Разделение данных увеличивает параллельность вычислений за счет уменьшения времени блокировки регистра на чтение, что оправданно на нагруженных системах.
Структура объекта 1С «Регистры накопления»
Информация в регистре накопления хранится в виде записей, каждая из которых содержит:
Разрезом учета могут являться, например, склад, номенклатура, характеристика номенклатуры, серия номенклатуры, качество.
Задав интересующие нас измерения, мы можем в любой момент получить количество — ресурс.
В разрезе разных измерений в дальнейшем, например, можно получать остатки на определенную дату.
Особенности проектирования регистра накопления:
Например, для регистра «Свободные остатки», который имеет следующую структуру:
записи, производящие изменение ресурсов регистра в базе данных, будут выглядеть следующим образом:
Набор записей регистра накопления
Набор записей всегда привязан к определенному документу-регистратору (т.е. определяется документом-регистратором ), поскольку независимых регистров накопления быть не может. Оперируя набором записей, можно эти данные считывать с базы, удалять, изменять, и при определенных условиях добавлять. При записи обычно выполняется замещение всех имеющихся в базе данных записей по данному условию на записи, содержащиеся в наборе. Если записи не замещаются, то после выполнения записи набор очищается.
Максимальное число записей в наборе 999 999 999.
Набор записей регистра накопления может использоваться:
Если попытаться прочитать данные в набор записей регистра накопления с установкой отбора по регистратору и измерению, будет выдана ошибка при попытке установить отбор по измерению, т.к. отбор возможен только по регистратору.
Важно! Отбор может устанавливаться только на равенство.
Вместе с каждой записью, находящейся в регистре накопления, можно хранить дополнительную произвольную информацию. Для этого служат реквизиты регистра накопления.
Регистратор регистра накопления
Записи имеют смысл только в том случае, если регистратор существует; при удалении документа-регистратора записи также будут удалены.
Тем не менее, программно можно сделать запись и без документа-регистратора (но при этом все равно подразумевается, что регистратор есть). Также, формирование записей может происходить не только в обработке проведения, но и по каким-то иным событиям, строгих ограничений тут нет.
Большинство алгоритмов создания движения в регистре накопления формируются при проведении документа в модуле объекта (процедура «ОбработкаПроведения»).
Связь объекта 1С «Регистры накопления» с регистратором
В общем случае значение поле «Период» может не совпадать с датой документа. Например, документ «План продаж» может внести в регистр накопления записи о предполагаемых продажах компании несколькими разными датами.
Состав документов, которые могут создавать записи в регистре накопления, задается разработчиком в процессе создания прикладного решения.
Особенности работы с регистраторами при проведении документов:
Конструктор движений объекта 1С «Регистры накопления»
Алгоритмы, по которым формируются записи в регистре, описываются средствами встроенного языка в процедурах соответствующих документов. Система содержит конструктор движений, который помогает разработчику создавать алгоритмы проведения документа.
Регистры остатков и регистры оборотов
Существует два вида регистров накопления:
Существование регистра накопления оборотов связано с тем, что при автоматизации экономической деятельности существует большое количество ситуаций, когда требуется накапливать только обороты, а значения остатков не имеют смысла. Типичным примером использования регистра накопления оборотов является регистр «Выручка и себестоимость продаж», хранящий информацию об объемах продаж.
Поскольку регистр накопления оборотов не накапливает остатки ресурсов, для него не имеет смысла «направление» движения ресурсов (приход или расход); накапливается только величина изменения ресурсов. Поэтому все записи регистра накопления оборотов отмечаются одинаковыми пиктограммами.
Агрегаты регистров накопления оборотов
Использование агрегатов позволяет аналитикам и менеджерам анализировать имеющуюся информацию, переключаясь между различными разрезами просмотра с небольшим временем отклика системы. При этом система использует накопленные агрегированные данные и всегда обеспечивает актуальность получаемых отчетов.
Для любого регистра может быть создано несколько агрегатов.
Платформа содержит специальный конструктор агрегатов, с помощью которого можно изменять состав агрегатов и настраивать их использование.
Конструктор агрегатов можно вызвать из окна редактирования оборотного регистра накопления (вкладка «Данные»).
Форма списка и форма набора записей объекта 1С «Регистры накопления»
Для того чтобы пользователь мог просматривать данные, содержащиеся в регистре накопления, система поддерживает следующие формы представления регистра накопления:
Наряду с этим разработчик имеет возможность создать собственные (произвольные) формы, которые система будет использовать вместо формы умолчанию.
Разбор тестирования 1С:Профессионал и PMP
Вопросы по разным конфигурациям 1С и проектному менеджменту
воскресенье, 11 февраля 2018 г.
Регистры накопления
Если разделение включено, то в таблицу итогов регистра будет доставлена дополнительная колонка со значением типа Число, которая будет играть роль разделителя остатков данных в случае одновременной записи в регистр двумя документами. Разделение данных увеличивает параллельность вычислений за счет уменьшения времени блокировки регистра на чтение. Оправданно на нагруженных системах. Подробнее на ИТС: https://its.1c.ru/db/metod8dev/content/1393/hdoc
Правильный ответ пятый, никаких «регистров состояний» не существует, а об остаточных и оборотных см. в посте.
Правильный ответ второй. Стандартный реквизит Активность отвечает за попадание записей регистра накопления в виртуальные таблицы. Он может быть выставлен минимум для набора записей.
14 комментариев:
Нет вопроса:
Что представляет собой набор записей регистра накопления?
1) Коллекцию записей регистра накопления в памяти
2) Коллекцию записей регистра накопления в информационной базе
3) Выборку записей, полученную методом Выбрать
Правильный ответ первый
Нет вопроса:
Для чего может использоваться набор записей регистра накопления?
1) Для изменения записей регистра накопления по определенному регистратору
2) Для добавления записей регистра накопления по определенному регистратору
3) Для удаления записей регистра накопления по определенному регистратору
4) Для считывания набора записей по определенному регистратору
5) Верны варианты 1 и 4
6) Верны все варианты
Правильный ответ шестой
Нет вопроса:
Чем определяется набор записей регистра накопления?
1) Свойством «основной отбор»
2) Набором измерений, указанных в структуре регистра накопления
3) Периодом
4) Регистратором
5) Верны ответы 3 и 4
6) Верны все ответы
Правильный ответ четвертый
Нет вопроса:
Что произойдет, если прочитать данные в набор записей регистра накопления с установкой отбора по регистратору и измерению?
1) В набор записей попадут записи с указанным отбором
2) Будет выдана ошибка при попытке установить отбор по измерению
3) Набор останется пустым
Правильный ответ второй
будет выдана ошибка при попытке установить отбор по измерению, т.к. отбор возможен только по регистратору.
Нет вопроса:
Какое ограничение на размер набора записей существует в регистре накопления?
1) Количество записей в наборе записей не ограничено
2) Количество записей в наборе записей ограничено только возможностями СУБД в клиент-серверном варианте
3) Количество записей ограниченно только в учебной версии платформы
4) Набор записей ограничен 999999999 записями
Правильный ответ четвертый
Нет вопроса:
В какой момент времени могут формироваться записи в регистре накопления?
1) При проведении документа
2) При записи документа
3) При заполнении документа
4) Верны все ответы
Правильный ответ четвертый
Нет вопроса:
Выберите обязательное условие по отношению к Регистратору при записи данных в регистр накопления
1) Документ-регистратор должен быть проведен
2) Документ-регистратор должен быть записан
3) Документ-регистратор не должен быть помечен на удаление
4) Верны все варианты
Правильный ответ второй
Этот комментарий был удален автором.
Выберите верное утверждение по отношению к полю Регистратор
1. Поле Регистратор может содержать пустую ссылку на любой документ
2. Поле Регистратор может содержать пустую ссылку только на документ регистратор
3. Поле Регистратор может содержать ссылку на любой документ
4. Поле Регистратор может содержать не пустую ссылку только на документ регистратор
Ответ 4.
Какой тип можно определить для поля «регистратор»?
1. СправочникСсылка
2. ДокументСсылка
3. ЛюбаяСсылка
4. ДокументСсылка.
Ответ 4
Чем отличается 2 от 4, кроме точки в конце?
Там еще(в 4-ом варианте ответа) имя документа должно быть ДокументСсылка.
он и есть правильный.
Выберите верное утверждение по отношению к регистрам накопления:
Для одного регистра накопления может использоваться несколько таблиц агрегатов