РегистрСведенийНаборЗаписей.<Имя регистра сведений>.ОбработкаЗаполнения

События · Filling

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

Синтаксис

ОбработкаЗаполнения(<ДанныеЗаполнения>, <СтандартнаяОбработка>)
Полное описание, параметры и ограничения

РегистрСведенийНаборЗаписей.<Имя регистра сведений>.ОбработкаЗаполнения (InformationRegisterRecordSet.<Information register name>.Filling)

РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Information register name>)

ОбработкаЗаполнения (Filling)

Доступен, начиная с версии 8.2.

Синтаксис:
ОбработкаЗаполнения(<ДанныеЗаполнения>, <СтандартнаяОбработка>)
Параметры:

<ДанныеЗаполнения>
Тип: Произвольный.
Значение, которое используется как основание для заполнения.
Если обработчик вызван при выполнении метода Заполнить, параметр равен параметру <ДанныеЗаполнения> метода Заполнить набора записей или менеджера записи.
При интерактивном вводе нового из формы списка параметр является структурой, элементы которой соответствуют тем параметрам отбора формы списка, у которых способ сравнения "Равно" или "В списке" с единственным элементом списка. Если таких элементов отбор списка не содержит, данный параметр равен Неопределено. Если параметр <СтандартнаяОбработка> по окончании работы обработчика равен Истина (установлен по умолчанию), система автоматически произведет заполнение полей записей набора одноименными элементами структуры.

<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Отказ от стандартной обработки не отменяет действие.
Значение по умолчанию: Истина.
Описание:

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

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
При копировании (как интерактивном, так и средствами встроенного языка), данный обработчик не вызывается.

Замечание:

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

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Заполнить собственный набор сведений без записи

Настоящий вызов Заполнить передаёт собственную структуру и вызывает модуль набора. Из неё создаётся одна строка в памяти, не сохранённая запись базы.

Где и как запускать

Модуль набора записей собственного независимого регистра сведений. Дополнительный блок в серверной процедуре; запись базы отсутствует.

Подготовка

  1. В собственной пустой учебной конфигурации создайте независимый непериодический регистр сведений УчебныеНастройки. Измерение Ключ типа Строка 30, ресурс Значение типа Строка 100. Добавьте измерение ЧисловойКлюч типа Число 10.0.

  2. Не добавляйте регистратора: режим записи выбран Независимый. Обновите учебную конфигурацию. Записи регистра не нужны; код читает свойства метаданных регистра и его измерения.

  3. Для РежимСокращенияТипа сравнивайте свойство измерения ЧисловойКлюч. Не уменьшайте разрядность и не выполняйте удаление данных: пример только объясняет текущий режим обновления.

  4. В модуле набора записей УчебныеНастройки разместите основной обработчик. Обновите учебную базу. Дополнительный блок выполняйте в серверной процедуре своей обработки.

  5. Обработчик рассчитан именно на структуру Ключ,ЧисловойКлюч,Значение, созданную дополнительным блоком. Для иных источников заполнения нужен отдельный алгоритм; этот пример их не заявляет.

  6. Очистить изменяет только новый набор в памяти. Записать в этом уроке не вызывается и существующие сведения базы не удаляются.

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    ЭтотОбъект.Очистить();
    Запись = ЭтотОбъект.Добавить();
    Запись.Ключ = ДанныеЗаполнения.Ключ;
    Запись.ЧисловойКлюч = ДанныеЗаполнения.ЧисловойКлюч;
    Запись.Значение = ДанныеЗаполнения.Значение;
    СтандартнаяОбработка = Ложь;
    Сообщить("Заполнена одна собственная строка в памяти");
КонецПроцедуры
Серверная процедура: реальная структура и заполнение нового набора
Набор = РегистрыСведений.УчебныеНастройки.СоздатьНаборЗаписей();
Данные = Новый Структура("Ключ,ЧисловойКлюч,Значение", "КНИГА", 1, "250 рублей");
Набор.Заполнить(Данные);
Для Каждого Запись Из Набор Цикл
    Сообщить(Запись.Ключ + ": " + Запись.Значение);
КонецЦикла;

Разбор по шагам

  1. Новый пустой набор и собственная структура создаются до вызова Заполнить.

  2. Платформа вызывает ОбработкаЗаполнения: она создаёт строку с двумя измерениями и ресурсом.

  3. СтандартнаяОбработка = Ложь предотвращает повторное стандартное заполнение. Возврат из процедуры не записывает набор.

Как проверить результат

  1. В памяти одна строка КНИГА / 1 / 250 рублей, она выведена обходом набора.

  2. После закрытия обработки эта несохранённая строка не появилась в регистре базы.

Ожидаемый результат

Создан и заполнен реальный собственный набор сведений без записи данных.

На что обратить внимание

  1. Заполнить и Записать — разные методы; заполнение не равнозначно сохранению.

  2. Не применяйте показанное Очистить к неизвестному уже прочитанному рабочему набору.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.