Что такое регистратор в 1с
Перейти к содержимому

Что такое регистратор в 1с

  • автор:

Регистр сведений

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

Структура

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

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

Регистр сведений

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

Регистр сведений

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

Периодичность

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

Регистр сведений

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

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

Подчинение регистратору

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

Регистр сведений

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

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

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

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

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

Формы

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

Форма списка

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

Регистр сведений

Форма записи

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

Регистр сведений

Функциональные возможности регистра сведений

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

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

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

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

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

Структура

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Агрегаты

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

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

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

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

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

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

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

Смотрите также:

Регистр сведений и регистр расчета. Просто о сложном

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

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

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

Регистр сведений — это таблица данных, которая позволяет хранить произвольные данные в разрезе аналитик.

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

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

Есть два подвида регистра сведений:

  • подчинен регистратору: документ делает записи при проведении;
  • не подчинен регистратору: запись осуществляется не при проведении документа.

Когда регистр сведений подчинен регистратору — тут все понятно, алгоритм такой же, как и для других регистров. Если же не подчинен, то записи в него может делать кто угодно. Ярким примером является регистр сведений «Курсы валют». Записи в этот регистр осуществляются автоматически каждый день, но вы также можете зайти и сами внести что-то новое или исправить существующее.

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

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

Знаете ли вы что?

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

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

При этом мы понимаем, что наличие столбцов «Период» и «Регистратор» зависит от типа регистра.

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

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

Пожалуйста, обратите, внимание!

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

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

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

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

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

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

Регистр расчета является таблицей, в которой хранятся рассчитанные данные. А в плане видов расчета хранятся алгоритмы расчета этих данных.

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

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

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

Сам план видов расчета чем-то напоминает справочник и выглядит следующим образом:

Открываем «Оплата по окладу» и на первой вкладке видим следующее:

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

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

Также, мы можем указать некоторые зависимости, например, от территориального расположения: районный коэффициент влияет на конечный результат.

Мы с вами понимаем, что помимо оплаты по окладу, мы начисляем сотруднику командировочные, отпускные, больничные и т.д. И чтобы не произошло наложения одного вида расчета на другой, указывается их приоритет. Например, сотрудник с 1 по 10 число был в отпуске, мы ему начислили и выплатили отпускные, зарплату должны ему начислить теперь за период с 11 по 31 число, так как у отпуска приоритет выше и он «вытесняет» нашу оплату по окладу.

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

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

Итак, как же выглядит наша таблица регистра расчета

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

Если вернуться опять к зарплате, то при нажатии на кнопочку «Заполнить» в документе «Начисление зарплаты и взносов», идет тот самый расчет, а при нажатии «провести» — запись в регистр.

Пожалуйста, обратите, внимание!

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

Хотите узнавать о новых публикациях и быть в курсе наших новостей?Подпишитесь

Анна Надобных

Другие статьи автора:

  • 11.10.2023
    Конференция «Бизнес со странами BRICS»
  • 04.07.2023
    Анна Надобных презентовала b2b платформу AUBC на встрече с предпринимателями из ЮАР
  • 29.06.2023
    Традиционный ежегодный рыболовный баттл организации «Деловая Россия»
  • 1С 13
  • RPA 2
  • Автоматизация 7
  • Бизнес-процессы 6
  • Бюджетирование 3
  • Вебинар 5
  • Видео 2
  • Деловая Россия 2
  • Деловая Россия; Стартап 1
  • Инновации 3
  • Интервью 3
  • Кредитование 1
  • Новости 21
  • Новый год 1
  • Основные проблемы управленческого учета и наши решения 5
  • Оценка результатов 4
  • Проектный учет 6
  • Регистры 2
  • Стартап 2
  • Управление бизнесом 20
  • Управленческий учет 13
  • Управленческий учет для строительных компаний 6
  • Управленческий учет для торговых компаний 1
  • Управленческий учет. Основы 8
  • Управленческий учёт 1
  • Финансовый анализ 4
  • Финансы 2
  • Формы отчетности 7
  • ЮАР 1

Другие публикации
Анна Надобных | 11.10.2023
Конференция «Бизнес со странами BRICS»

5 сентября в Казани прошла конференция «Бизнес со странами BRICS» при поддержке Министерства промышленности и торговли Р.

Анна Надобных презентовала b2b платформу AUBC на встрече с предпринимателями из ЮАР

Анна Надобных | 04.07.2023
Анна Надобных презентовала b2b платформу AUBC на встрече с предпринимателями из ЮАР

Презентация B2B платформы AUBC прошла на онлайн-встрече с предпринимателями из ЮАР. Основным докладчиком выступила Анна .

Анна Надобных | 29.06.2023
Традиционный ежегодный рыболовный баттл организации «Деловая Россия»

В загородном клубе «ЗаВидное» 27 июня собрались члены генерального и координационного советов «Деловой России» со своими.

Особенности использования типов, предназначенных для манипулирования необъектными данными

Все хранимые в базе данных сущности поддерживаемые в модели разработки 1С:Предприятия 8 можно разделить на объектные и необъектные. Так как различается сама природа этих сущностей, то существенные различия имеются и в способах манипулирования этими сущностями во встроенном языке. Про манипулирование объектными сущностями рассказывается в разделе «Особенности использования типов данных, предназначенных для манипулирования объектами базы данных». В данном разделе рассматриваются особенности манипулирования необъектными сущностями.

К необъектным сущностям относятся регистры (регистр сведений, регистр накопления, регистр бухгалтерии, регистр расчета), а также последовательности и перерасчеты регистров расчетов. Так же к необъектным сущностям относятся константы, однако в этом разделе мы их затрагивать не будем, так как для каждой константы в базе данных хранится одно значение и работа с ними не вызывает сложностей. Рассматривать необъектные сущности мы будем на примере регистра накопления и регистра сведений. Следует заметить, что только для регистра сведений допускается возможность его использования без регистратора, поэтому модель его использования шире, чем у других регистров, а вариант его использования с регистратором в основном аналогичен другим необъектным сущностям.

Модель хранения данных

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

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

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

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

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

Подчинение регистратору

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

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

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

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

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

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

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

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

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

Заметим, что объекты типа РегистрыНакопленияМенеджер и РегистрНакопленияМенеджер.ХХХХ (где ХХХХ имя регистра) имеются в системе в единственном экземпляре.

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

Фактически, набор записей является коллекцией записей, которую можно прочитать и записать. Набор записей имеет только один метод для изменения данных – Записать() . В отличие от техники, используемой при манипулировании объектными сущностями, для необъектных сущностей нет понятия удаления. Набор записей может быть только записан. При этом выполняется замещение всех существующих записей удовлетворяющих текущему отбору на записи, хранящиеся в наборе. Соответственно для удаления множества записей следует установить отбор и, не добавляя записей в набор, выполнить запись набора.

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

В отличие от работы с объектами, набор записей необязательно считывать, чтобы выполнить запись.

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

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

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

Запись в наборе записей регистра накопления имеет тип РегистрНакопленияЗапись . Данный тип используется только для записи в наборе записей. Это значение не используется отдельно от набора записей.

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

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

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

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

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

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

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

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

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