Инструменты пользователя

Инструменты сайта


1c:объекты:регистр_сведений

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

Описание

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

Измерения

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

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

Запись в регистр сведений

Запись в регистр может происходить как с помощью набора записей, так и с помощью Менеджера записи, который подразумевает работу с одной конкретной записью. При работе с набором подразумевается запись в регистр нескольких записей за один раз (хотя разумеется можно внести и одну запись), при таком методе работы используются отборы, по реквизитам, для которых происходит запись. Если отбор не установлен, весь регистр будет замещен добавляемым набором. Избежать подобного эффекта, возможно с помощью, отбора или установив параметр Замещать = Ложь в методе Записать(Ложь) при записи набора в базу данных. Менеджер записи не обладает такими особенностями как набор записей, но и записывать в регистр с его помощью можно только по одной записи.

  • Пример записи с помощью менеджера записи
    РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
    РегистрКурсыВалют.Период    = ДатаКурса;
    РегистрКурсыВалют.Валюта    = Валюта;
    РегистрКурсыВалют.Курс      = 1;
    РегистрКурсыВалют.Кратность = 1;
    РегистрКурсыВалют.Записать();
  • Пример записи набора записей
    	РегистрНабор = РегистрыСведений.МойЛичныйРегистрСведений.СоздатьНаборЗаписей();
    	РегистрНабор.Отбор.Клиент.Установить(ЗначениеОтбора);
    	//Если мы хотим добавить запись к существующему набору, то набор надо прочитать. Хотя ничего не мешает записывать с параметром Ложь
    	РегистрНабор.Прочитать();
    	ЗаписьНабора = РегистрНабор.Добавить();
    	ЗаписьНабора.Клиент = ЗначениеОтбора;
    	ЗаписьНабора.Период = ТекущаяДата();
    	ЗаписьНабора.НомерРаздела = 1;
    	РегистрНабор.Записать();
Только авторизованные участники могут оставлять комментарии.
1c/объекты/регистр_сведений.txt · Последнее изменение: 2014/12/29 07:00 — admin