Возникает при вводе элемента плана счетов на основании, а также при выполнении метода Заполнить, при вводе на основании, а также при интерактивном вводе нового. В процедуре-обработчике этого события должен быть описан сам алгоритм заполнения реквизитов элемента плана счетов на основании переданного значения. Один контроль типа нужен для произвольного ДанныеЗаполнения; затем копируются только два явно разрешённых реквизита.
Где и как запускать
Модуль объекта УчебныеСчетаКарточек. Дополнительный блок — тело отдельной серверной команды учебной обработки.
Подготовка
Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланСчетов УчебныеСчетаКарточек; не добавляйте эти учебные объекты в рабочую базу.
Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.
У плана счетов не задавайте маску кода; регистры бухгалтерии для карточки счёта не нужны. Добавьте признак учета РазрешитьКоличественныйУчет типа Булево.
Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.
Откройте ПланыСчетов → УчебныеСчетаКарточек → Модуль объекта и вставьте основной обработчик на уровне модуля без директивы НаКлиенте.
Дополнительный блок запускайте в теле серверной команды собственной учебной обработки. Он вызывает настоящий метод подготовленного объекта; обработчик события вручную не вызывайте.
Каждое событие проверяйте как отдельный урок. Обновите только учебную базу; примеры не исполняются HTML-справочником.
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) <> Тип("Структура") Тогда
Возврат;
КонецЕсли;
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения, "Лимит,Комментарий");
СтандартнаяОбработка = Ложь;
Сообщить("Заполнено: " + Комментарий);
КонецПроцедурыНастоящий вызов события подготовленным объектом
Объект = ПланыСчетов.УчебныеСчетаКарточек.СоздатьСчет();
Объект.Наименование = "Учебная карточка";
Объект.Код = Лев(Строка(Новый УникальныйИдентификатор), 8);
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Данные = Новый Структура("Лимит,Комментарий", 250, "Заполнено из структуры");
Объект.Заполнить(Данные);
Сообщить(Строка(Объект.Лимит));
Сообщить(Объект.Комментарий);Разбор по шагам
Дополнительный код создаёт реальный объект УчебныеСчетаКарточек штатным менеджером.
Один контроль типа нужен для произвольного ДанныеЗаполнения; затем копируются только два явно разрешённых реквизита.
Параметры события передаёт платформа; модуль обращается к собственным реквизитам из подготовки.
Как проверить результат
Переданная структура содержит Лимит = 250 и Комментарий = Заполнено из структуры; эти значения попали в новый объект.
Заполнить без структуры не отключает стандартную обработку. Сам обработчик не записывает объект.
Ожидаемый результат
Заполнить лимит и комментарий из собственной структуры для подготовленного учебного объекта.
На что обратить внимание
Работайте только с объектом, созданным дополнительным кодом, и только в своей учебной базе.
Сообщение внутри события записи не доказывает завершение всей транзакции; не отправляйте оттуда письма и не вызывайте внешние сервисы.
Правила объекта не надо обходить повторной записью из его же обработчика.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.