Link Search Menu Expand Document

{ИмяРегистраСведений}

Тип-одиночка
{ИмяПодсистемы}::{ИмяРегистраСведений}
Базовые типы: Объект, РегистрСведений
Доступность: КлиентИСервер

Иерархия типа

graph TD;
РегистрСведений["РегистрСведений"]-->Объект["Объект"];
InformationRegisterName["{ИмяРегистраСведений}"]-->РегистрСведений["РегистрСведений"];

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

Для периодического регистра сведений вызов ПересчитатьРазрешенияДоступаДляОбъектов приводит к инициации вычисления разрешений как на чтение, так и на изменение (вызываются обработчики [.ВычислитьКлючДоступаДляЧтения] и [.ВычислитьКлючиДоступаДляИзменения], а тривиальные разрешения из ключей создаются автоматически).

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

При этом варианты “без существующей” вообще не обладают ни какой дополнительной функциональностью - т.е. это просто короткий способ создать набор записей, заполнить отбор из ключа записи, добавить в него запись (только для “Записать”) и вызывать метод Записать. Варианты полезны при работе с записями регистра как со ссылочными объектами - с помощью них удобно изменять или удалять отдельные записи (при том что в самом регистре по сути не предусмотрено изменение или удаление - только запись набора записей) - обычно это требуется при реализации UI функциональности (без использования соответствующей стандартной функциональности пользовательского интерфейса).

Сравнение ссылочное


Методы

ComputeAccessKeysForRead

ВычислитьКлючиДоступаДляЧтения(Ключи: ЧитаемыйМассив<{ИмяРегистраСведений}.КлючИзмерений>): ЧитаемоеСоответствие<{ИмяРегистраСведений}.КлючИзмерений,ЧитаемыйМассив<КлючДоступа.Объект>
Доступность: Сервер
Аннотации: Обработчик

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

Примеры

метод ВычислитьКлючиДоступаДляЧтения(
        Ключи: ЧитаемыйМассив<ЦеныТоваров.КлючИзмерений>
    ): ЧитаемоеСоответствие<ЦеныТоваров.КлючИзмерений, ЧитаемыйМассив<КлючДоступа.Объект>>

    знч результат = <ЦеныТоваров.КлючИзмерений, ЧитаемыйМассив<КлючДоступа.Объект>>{:}

    для Ключ из Ключи

        // Заполнение ключей доступа на основе значений из полей Ключ
        ...
    ;

    возврат результат
;

ComputeAccessKeysForUpdate

ВычислитьКлючиДоступаДляИзменения(Записи: ЧитаемыйМассив<{ИмяРегистраСведений}.Запись>): ЧитаемоеСоответствие<{ИмяРегистраСведений}.Запись,ЧитаемыйМассив<КлючДоступа.Объект>
Доступность: Сервер
Аннотации: Обработчик

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

Примеры

метод ВычислитьКлючиДоступаДляИзменения(
        Записи: ЧитаемыйМассив<ЦеныТоваров.Запись>
    ): ЧитаемоеСоответствие<ЦеныТоваров.Запись, ЧитаемыйМассив<КлючДоступа.Объект>>

    знч результат = <ЦеныТоваров.Запись, ЧитаемыйМассив<КлючДоступа.Объект>>{:}

        для Запись из Записи

            // Заполнение ключей доступа на основе значений из полей Запись
          ...
        ;

    возврат результат
;

ВычислитьРазрешенияДоступа

ВычислитьРазрешенияДоступа(): ЧитаемыйМассив<РазрешениеДоступа>
Доступность: Сервер
Аннотации: Обработчик

Заблокировать

Заблокировать(КлючЗаписи: {ИмяРегистраСведений}.КлючЗаписи)
Доступность: Сервер
Перегрузка:
Заблокировать(КлючЗаписи: {ИмяРегистраСведений}.КлючЗаписи)

Устанавливает исключительную блокировку на значения измерений заданные в ключе записи до конца транзакции. Если транзакция не активна - выбрасывается исключение [.ИсключениеНетАктивнойТранзакции].

Примеры

КурсыВалют.Заблокировать(Запись.КлючЗаписи)

Заблокировать

Заблокировать(КлючЗаписи: {ИмяРегистраСведений}.КлючЗаписи)
Доступность: Сервер
Перегрузка:
Заблокировать(Отбор: {ИмяРегистраСведений}.НаборЗаписей.Отбор)

Заблокировать

Заблокировать(Filter: InformationRegisterName.RecordSet.Filter)
Доступность: Сервер
Перегрузка:
Заблокировать(КлючЗаписи: {ИмяРегистраСведений}.КлючЗаписи)

Устанавливает исключительную блокировку на значения измерений используемые в отборе до конца транзакции. Если транзакция не активна - выбрасывается исключение ИсключениеНетАктивнойТранзакции.

Примеры

КурсыВалют.Заблокировать(НаборЗаписей.Отбор)

Записать

Доступность: Сервер

Пытается записать в БД новую запись или заместить существующую.

Фактически при вызове метода создаётся набор записей из одной записи Запись с отбором заполненным из ключа записи Запись, набор записывается с Замещать = Истина

В отличии от метода [ЗаписатьСЗаменойСуществующей] метод [Записать] является просто короткой формой создания набора записей, его заполнения и вызова его метода [Записать]. Ни какой дополнительной функциональностью он не обладает.

Примеры

КурсыВалют.Записать(Запись)

ЗаписатьСЗаменойСуществующей

ЗаписатьСЗаменойСуществующей(
  Запись: {ИмяРегистраСведений}.Запись,
  КлючСуществующейЗаписи: {ИмяРегистраСведений}.КлючЗаписи? = Неопределено,
  МеткаВерсииСуществующейЗаписи: Байты? = Неопределено)
Доступность: Сервер

Если значение параметра МеткаВерсииСуществующейЗаписи заполнено - оно должно соответствовать метки версии существующей (изменяемой) записи, а не записи Запись.

Записывает новую запись в БД или изменяет существующую. В случае изменения существующей записи, если значение параметра МеткаВерсииСуществующейЗаписи отличается от Неопределено - осуществляется контроль совпадения указанной метки версии с меткой версии записи в БД. Подробнее см. ниже.

Если параметр КлючСуществующейЗаписи имеет значение Неопределено - вызов предназначен для записи новой записи, в этом случае:

  • значение параметр МеткаВерсииСуществующейЗаписи должно иметь значение Неопределено (в противном случае будет выброшено исключение ИсключениеНедопустимыйАргумент)
  • проверяется отсутствие в базе БД записи с ключом равным ключу записи Запись
  • запись Запись записывается в БД

Если параметр КлючСуществующейЗаписи имеет значение отличное от Неопределено - вызов предназначен для изменения существующей записи, в этом случае:

  • если значение параметра МеткаВерсииСуществующейЗаписи имеет значение Неопределено
  • если значение параметра МеткаВерсииСуществующейЗаписи имеет значение отличное от Неопределено
    • проверяется наличие в БД записи с ключом равным ключу записи Запись и меткой версии совпадающей с МеткаВерсииСуществующейЗаписи
  • исходная запись (с ключом КлючСуществующейЗаписи) заменяется в БД на запись Запись, при этом фактически
    • создаётся пустой набор записей с отбором заполненным из КлючСуществующейЗаписи, набор записывается с Замещать = Истина
    • создаётся набор записей из одной записи Запись с отбором заполненным из ключа записи Запись, набор записывается с Замещать = Истина

Примеры

КурсыВалют.ЗаписатьСЗаменойСуществующей(Запись, ИсходнаяЗапись.КлючЗаписи, ИсходнаяЗапись.ПолучитьМеткуВерсии())

ПересчитатьРазрешенияДоступаДляОбъектов

ПересчитатьРазрешенияДоступаДляОбъектов(Объекты: ЧитаемыйМассив<{ИмяРегистраСведений}.Запись>)
Доступность: Сервер

Пересчет разрешений на указанные записи регистра.

Примеры

КурсыВалют.ПересчитатьРазрешенияДоступаДляОбъектов(НаборЗаписей)

СоздатьФормуОбъекта

СоздатьФормуОбъекта(Ключ: {ИмяРегистраСведений}.КлючЗаписи?): ФормаОбъекта
Доступность: Клиент

Создает форму объекта регистра сведений. Если регистру сведений назначена форма объекта, то будет создана форма ровно этого типа. Иначе будет создана автоматическая форма типа [<ИмяРегистраСведений>.АвтоматическаяФормаОбъекта]

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


СоздатьФормуСписка

СоздатьФормуСписка(): ФормаСписка
Доступность: Клиент

Создает форму списка регистра сведений. Если регистру сведений назначена форма списка, то будет создана форма ровно этого типа. Иначе будет создана автоматическая форма типа [<ИмяРегистраСведений>.АвтоматическаяФормаСписка]


Удалить

Доступность: Сервер

Удаляет запись из БД без проверки существования

  • запись запись (с ключом КлючЗаписи) удаляется из БД, при этом фактически
    • создаётся пустой набор записей с отбором заполненным из КлючЗаписи, набор записывается с Замещать = Истина В отличии от метода УдалитьСПроверкойСуществующей метод Удалить является просто короткой формой создания набора записей, его заполнения и вызова его метода Записать. Ни какой дополнительной функциональностью он не обладает.

Примеры

КурсыВалют.Удалить(КлючЗаписи)

УдалитьСПроверкойСуществующей

УдалитьСПроверкойСуществующей(
  КлючЗаписи: {ИмяРегистраСведений}.КлючЗаписи,
  МеткаВерсии: Байты? = Неопределено)
Доступность: Сервер

Удаляет запись из БД с контролем совпадения указанной метки версии с меткой версии записи в БД.

  • если МеткаВерсии != Неопредено - проверяется наличие в БД записи с ключом равным ключу записи Запись и меткой версии совпадающей с МеткаВерсии
  • запись (с ключом КлючЗаписи) удаляется из БД, при этом фактически
    • создаётся пустой набор записей с отбором заполненным из КлючЗаписи, набор записывается с Замещать = Истина Если МеткаВерсии == Неопределено поведение совпадает с Удалить

Примеры

КурсыВалют.УдалитьСПроверкойСуществующей(Запись.КлючЗаписи, Запись.ПолучитьМеткуВерсии())

Список унаследованных методов

Объект

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