07.11.2019
У объекта РегистрСведенийМенеджер имеется набор методов для доступа к данным регистра сведений.
Методы СрезПервых() и СрезПоследних() позволяют найти наиболее ранние и наиболее поздние записи по всем комбинациям измерений. При этом может быть установлен отбор записей. Методы возвращают таблицу значений, содержащую строки соответствующие найденным записям.
По своему действию эти методы аналогичны виртуальным таблицам СрезПервых и СрезПоследних. Их единственное преимущество перед использованием запроса - краткость записи.
Методы Получить(), ПолучитьПервое() и ПолучитьПоследнее() отличаются тем, что предназначены для получения только значений ресурсов. Методы возвращают структуру, содержащую элементы, соответствующие ресурсам регистра.
Основным отличием описанных методов является то, что методы Получить(), ПолучитьПервое() и ПолучитьПоследнее() выдают значения одной записи, а методы СрезПервых() и СрезПоследних() позволяют получить несколько записей.
В методах Получить(), ПолучитьПервое() и ПолучитьПоследнее() структура возвращается в любом случае. То есть если в регистре нет записей с указанными значениями отбора, то будет возвращена структура, содержащая значения ресурсов по умолчанию. Таким образом, методы Получить(), ПолучитьПервое() и ПолучитьПоследнее() целесообразно использовать в тех случаях, когда, с точки зрения прикладной задачи, нужны данные одной записи, и значение по умолчанию вполне может быть использовано как не установленное значение для этой комбинации измерений, то есть соответствовать отсутствию записи. Например, если хранятся цены товаров, то получение цены 0 (ноль) вполне может отвечать логике использования не установленной цены. В этом случае удобно использовать эти методы и не анализировать в модуле имеется ли запись в регистре или нет. Однако если наличие или отсутствие записей с указанной комбинацией измерений существенно, то нужно использовать запрос или методы СрезПервых() и СрезПоследних() для периодических регистров сведений.
С точки зрения производительности, методы Получить(), ПолучитьПервое() и ПолучитьПоследнее() оптимизированы именно для получения данных одной записи. Разумеется, в конкретных ситуациях (в зависимости от структуры измерений, варианта хранения базы данных и т.д.) соотношение может быть различным.