Имя: Пароль:
1C
1С v8
Порядок выгрузки объектов: Конвертация данных
,
0 borrman
 
24.04.12
16:28
Добрый день!
Есть обмен Розница->УТ (доработанная).

Из розницы в УТ передаются документы Перемещение товаров и, созданный на его основании, Расходный ордер.

После загрузки документа ПТ его табличная часть заполняется сериями (ЗаполнитьПоСериям - функция). Расходный ордер необходимо заполнить по табличной части ПТ.

Все хорошо, но ПТ загружается ПОСЛЕ расходного ордера. И на момент вызова обработчика ПослеЗагрузки у расходного ордера ПТ еще не заполнен и не загружен в базу (есть только ссылка на него и все). Как обойти эту ситуацию?

Спасибо!
1 Нуф-Нуф
 
24.04.12
16:28
есть реквизит порядок выгрузки
2 borrman
 
24.04.12
16:31
Это в ПВД?
Порядок?

У ПТ - 100, у РасходныйОрдерНаТовары - 850.
3 fisher
 
24.04.12
16:43
(0) Конвертация вся при выгрузке делается в источнике. Поэтому если ты чего-то там уже при загрузке в приемнике делаешь, то обратно никак. Либо все в источнике конвертируй, либо уже сам всё ручками при загрузке.
Если серии ну никак в источнике не сопоставить (нету физически нужной инфы), тогда можно еще в два приема извратиться - сначала конвертить ордера без серий, а при загрузке ПТ находить их и дозаполнять.
4 borrman
 
24.04.12
16:48
(3) Ну все верно. Вот я при загрузке в обработчике ПослеЗагрузки хочу обработать документ ПТ.
При повторной выгрузке все отлично получается.
5 fisher
 
24.04.12
17:13
Попробуй передвинуть ПТ в списке ПКО выше ордера (при этом автоматом приоритет поменяется).
6 borrman
 
24.04.12
17:29
(5) попробовал - без изменений. кроме того в (2) я писал порядок правил :(
7 borrman
 
24.04.12
17:30
Вот еще - возможно очень важно: это выгрузка только измененных объектов. Что-то мне кажется, что тут этот порядок не работает. (обработка ОбменДаннымиXML).
8 Vovan1975
 
24.04.12
17:45
если у расходного ордера имеется реквизит "Документ-Основание" то выгружай не перемещения а расходные ордера а они через этот реквизит вытащат документ перемещение.
9 Vovan1975
 
24.04.12
17:49
другой вариант - в ПВД в событии "после выгрузки" перемещения принудительно (выгрузить по правилу)выгружай расходные ордера по даному перемещению.
другой вариант - создавать расходные ордера "на месте" - в базе-приемнике.
10 fisher
 
24.04.12
17:50
(6) Я про ПКО, а не про ПВД
11 Stim
 
24.04.12
17:52
сделать повторную загрузку, когда ПТ уже загружен - предлагали?
12 Vovan1975
 
24.04.12
17:53
(11) предлагали - это вариант "ПВД в событии "после выгрузки" перемещения принудительно (выгрузить по правилу)выгружай расходные ордера по даному перемещению."
13 borrman
 
24.04.12
20:37
Спасибо.
Тема закрыта.

Использовал совет - (9), но ошибка была просто в другом - использование запроса к базе с незаписанным объектом.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший