Конвертация данных (разница м/у событиями ПередВыгрузкой и ПриВыгрузке ПКС) #464678


#0 by mpbakunov
Доброго дня! Когда лучше использовать события ПКС ПередВыгрузкой и ПриВыгрузке? Я особой разницы не увидел. И там и там можно отказаться от выгрузки. почти все свойства совпадают.
#1 by agarych
ну например: Есть табличная часть с реквизитом СтавкаНДС. У СтавкаНДС есть реквизит Ставка(Число). так вот предполагаем что мы делаем конвертацию: Источник (СтавкаНДС, Справочник), Приемник (СтавкаНДС, Число), т.е. реально нам надо в приемник передать значение Ставки (Число). Сделать это с помощью ПКС ПередВыгрузкой нельзя, так как еще не определено Значение, а через Истоник, то сделать нельзя так как это сам документ, а нам нужна табличная часть. И тут как раз нам поможет ПКС ПриВыгрузке. Так как в этом обработчике уже определено Значение = СтавкаНДС, то мы для того чтобы Значению присвоить Ставка, пишем Сумбурно но как то так... Легче конечно показать на примере )
#2 by Defender aka LINN
"Сделать это с помощью ПКС ПередВыгрузкой нельзя, так как еще не определено Значение, а через Истоник, то сделать нельзя так как это сам документ, а нам нужна табличная часть." - бред. Атомный.
#3 by agarych
обоснуй. Как через Источник можно добраться до той строки табличной части которую ты выгружаешь?
#4 by Defender aka LINN
Через Источник - никак. Через ОбъектКоллекции - как 2 пальца. Кроме того, когда нет соответствия для реквизита - получение значения свалится с криком.
#5 by mpbakunov
и все же в чем различие? я понимаю так что зачастую не важно какой обработчик использовать, но меня интересует когда именно только тот или иной нужно использовать!!!
#6 by agarych
"Через ОбъектКоллекции - как 2 пальца " - Согласен, изобретал велосипед ) "Кроме того, когда нет соответствия для реквизита - получение значения свалится с криком" - не понял.
#7 by Andy13
ПередВыгрузкой - конвертируемое значение ещё не выбрано. Если в обработчике заменить, то и не будет выбираться, а сразу подставит то что подсунули. ПриВыгрузке - конвертируемое значение выбрано. Можно проанализировать и тоже подменить. Разница: в первом случае значение неопределено.
#8 by mpbakunov
как по мне зачем в ПриВыгрузке снова анализировать  Значение если это можно сделать и в ПередВыгрузкой!?
#9 by Andy13
А вот фиг ты его там проанализируешь. Говорю же - конвертируемое значение ещё не выбрано. Неопределенно. Нихьт. NULL. Зато установить его уже можно. В результате выборка значения производиться из базы не будет.
#10 by mpbakunov
ну хорошо выходит я в ПередВыгрузкой по какому то соображение присваиваю значение=СамоеЛучшееЗначение; а потом в ПриВыгрузке анализирую мной присвоенное значение и переопределяю его как СуперСамоеЛучшееЗначение. Но я же мог сразу поставить уже конечный вариант в обработчике Передвыгрузкой!!!
#11 by agarych
ну так в сказано же что его можно получить через ОбъектКоллекции. Но все-таки в данном случае, имхо, при выгрузке надо анализировать.
#12 by Defender aka LINN
Попробуй "проанализировать" в ПриВыгрузке что-нибудь, чего нет в источнике. Например, реквизит, для которого нет соответствия в источнике.
#13 by Andy13
+100 И ещё. Когда выгружаемое значение незаполнено, то оно и не будет выбрано. Т.е. до ПриВыгрузке не дойдет. А вот в ПередВыгрузкой побывает обязательно. Заранее - анализировать можно Источник.НужныйРеквизит
#14 by Andy13
И ещё. Много обработчиков совпадающих с обработчиками ПКО по функционалу,  имеется на уровне конвертации. Так сказать для затравки последующей дискуссии...
#15 by Andy13
А потом не будет... Если Перед определил, то после и не отработает....
#16 by agarych
что значит "нет соответствия в источние"?
#17 by Defender aka LINN
Ну нет в источнике такого реквизита и хоть ты тресни. Например, реквизит "Организация" в бух. 7.7.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С