Происходит ненужное удаление регистрации изменений #529018


#0 by Jarad
Может я некорректно понял суть планов обмена, но происходит следующее. Исходные данные, УТП для Украины, документ помещается в узел в момент записи. 1. В ПБ создается документ Перемещение, помещается в узел плана обмена, для обмена в центр, тут все ок. Таблица изменений по документу перемещений, + 1 строка с данным перемещением. 2. Производится процедура отправки в центр, в таблице изменений данному перемещению присваивается номер пакета сообщений, тут есть небольшое но... иногда номер в табл.изменений не присваивается, остается пустой, но документ все равно уходит (есть в хмл-файле). 3. Не принимая выгрузки из ПБ (т.е. имитируя потерю пакета), делаем выгрузку из ЦБ, неважно какие данные попадают в пакет, есть ли там такие же типы метаданные, или вобще файл без данных. Искомого перемещения в цб все равно нету, оно так и не дошло. 4. Принимаем выгрузку из ЦБ в ПБ. Тут начинается интересное. Фактически Перемещение из 1-го шага так и не дошло в центр, значит пакет с его данными не подтвердился и не должен закрываться. Но после обмена - таблица изменений не содержит данного перемещения из п.1. Т.е. теперь его надо заново помещать в узел для отправки. Фактически на момент: ЧтениеСообщения.НачатьЧтение(ЧтениеXML); [/code] в отладчике я вижу что таблица изменений по перемещениям содержит 2 документа. Потом [code] ПланыОбмена.ПрочитатьИзменения(... [/code] и после этого - таблица уже пустая. Была идея что гдето явно используется метод "удалить регистрацию изменений", но оказывается что это сама платформа так подчищает... Вопрос зачем, если пакет из предыдущей отправки все еще не был доставлен, очищать таблицу изменений? В 7-ке было, пока по № сообщения не прийдет подтверждение таблица изменений не очищалась, а тут очищается... Или я не верно понимаю смысл рааботы с планами обмена...
#1 by Jarad
up
#2 by Jarad
up
#3 by Jarad
неужели никто не сталкивался.. или вопрос некорректен, и у меня настройки какие то не правильные.
#4 by Mitriy
с чего ты взял, что что-то теряется? пакеты будут содержать все изменения, пока не придет сообщение с подтвреждением, что номер такой-то был успешно принят, вот тогда все регистрации для этого номера и меньше будут очищены... и не раньше...
#5 by Jarad
Смотрел в отладчике. Есть центр и есть периф.база. Из периферийной базы должен уйти новый документ, только что созданный, висит в таблице изменений, чтоб уйти в ЦБ. Выгружаем из ПБ. Документ попал в пакет, все ок. Но.. не принимаем в ЦБ этот пакет, типа как потеря при передаче, выгружаем из ЦБ. Принимаем в ПБ новый пакет из ЦБ (тут я сотрю момент приема отладчиком), по идее новый документ так и не ушел в ЦБ, значит должен уйти. А теперь то что я вижу отладчиком, в момент приема на ПБ: перед выполнением "НачатьЧтение" таблица изменений ПБ содержит 1 строку, и новый документ, готовый к отправке. После выполнения "ПрочитатьИзменения" - таблица изм.ПБ уже пустая, и новый документ из ПБ никогда не уходит если его снова не "толкнуть"... И я не могу понять что я сделал не так, если очистка регистрации происходит на уровне системы в процедурах "ПрочитатьИзменения", которые как "черный ящик"...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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