ПланВидовХарактеристикОбъект.<Имя плана видов характеристик>.ОбработкаЗаполнения

События · Filling

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

Синтаксис

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

ПланВидовХарактеристикОбъект.<Имя плана видов характеристик>.ОбработкаЗаполнения (ChartOfCharacteristicTypesObject.<Chart of characteristic types name>.Filling)

ПланВидовХарактеристикОбъект.<Имя плана видов характеристик> (ChartOfCharacteristicTypesObject.<Chart of characteristic types name>)

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

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

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

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

<ТекстЗаполнения>
Тип: Строка, Неопределено.
Если у объекта основное представление ВВидеНаименования и реквизит Наименование находится в списке ВводПоСтроке, то значение присваивается реквизиту Наименование.
Если основное представление ВВидеКода и реквизит Код находится в списке ВводПоСтроке и не установлен признак Автонумерация, то значение присваивается реквизиту Код.
В противном случае присваивание не выполняется.

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

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

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

Сервер, толстый клиент, внешнее соединение.

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

Замечание:

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

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

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

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

Заполнить лимит и комментарий из собственной структуры: УчебныеХарактеристики

Вызывается при выполнении заполнения объекта из какого-либо значения. Вызывается при выполнении метода Заполнить, при вводе на основании, а также при интерактивном вводе нового. В этой процедуре должно быть выполнено заполнение реквизитов объекта на основании переданного значения. Один контроль типа нужен для произвольного ДанныеЗаполнения; затем копируются только два явно разрешённых реквизита.

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

Модуль объекта УчебныеХарактеристики. Дополнительный блок — тело отдельной серверной команды учебной обработки.

Подготовка

  1. Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланВидовХарактеристик УчебныеХарактеристики; не добавляйте эти учебные объекты в рабочую базу.

  2. Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.

  3. У плана видов характеристик разрешите тип значения Число. Новый элемент получает ТипЗначения = Новый ОписаниеТипов("Число").

  4. Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.

  5. Откройте ПланыВидовХарактеристик → УчебныеХарактеристики → Модуль объекта и вставьте основной обработчик на уровне модуля без директивы НаКлиенте.

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

  7. Каждое событие проверяйте как отдельный урок. Обновите только учебную базу; примеры не исполняются HTML-справочником.

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    Если ТипЗнч(ДанныеЗаполнения) <> Тип("Структура") Тогда
        Возврат;
    КонецЕсли;
    ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения, "Лимит,Комментарий");
    СтандартнаяОбработка = Ложь;
    Сообщить("Заполнено: " + Комментарий);
КонецПроцедуры
Настоящий вызов события подготовленным объектом
Объект = ПланыВидовХарактеристик.УчебныеХарактеристики.СоздатьЭлемент();
Объект.Наименование = "Учебная карточка";
Объект.ТипЗначения = Новый ОписаниеТипов("Число");
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Данные = Новый Структура("Лимит,Комментарий", 250, "Заполнено из структуры");
Объект.Заполнить(Данные);
Сообщить(Строка(Объект.Лимит));
Сообщить(Объект.Комментарий);

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

  1. Дополнительный код создаёт реальный объект УчебныеХарактеристики штатным менеджером.

  2. Один контроль типа нужен для произвольного ДанныеЗаполнения; затем копируются только два явно разрешённых реквизита.

  3. Параметры события передаёт платформа; модуль обращается к собственным реквизитам из подготовки.

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

  1. Переданная структура содержит Лимит = 250 и Комментарий = Заполнено из структуры; эти значения попали в новый объект.

  2. Заполнить без структуры не отключает стандартную обработку. Сам обработчик не записывает объект.

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

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

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

  1. Работайте только с объектом, созданным дополнительным кодом, и только в своей учебной базе.

  2. Сообщение внутри события записи не доказывает завершение всей транзакции; не отправляйте оттуда письма и не вызывайте внешние сервисы.

  3. Правила объекта не надо обходить повторной записью из его же обработчика.

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

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

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

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

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