Имя: Пароль:
1C
1С v8
Обмен данными
0 Vadimok
 
29.07.13
08:45
Необходимо настроить обмен с филиалом. Конфигурация УТ. База переписанная. Поток продаж очень большой. По этому, что бы остатки были актуальными. Решили сделать так. При проведении документов влияющих на остатки, делать выгрузку (в каталог или ftp ), а с филиала загружать данные если каталог не пустой.  В конфигурацию добавил Подпись на события при проведении документов  делаю выгрузку. Регистрация изменений в плане обмена установлена Автоматически. Сообщение создается. Но получается так, что не все выгружается в него. Файл не загружается в филиал. Он загружается только после повторного пере проведения документа. Подскажите, что я делаю не так.
1 vicof
 
29.07.13
08:46
[Но получается так, что не все выгружается в него]
что значит не все?
2 Vadimok
 
29.07.13
08:53
Делал сравнение файлов при первом проведении документа и после  повторного проведения. При первом проведении вижу номер документа, дату, сумму документа, а после повторного выгружается еще кусок данных похоже на реквизиты формы и табличную часть.
3 vicof
 
29.07.13
08:57
(2) я так подозреваю, что дело в коде подписки
4 Vadimok
 
29.07.13
08:57
Код такой                                                                      
    ЗаписьXML= Новый ЗаписьXML;
    
    ЗаписьXML.ОткрытьФайл(КаталогОбмена + "\Message_1_" + КодВБазе + ".xml");
    
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    
    // Создаем новое сообщение
    Узел = ПланыОбмена.Полный.НайтиПоКоду(КодВБазе);
    
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
    
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Узел);
    
    // Пишем изменения
    ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, 100);
    
    ЗаписьСообщения.ЗакончитьЗапись();
    ЗаписьXML.Закрыть();
    
    Архив = Новый ЗаписьZIPФайла(КаталогОбмена + "\Message_1_" + КодВБазе + ".zip", , "Обмен от главного узла", МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Максимальный, МетодШифрованияZIP.Zip20);
        
    Архив.Добавить(КаталогОбмена + "\Message_1_" + КодВБазе + ".xml", РежимСохраненияПутейZIP.НеСохранятьПути);
    Архив.Записать();

    УдалитьФайлы(КаталогОбмена + "\Message_1_" + КодВБазе + ".xml");
5 vicof
 
29.07.13
09:04
1. попробуй
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, 0)

2. после регистрации посмотри, что находится в таблицах изменений.
6 Vadimok
 
29.07.13
10:26
то же самое поставил 0, все равно после вторго проведения документа он попадает в другую базу.
2. после регистрации посмотри, что находится в таблицах изменений. Как просмотреть ?
7 be-may
 
29.07.13
10:32
(0) извиняюсь за оф.
а как такая выгрузка влияет на производительность? Неужели нет "тормозов" ?
8 be-may
 
29.07.13
10:33
(6)
2 - можно в консоли запросов в конструкторе запросов.
Сверху кнопочка "отображать таблицы изменений"
9 Галахад
 
гуру
29.07.13
10:38
Может быть стоит посмотреть "1С:Розницу"?
Там есть специальный регистр и механизм обмена.