Расширение: очистка доп реквизита при копировании документа

1. user748451 27.05.18 17:19 Сейчас в теме
Добрый день!
Делаю расширение к 1с УНФ 1.6.13.54, платформа 8.3.12.1412.
Нужно для определенного дополнительного реквизита в Заказе покупателя поле очищать при создании документа копированием (F9).
Попробовал добавить обработчик ПриКопировании, код ниже. Так не работает, значение для допполя сохраняется из копируемого документа. Также попробовал ПриСозданииНаСервере, результат тот же.
Где может быть ошибка?


&После("ПриКопировании")
Процедура ЗаказПокупателяПриКопировании(ОбъектКопирования)
ТипНужногоМнеДопРеквизита = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Amo");
рекв = ЭтотОбъект.ДополнительныеРеквизиты.Найти(ТипНужногоМнеДопРеквизита);
рекв.Значение = "";

КонецПроцедуры



&НаСервере
Процедура ЗаказПокупателяПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Если Параметры.Ключ.Пустая() Тогда
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Amo");
Отбор = Новый Структура();
Отбор.Вставить("Свойство", Свойство);
НайденныеСтроки = Объект.ДополнительныеРеквизиты.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
НайденныеСтроки[0].Значение = "";
КонецЕсли;

КонецЕсли;

КонецПроцедуры
По теме из базы знаний
Найденные решения
2. t.v.s. 113 27.05.18 18:00 Сейчас в теме
&После("ПриКопировании") 
Процедура ЗаказПокупателяПриКопировании(ОбъектКопирования) 
    ТипНужногоМнеДопРеквизита = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Amo");	
    рекв = ЭтотОбъект.ДополнительныеРеквизиты.Найти(ТипНужногоМнеДопРеквизита); 
    ЭтотОбъект.ДополнительныеРеквизиты.Удалить(рекв); 
КонецПроцедуры 
DOOMbI4; user973528; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. t.v.s. 113 27.05.18 18:00 Сейчас в теме
&После("ПриКопировании") 
Процедура ЗаказПокупателяПриКопировании(ОбъектКопирования) 
    ТипНужногоМнеДопРеквизита = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Amo");	
    рекв = ЭтотОбъект.ДополнительныеРеквизиты.Найти(ТипНужногоМнеДопРеквизита); 
    ЭтотОбъект.ДополнительныеРеквизиты.Удалить(рекв); 
КонецПроцедуры 
DOOMbI4; user973528; +2 Ответить
3. user748451 27.05.18 19:08 Сейчас в теме
4. DOOMbI4 09.07.21 02:05 Сейчас в теме
Полезная тема, от себя добавлю маленькое дополнение, если реквизит не обязательный, то он может быть не заполнен и тогда, при копировании документа, будет выходить ошибка, нужно добавить проверку:

&После("ПриКопировании") 
Процедура ЗаказПокупателяПриКопировании(ОбъектКопирования) 
    ТипНужногоМнеДопРеквизита = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Amo");    
    рекв = ЭтотОбъект.ДополнительныеРеквизиты.Найти(ТипНужногоМнеДопРеквизита);
Если рекв <> Неопределено Тогда 
    ЭтотОбъект.ДополнительныеРеквизиты.Удалить(рекв);
КонецЕсли; 
КонецПроцедуры
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот