Имя: Пароль:
1C
1С v8
План обмена через com:Как зарегистрировать объект в базе-приемнике?
0 aspirator23
 
18.11.13
10:09
Между двумя конфигрурациями настроен обмен через com.
В планах обмена, при выгрузке одного из документов, на основании его создается подчиненный документ. Оба документа - основной и создаваемый выгружаются правильно.
Необходимо зарегистрировать подчиненный документ в базе-приемнике для выгрузки в этом же узле.
Проблема в том что при выгрузке через файлы универсальным обменом, документ регистрируется Плане обмена. Если выгружать через com по плану обмена, то документ не регистрируется.
Для такой ситуации в конвертации данных описан в обработчике "Перед выгрузкой" параметр "РегистрироватьОбъектНаУзлеОтправителе".
Но установка его в Истина, не помогает.
Попробовал регистрировать принудительно в конце загрузки в обработчике "После загрузки данных" с помощью ПланыОбмена.ЗарегистрироватьИзменения(). Код исполняется но регистрации нет. Видимо она сбрасывается в конце обмена.
Как зарегистрировать документ для обмена в базе-приемнике.
1 ЧашкаЧая
 
18.11.13
10:15
В после загрузки попробовать:

Объект.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
Объект.ОбменДанными.Получатели.Добавить(МойУзел);
2 aspirator23
 
18.11.13
10:18
Спасибо, попробую.
3 GoroStyle
 
18.11.13
10:24
Перем Подключились;
Перем COMОбъект;
Функция ПодключитьсяКCRM()
    
    Подключились = Истина;
    
    Попытка
        Подкл = Новый COMОбъект("V82.COMConnector");
        COMОбъект = Подкл.Connect("Srvr=""Server1"";Ref=""TradeUT"";Usr=""ObmenBot"";Pwd=""12345""");
    Исключение
        Сообщить(ОписаниеОшибки());
        Подключились = Ложь;
    КонецПопытки;
    
    Возврат Подключились;
    
КонецФункции
4 aspirator23
 
18.11.13
10:41
(1) Не помогло. Видимо сбрасывается регистрация после окончания обмена?
5 ЧашкаЧая
 
18.11.13
10:46
(4) Должно работать. Сам подчиненный документ хоть включен в регистрацию изменений по плану обмена?
6 aspirator23
 
18.11.13
11:12
(4) Да подчиненный документ включен в план обмена.
Его если записать, он регистрируется и при обменах загружается.
7 aspirator23
 
18.11.13
11:37
(5) механизм описанный в (1) работает и регистрирует. Но в конце обмена эта регистрация сбрасывается. Написал отчет который при обмене запускается и динамически через секунду делает выборку из регистраций. Видно что документ регистрируется, а затем сбрасывается. Может там какое-нибудь версионирование? Поэтому видя старую версию, сбрасывается регистрация.
8 aspirator23
 
19.11.13
09:51
Изменение приоритета обмена тоже не спасает. Сбрасывается регистрация в конце обмена.
9 hhhh
 
19.11.13
10:05
так вы в источнике создаете подчиненный документ? или где?
10 aspirator23
 
19.11.13
10:19
(9) в правилах выгрузки основного документа в его обработчике "После выгрузки в файл" создается структура и через ВыгрузитьПоПравилу() выгружается.
11 hhhh
 
19.11.13
10:21
(10) создайте документ, зачем структуру?
12 aspirator23
 
19.11.13
10:37
(10) Я формирую данные в базе-источнике. Там самого документа нет. Есть только данные для его создания.
Эти данные берутся из основного документа. В эти данные добавляются дополнительная информация, устанавливаются некоторые реквизиты. И затем через ВыгрузитьПоПравилу()
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший