- •Назначение
- •6.2. Непериодические регистры сведений
- •6.3. Периодические регистры сведений
- •6.4. Реквизиты регистра сведений
- •6.5. Режим записи
- •6.6. Приемы программирования регистров сведений
- •Описание менеджера регистра сведений
- •Описание набора записей регистра сведений
- •Выборка из регистра сведений
- •Описание менеджера записи регистра сведений
- •Модуль набора записей
- •6.4. Формы регистра сведений
Описание менеджера регистра сведений
Объект РегистрСведенийМенеджер предоставляет доступ к действиям с конкретным регистром. Этот объект позволяет открыть нужную выборку с помощью методов Выбрать и ВыбратьПоРегистратору, создать новый набор записей, создать менеджер записи и ключ записи, через него можно получить форму и макет регистра сведений.
Пример 1:
РегКурсы = РегистрыСведений.КурсыВалют;
Выборка = РегКурсы.Выбрать();
Пример 2.
РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
РегистрКурсыВалют.Период = ДатаКурса;
РегистрКурсыВалют.Валюта = Валюта;
РегистрКурсыВалют.Курс = 1;
РегистрКурсыВалют.Кратность = 1;
РегистрКурсыВалют.Записать();
Пример 3.
Набор = РегКурсы.СоздатъНаборЗаписей();
ФормаСписка = РегКурсы.ПолучитьФормуСписка();
ОсновнойМакет = РегКурсы.ПолучитьМакет("Основной");
Объект РегистрСведенийМенеджер позволяет обращаться к «итогам» регистра. Под «итогами» непериодического регистра сведений понимаются значения ресурсов по заданным измерениям, а для периодических регистров сведений можно получить первое и последнее значение по указанным измерениям, а также срез первых и срез последних записей.
Для обращения к «итогам» регистра сведений применяются методы Получить, ПолучитьПервое и ПолучитьПоследнее, СрезПервых и СрезПоследних, а также запросы . При получении среза первых и среза последних записей, как правило, не указывается одно или несколько измерений.
Метод Получить имеет два варианта синтаксиса:
• Для непериодических регистров сведений:
Получить(<структура>)
Структура должна содержать ключи, соответствующие именам измерений регистра (в произвольном порядке). В качестве значений структуры передаются значения измерений, по которым следует осуществлять отбор.
• Для периодических регистров сведений:
Получиъ{<Период>, <структура>)
где Период - это дата или момент времени, на который требуется получить значения ресурсов.
Метод Получить возвращает структуру, ключи которой совпадают с именами ресурсов, например:
РегКурсы = РегистрыСведений.КурсыВалют;
Отбор = Новый Структура("Валюта",ВыбВалюта);
СтруктураРесурсы = РегКурсы.Получить(ВыбДата, Отбор);
Сообщить(СтруктураРесурсы.Курс);
Сообщить(СтруктураРесурсы.Кратность);
Если записи с такой комбинацией измерений и периода (для периодических регистров) не найдено, то в элементах структуры будут пустое значения.
Следующие методы применимы только для периодического регистра сведений:
• ПолучитьПервое,
• ПолучитьПоследнее,
• СрезПервых,
• СрезПоследних.
Метод ПолучитьПоследнее имеет следующий синтаксис:
ПолучитьПоследнее(<Конец периода>, <структура>)
Если он не находит запись в регистре по данной комбинации измерений точно на заданный период, то возвращается ближайшая более ранняя запись, например:
РегКурсы = РегистрыСведений.КурсыВалют;
Отбор = Новый Структура("Валюта",ВыбВалюта);
СтруктураРесурсы = РегКурсы.ПолучитьПоследнее(ВыбДата, Отбор);
Сообщить(СтруктураРесурсы.Курс);
Сообщить{СтруктураРесурсы.Кратность);
Метод ПолучитьПервое действует аналогично методу
ПолучитьПоследнее, за исключением того, что он получает наиболее ранние значения ресурсов по отношению к заданной дате или моменту времени.
Метод СрезПоследних позволяет получить наиболее поздние записи регистра, соответствующие указанным измерениям, например, можно получить курсы всех валют на заданную дату. Метод возвращает таблицу значений с найденными записями. Структура таблицы значений совпадает со структурой регистра сведений:
РегКурсы = РегистрыСведений.КурсыВалют;
тзКурсыВалютНаДату = РегКурсы.СрезПоследних(ВыбДата);
Метод СрезПоследних позволяет задать отбор по измерениям регистра с помощью второго параметра, имеющего тип Структура. В переданной структуре должны содержаться те измерения, по которым должны быть отфильтрованы записи. В каждом элементе структуры задается имя и значение отбора.
Например, следующая программа получает последние актуальные цены по товарам заданного конкурента:
РегЦены = РегистрыСведений.ЦеныКонкурентов;
Отбор = Новый Структура{"Конкурент", ВыбКонкурент);
тзЦеныКонкурента = РегЦены.СрезПоследних(ВыбДата,Отбор);
Метод СрезПервых действует аналогично методу СрезПоследних, за исключением того, что он выбирает срез наиболее ранних записей по отношению к заданной дате или моменту времени.
Для извлечения данных из регистров сведений могут также применяться запросы.
