Меню

1с регистр накопления отбор только по измерению



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

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

Предположим, что у нас есть 1000 разных документов: поступление товаров, списание, возврат, продажа и т.д. И каждый из документов изменяет количество определенного товара на складе. Чтобы получить информацию о текущем количестве на складе, необходимо перебрать все документы: какие-то увеличивают количество товара, какие-то уменьшают, какие-то могут и увеличивать, и уменьшать. А если необходимо учитывать еще и склад, организацию. Такая система очень ресурсоёмкая.

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

Что же такое регистр накопления в 1С 8?

Сам регистр накопления представляет собой таблицу с информацией, в которой собраны все движения (поступления/списания или обороты) определенных документов. Рассмотрим, как выглядит таблица движения, на примере типового регистра накопления «Товары на складах» в конфигурации «Управление торговлей 10.3»:

Здесь мы видим, что документы 1C «Реализации» уменьшают количество определенного товара в определенном месте хранения, а документы поступления, наоборот, увеличивают количество. В итоге мы получаем общую картину, в которой отчетливо видно, что, когда и в каком количестве поступило (было списано) по учету. По такой таблице уже гораздо удобнее строить отчет.

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Что же такое регистр накопления с точки зрения разработки конфигурации? Начнем, пожалуй, с рассмотрения полей регистра накопления в конфигураторе:

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

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

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

Измерения регистра накопления

Измерение — это разрез, в котором ведется учёт. На вышеприведенном примере разрезом учета являются: склад, номенклатура, характеристика номенклатуры, серия номенклатуры, качество. Т.е задав интересующие нас измерения, мы можем в любой момент получить количество — ресурс. В разрезе разных измерений в дальнейшем, например, можно получать остатки на определенную дату.

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

Ресурс — это числовое поле, в котором хранится информация в разрезе измерений, о которых писали выше.

Иначе взаимодействия измерений/ресурсов можно схематично изобразить как систему координат:

Два измерения — абсцисса и ордината системы координат, т.е. на данном примере измерения это склад и номенклатура. На пересечении измерений мы можем получить количество — ресурс. Например, на «основном» складе товара «карандаш» в наличии 1 штука.

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

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

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

Существует два вида регистра накопления — обороты и остатки.

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

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

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

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

Для регистра накопления это:

Для разработчика решения данные берутся из одной (виртуальной) таблицы, но на самом деле платформа 1С берёт из множества таблиц, преобразовывая их в нужных вид.

Правильное проектирование регистров накопления

Регистры накопления необходимо проектировать из необходимых отчетов. Самое трудное в системе 1С 8.3 — правильно хранить информацию, чтобы её в любой момент было легко получить.

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

Индексация измерений регистра накопления

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

Например, регистр «ТоварыНаСкладах», измерения — «Склад, Номенклатура», ресурс — «Количество».

Правильнее проиндексировать «Номенклатуру», а поле»Склад» индексировать не стоит, потому как количество складов в системе, как правило, не существенное.

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

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

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

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

Структура

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

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

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

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

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

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

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

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

Читайте также:  Анемометры для измерения скорости ветра

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

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

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

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

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

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

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

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

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

Агрегаты

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

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

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

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

Источник

1с регистр накопления отбор только по измерению

Описание:

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

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

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

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

В программных модулях для общих действий над регистром накопления (получение остатков и оборотов по данным регистра накопления, поиска нужных записей, формирования выборок, создания форм и макетов) служит объект РегистрНакопленияМенеджер. . Для считывания и занесения набора записей в базу данных по определенному условию отбора служит объект РегистрНакопленияНаборЗаписей. Для динамического обхода записей регистра служит объект РегистрНакопленияВыборка. .

Источник

Как установить отбор по измерениям у подчиненного регистра сведений

Доброе время суток,

Бухгалтерия 2.0.
Сделал отбор по регистратору у подчиненного регистра сведений:

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

Получаю ошибку: Поле объекта не обнаружено (Сотрудник)

Это стандартная конфигурация и там есть данное измерение:

В любой непонятной ситуации читайте синтаксис-помощник:

РегистрСведенийНаборЗаписей. .Отбор (InformationRegisterRecordSet. .Filter)
РегистрСведенийНаборЗаписей. (InformationRegisterRecordSet. )
Отбор (Filter)
Использование:

Только чтение.
Описание:

Тип: Отбор.
Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений.
Разделители с уровнем разделения НезависимоИСовместно, в состав которых входит регистр, используются наравне с измерениями.
Важно! Отбор может устанавливаться только на равенство.

Сервер, толстый клиент, внешнее соединение.

Источник

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

Прочитано: 28508

В регистре накопления есть запись, в которой не заполнено одно Измерение. Подскажите как программно заполнить с помощью внешней обработки.

Yandex
Возможно, вас также заинтересует
E_Migachev
21.08.2014 22:55

Ответ № 1

Примерно так, основа:

E_Migachev
21.08.2014 23:45

Ответ № 2

+ нашел на компе обработку по редактированию регистров Pravka registrov (korrektirovka registrov).rar

Михаил Сайко

Для удобства хранения и обработки информации в программе 1С используются различные Регистры накопления. Все данные вносятся в программу с помощью документов, на основании которых и происходит запись в регистр. Использование данного механизма позволяет накапливать данные, обрабатывать их, рассчитывать итоги, выводя остатки и обороты по этим данным пользователю.

Если мы откроем любую конфигурацию 1С Предприятие, в дереве метаданных увидим раздел «Регистры накопления».


Если в пользовательском режиме мы зайдем в раздел «Все функции», то там тоже можем увидеть ветку «Регистры накопления».


Регистр накопления – это таблица, накапливающая информацию из движения документов (приход/расход, обороты). Откроем для примера регистр накопления «Зарплата к выплате». Мы видим, что строки «Начисление зарплаты» и «Отпуск» отмечены знаком «+», т.е. увеличивают данные регистра, а «Ведомость в банк» (документ, которым произведена выплата) отмечен знаком «-», т.е. уменьшает данные регистра по каждой записи, в данном случае – по физическому лицу (сотруднику).


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



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

Рассмотрим, как устроены регистры накопления изнутри, на примере программы «1С:Бухгалтерия 3.0».

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

Мы можем разрабатывать свои регистры накопления при необходимости. Но для этого сначала разберемся в его настройках. Рассмотрим настройки регистра накопления на том же примере с зарплатой к выплате. Откроем регистр «ЗарплатаКВыплате». На закладке «Основные» мы видим имя регистра и его вид.


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

На закладке «Подсистема» отмечается подсистема, где задействован регистр.


На закладке «Данные» описывается структура регистра. Измерения – записи, по которым в дальнейшем мы можем получить остатки или посмотреть обороты. Ресурсы – реквизит для определения числовых данных по регистру. Это может быть сумма, количество (например, количество проданных товаров, сумма проданных товаров, сумма выплаченной или начисленной зарплаты).


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


И самый интересный раздел – это «Регистраторы». Здесь определяются документы, которые будут производить записи в регистр, формируя движения по регистрам.


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

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

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


На закладке «Основные» укажем название и вид регистра – «Остатки».


На закладке «Подсистемы» указываем подсистему «ВзаиморасчетыССотрудниками».


На «Функциональные опции», в которых участвует наш регистр, устанавливаем галочку «ИспользоватьНачислениеЗарплаты» (блок учета заработной платы в конфигурации «Бухгалтерия»).


На закладке «Данные» добавим для примера несколько измерений – «Сотрудник» и «Основание» (отражающий документ основание записи).


Для измерения «Сотрудник» указываем тип – СправочникСсылкаСотрудники, а для «Основания» – ОпределяемыйТипДокументОснованияЗарплатыКВыплате.


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



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


Открываем наш регистр.


Тип движения в нашем примере «Расход» (т.к. выплачивая зарплату, мы уменьшаем задолженность сотруднику). И в таблицу с реквизитами надо прописать (сопоставив) реквизиты документа. Выбрать их можно двойным щелчком на соответствующей строке. Заполнив, нажимаем «Ок».


Программа автоматически конструктором создаст модуль обработки.


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

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

Проведем документ «Ведомость в банк» и посмотрим, какие движения по регистрам он сформировал (кнопка Кнопка – «Показать проводки и другие движения документа»). Мы видим, что у нас появилась закладка с движениями по нашему регистру «Долг сотруднику» — строка «Расход».


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

Как изменить регистр накопления в 1С 8.3? Корректировка регистров накопления 1С

Иногда возникает необходимость обнулить или подкорректировать записи регистров накопления. Для этого в «1С:Бухгалтерия» можно воспользоваться документом «Операция введенная вручную» (в разделе меню «Операции»). Создав новую операции, перейдем по кнопке «Еще» к пункту «Выбор регистров».


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


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


Сформировать отчет по регистрам накопления, мы можем, воспользовавшись «Универсальным отчетом» (раздел «Отчеты»), выбрать вариант отчета – по регистрам накопления, и указать нужный для анализа регистр. В отчете мы видим, что в нем отразилась наша корректировочная запись по регистру «Учет доходов для исчисления НДФЛ».


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


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

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

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

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

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

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

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

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

  • измерения;
  • ресурсы (может быть либо числовым, либо определяемым типом);
  • реквизиты.

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

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

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

Стандартные реквизиты регистра накопления 1С доступны на вкладке «Данные» — «Стандартные реквизиты».

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

  • Период — дата движения, не обязательно должна совпадать с датой документа;
  • Регистратор — документ, который производит запись в регистре;
  • НомерСтроки — порядковый номер строки в наборе записи, уникален в пределах регистратора;
  • Активность — отвечает за попадание записи в виртуальные таблицы (быстрый способ получения профильной информации из регистров); не может устанавливаться для каждой записи индивидуально в рамках документа-регистратора (может быть выставлен минимум для набора записей);
  • ВидДвижения — приход или расход.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. выше всего необходимо ставить измерения, которые будут чаще запрашиваться в системе;
  2. свойство «Индексировать» измерений регистра накопления необходимо устанавливать на измерения в тех случаях, когда по измерению планируется часто накладывать отборы при получении данных и данное измерение может иметь большое количество вариантов значения. Например, имеем регистр «ТоварыНаСкладах» (измерения «Склад, Номенклатура», ресурс — «Количество»). Правильнее проиндексировать «Номенклатуру», а поле»Склад» индексировать не стоит, так как количество складов в системе, как правило, не существенное.

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

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

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

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

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

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

  1. для изменения записей регистра накопления по определенному регистратору;
  2. для добавления записей регистра накопления по определенному регистратору;
  3. для удаления записей регистра накопления по определенному регистратору;
  4. для считывания набора записей по определенному регистратору.

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

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

  1. движение прихода («+») — если должно выполняться увеличение хранимых ресурсов;
  2. движение расхода («-«) — если должно выполняться уменьшение хранимых ресурсов.

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

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

Обязательный стандартный реквизит регистра накопления — регистратор.

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

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

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

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

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

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

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

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

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

  1. Записи в регистре накопления могут формироваться:
  2. при проведении документа;
  3. при записи документа;
  4. при заполнении документа.
  5. Обязательное условие по отношению к Регистратору при записи данных в регистр накопления: документ-регистратор должен быть записан. Пока документ не записан, в системе нет на него ссылки, а ссылка обязательна для указания в поле «Регистраторы».
  6. Поле «Регистраторы» может содержать не пустую ссылку только на документ регистратор (тип контролируется).
  7. Тип данных поля «Регистраторы» определяется на закладке «Регистраторы» в окне редактирования объекта конфигурации.
  8. Для поля «Регистраторы» можно определить тип ДокументСсылка. . С писок типов регистраторов вполне конкретен (скриншот выше).
  9. Следует помнить:
  10. один регистр накопления может быть связан с любым количеством типов документов;
  11. один тип документа может быть связан с любым количеством регистров накопления;
  12. при удалении документа-регистратора записи автоматически удаляются из базы;
  13. записи могут существовать без наличия документа-регистратора, при использовании плана обмена, что может привести к нарушению ссылочной целостности информационной базы.
  14. Дата документа регистратора никак не связана с периодом регистра. Дата записи регистра определяется программно и может как совпадать с датой документа, так и быть вообще любой иной.

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

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

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

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

  1. регистры накопления остатков (хранит итоговые значения ресурсов — остатки);
  2. регистры накопления оборотов (хранит только изменения этих ресурсов — обороты).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Сравнить или измерить © 2021
Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению.