|   |   | 
| 
 | Структура документа ДополнительныеСвойства: не "выживает" свойство. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Target1025 25.07.23✎ 04:35 | 
        Занимаю в расширение процедуру "ПриКопировании", в ДопСвойства вставляю ссылку на копируемый документ "ДокументКопирования". Занимаю в расширение Процедуру ПриЗаписи, анализирую в момент исполнения процедуры ДополнительныеСвойства, этой записи "ДокументКопирования" уже нет. 
 ps. Это нужно для копирования значений регистра "дополнительныеСвойства" документа. &После("ПриКопировании") Процедура Расш_ПриКопировании(ОбъектКопирования) ДополнительныеСвойства.Вставить("ДокументКопирования", ОбъектКопирования.Ссылка); КонецПроцедуры &После("ПриЗаписи") Процедура Расш_ПриЗаписи(Отказ) ДокументКопирования = Неопределено; Если НЕ ДополнительныеСвойства.Свойство("ДокументКопирования", ДокументКопирования) Тогда Возврат; // << вот тут вылетаем так как "ДокументКопирования" отсутствует КонецЕсли; https://ibb.co/PWdpPD8 | |||
| 1
    
        Target1025 25.07.23✎ 05:07 | 
        (0) Поправка: "копирования регистра ДополнительныеСведения", не ДополнительныеСвойства.     | |||
| 2
    
        RomanYS 25.07.23✎ 09:19 | 
        (0) в УФ объект не живёт с формой, поэтому думай, как тебе это свойство закэшировать в форме     | |||
| 3
    
        mistеr 25.07.23✎ 13:38 | 
        (0) Структура ДополнительныеСвойства предназначена для передачи данных межлу обработчиками и/или подписками одного события.
 При начале обработки другого события структура инициализируется заново. Нужно, как уже советуют, сохранить эти данные в реквизите или в форме. | |||
| 4
    
        RomanYS 25.07.23✎ 13:48 | 
        (3) >> При начале обработки другого события структура инициализируется заново.
 Нет. Между событиями передается нормально, но только для одного объекта. Но в случае УФ экземпляр объекта создается заново | |||
| 5
    
        Target1025 28.07.23✎ 12:21 | 
        Подниму тему. Если я занимаю РеализациюТоваровУслуг в расширение и там добавляю реквизит в объект, то я вижу проблему: у меня сохраняется в объекте ссылка на объект копирования. Из-за чего я не могу удалить объект копирования при обрезке базы, так как на  объект копирования лежит ссылка в скопированном. Удалить ссылку, вроде как не получится - мне требуется скопировать регистр в момент когда срабатывает метод "ПриЗаписи" модуля объекта, а в этот момент документ уже попал в базу со ссылкой на скопированный документ.     | |||
| 6
    
        RomanYS 28.07.23✎ 12:36 | 
        (5) не нужно добавлять реквизит в данные. Нужно добавить в реквизиты ФОРМЫ и аккуратно через него дотащить от объекта копирования до ДопСвойств перед запись ОБЪЕКТА     | |||
| 7
    
        Target1025 28.07.23✎ 13:08 | 
        (6) Не понимаю идеи. Процедура ПриКопировании() исполняется в модуле объекта и имеет доступ только к реквизитам объекта.     | |||
| 8
    
        RomanYS 28.07.23✎ 13:25 | 
        (7) однако в параметрах формы есть ссылка на объект копирования
 Параметры.ЗначениеКопирования Вот её нужно не потерять и донести до ПередЗаписьюНаСервере и засунуть в доп свойства ОБЪЕКТА Задача решена)) | |||
| 9
    
        Target1025 28.07.23✎ 13:54 | 
        (8) Задумка красивая, но не выживает. В момент ПередЗаписьюНаСервере() в модуле формы я пишу в ДОпсведения:
 Объектик = РеквизитФормыВЗначение("Объект"); Объектик.ДополнительныеСвойства.Вставить("ОбъектКопированияФорма",ЭтотОбъект.Расш_ОбъектКопированияФорма); нажимаю F11, перехожу в процедуру "ПередЗАписью" в модуле объекта, а там содержимое ДополнительныеСвойства выглядит уже так: https://ibb.co/mJkHm1B Удалился мой ОбъектКопированияФорма, появились ЕстьСчетФактура, НомерСчетаФактуры, СтатусДокумента, ТребуетсяСчетФактура. | |||
| 10
    
        RomanYS 28.07.23✎ 13:58 | 
        (9) Эээ... зачем "объектик"!?
 &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ДополнительныеСвойства.Вставить("ОбъектКопированияФорма",ЭтотОбъект.Расш_ОбъектКопированияФорма); КонецПроцедуры | |||
| 11
    
        Target1025 28.07.23✎ 14:05 | 
        (10) Да, спасибо, нашел отладкой.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |