Универсальный обмен данными XML #717505


#0 by Медведик
Доброго дня, уважаемые. Тестирую механизм переноса данных на базе универсального обмена данными в формате XML и планов обмена. Прямое подключение к базе-приемнику. Столкнулся с нюансами: 1) даже в случае ошибки при выгрузке или загрузке, все объекты, подлежащие выгрузке, получают номер пакета - хотя до объекта дело не дошло из-за возникшей ошибки; 2) если в обработчике ПКО я присваиваю Отказ=Истина и объект-документ не выгружается, он все равно получает номер пакета...
#1 by Cube
Это нормально. Просто не надо игнорировать ошибки. А ты как хотел?
#2 by Медведик
Ожидал, что в случае ошибки выгрузка не будет подтверждена и объекты не получат номер пакета. Никак штатно не добиться желаемого мною поведения?
#3 by Cube
"если в обработчике ПКО я присваиваю Отказ=Истина и объект-документ не выгружается, он все равно получает номер пакета..." Все просто: выражением "Отказ=Истина" ты сказал 1С, чтобы она забыла, что этим объетом надо обменяться...
#4 by Cube
Какая тебе разница, получили они номера или нет? Главное, чтобы номер выгружаемого был больше последнего загруженного. Все объекты, у которых номер пакета не указан или он больше номера последнего загруженного попадают в файл выгрузки.
#5 by Медведик
Хех, вот тут и нюанс... Я просто запускаю обработку с указанным узлом, он не контролирует номера пакета и удаляет регистрацию после завершения процесса обмена. Т.е. объект не выгрузился (или не загрузился), а регистрация с него снимается.
#6 by Cube
"а регистрация с него снимается." Значит, был ЗАГРУЖЕН файл обмена с номером таким же или больше, чем был у этого объекта. То есть, вторая база сказала первой: я захавала файл с номером таким-то, повторять мне не надо, давай следующий.
#7 by Cube
Не знаю, что там у тебя за обработка, но, если есть ошибка, то надо останавливаться. Если обработка написана прямыми руками, то там где-нибудь в настройках галочка "Остановка по ошибке" должна быть...
#8 by Медведик
Штатная обработка Универсальный обмен данными в формате XML, версия 2.1.8 из КД
#9 by toypaul
Какой-то бред. Какие еще номера пакетов универсальном обмене? Ведь речь про него? Нет там никаких номеров пакетов.
#10 by toypaul
Не пользуйся универсальным обменом, пользуйся механизмом, который встроен в последние типовые (на базе БСП). Там есть номера пакетов.
#11 by Медведик
Хорошо, переформулирую. После работы обработки смотрю регистрацию объектов по плану обмена и вижу числа в колонке "Номер отправленного" - что это, если не номер пакета?
#12 by toypaul
я не знаю что это. универсальный обмен умеет только забрать данные из плана обмена, удалить из него все к чертям или удалить то, что выгрузил. никаких пакетов эта обработка не формирует ибо не умеет делать двусторонний обмен.
#13 by Медведик
Спасибо за терпение к моим вопросам. Прошу по возможности соориентировать, куда смотреть дальше. В БП захожу через администрирование в синхронизацию данных, узлы у меня уже есть. При попытке создать новую синхронизацию получаю на выбор предопределенные настройки обмена с типовыми конфигурациями и не могу найти обмен по плану "По организации" (НЕ распределенная база). Как зайти в имеющиеся синхронизации и задать им правила КД?
#14 by toypaul
План обмена по организации нужно включить в доступные для настройки. Читать описание к БСП по обмену данными. Изучать модули менеджера планов обмена с типовыми.
#15 by Медведик
Насколько я увидел типовой вариант (режим предприятия), можно после создания настройки синхронизации загрузить свои ПКО. Это отлично. Осталось решить вопрос с включением в доступные для настройки план обмена по организации и моя проблема решится. Спасибо!
#16 by acsent
не факт что правила написанные под универсальный обмен заработают под обмен по планам из бсп
#17 by Медведик
Выборку по произвольному алгоритму из правил устранил, что-то еще может "стрельнуть"?
#18 by toypaul
нужно, чтобы обработка выгрузки, которая встроена в конфу соот-ла аналогичной из состава КД, в которой правила разрабатывались.
#19 by Медведик
, Наскоком не получилось... Пытался использовать план обмена с УНФ. Вылетают ошибки при загрузке своих правил обмена - система не принимает никак данные движений, ругается, что нет реквизитов с именем регистров. Пробовал закомментировать проверку как в теме , не помогло. В заголовке правил, созданных в КД, версия формата 2.01, в выгружаемых из конфы - тоже 2.01, только еще режим совместимости стоит "РежимСовместимостиСБСП21". Отсюда вопрос, т.к. версия формата совпадает: 1) механизм из БСП не умеет переносить движения (сомневаюсь, как же так); 2) обработки не совпадают, как было сказано в , хотя если я смотрю встроенную в конфу обработку универсального обмена данными в формате XML - она тоже 2.1.8. 3) иное, может я не в ту встроенную обработку смотрю...
#20 by МимохожийОднако
см . Ответ по п.2
#21 by Медведик
Ткните носом, пожалуйста, как обработка-то называется, чтоб я знал, что сравнивать.
#22 by toypaul
ОбменДаннымиXML по-моему так вообще я бы на месте этого обмена тоже не стал движения переносить. как их изменения отслеживать? в этом обмене все завязано на изменениях.
#23 by toypaul
и у тебя правила под УНФ заточены?
#24 by Медведик
В конфе есть только "УниверсальныйОбменДаннымиXML", такой же, как я использую из КД. Нет, какая разница? Я поменял состав плана обмена и пытаюсь загрузить свои правила, заточенные на БП 3.
#25 by Медведик
Отслеживать изменения движений не нужно, регистрация этих РН/РБ не включена. Отследили изменения документа - перенесли его движения, т.к. если документ в источнике самописный - первички нет и можно перенести только его движения в ОперациюБух, что и прописано в правилах.
#26 by Медведик
Стало интересно, как в типовых обменах переносится операция. Никак, судя по типовым обменам с УНФ, УТ 10 и камином.
#27 by Медведик
Уважаемые, у кого-нибудь переносится штатным функционалом обмена через БСП документ ОперацияБух со всеми движениями? Если нужно дописать, соориентируйте, идти через алгоритмы как в правилах УТ 11 сделано, или есть иной рациональный путь?
#28 by toypaul
досматриваю курс по КД. как раз пункт по настройка онлайн обмена. так вот обработка называется КонвертацияОбъектовИнформационныхБаз. есть такая? хотя можно было и отладчиком пробежаться.
#29 by Медведик
Есть, там Функция ВерсияФорматаСообщенияОбмена, которая возвращает значение "3.1". p.s. Решил пока отложить штатные обмены и временно решить вопрос обмена через регламентное задание, которое будет запускать универсальную обработку без очистки регистрации. Регистрацию очищать руками по факту успешного (без ошибок) прошедшего обмена. p.s.s. Тему с обменом через механизм БСП буду ковырять дальше.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям