#0
by TormozIT
Метод ИзменениеЗарегистрировано часто используется для обнаружения коллизий при обмене данными. Но при таком его использовании возникает один существенный недостаток. Рассмотрим пример. База А изменила объект. База А выгрузила для базы Б сообщение обмена. База Б загружает (принимает) его, но не делает сразу выгрузки (скажем из-за ошибки блокировки). База Б меняет объект. База Б выгружает сообщение обмена для базы А. База А загружает его и использует метод ИзменениеЗарегистрировано для определения коллизии, который возвращает Истина. У базы А приоритет и изменение базы Б будет отклонено. В таком случае в таблице изменений базы А в колонке "НомерСообщения" записан номер сообщения, которое указано в поле "НомерПринятого" загружаемого сообщения обмена. По логике данная ситуация не является коллизией. База А при фиксации загруженного сообщения обмена удаляет регистрацию объекта. Получаем рассогласование данных объекта между базами. Конечно, вероятность такого события невелика, но она есть. Чтобы правильно проверить коллизию необходимо считывать номер сообщения из записи в таблице изменений. Если он NULL или больше номера принятого (отправителем), то коллизия есть.
#1
by НетуаНадо
есть регистры коллизий обмена в стандартных конфах в них пишутся версии объектов, потом оттуда можно восстановить правильную версию
#4
by TormozIT
Ранее я считал, что метод ЗакончитьЧтение удаляет регистрацию по номеру принятого отправителем сообщения. Однако я ошибался. Удаление регистрации изменений в моем случае производилось отдельно. Я перенес его, поместив сразу за НачатьЧтение. Теперь проблемы нет.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- УРБД коллизии
- Коллизии при обмене РИБ
- в УТ11 есть план обмена с БП2, а в БП2 нету обмена с УТ11
- ПКО, План обмена для фиксирования изменений, настройки обмена УТ- вместе не work
- Планы обмена, правила обмена, КД
- Можно ли откатить назад дату начала обмена в настройках обмена УТ10-БП?
- планы обмена, метод ИзменениеЗарегистрировано() выдаёт ошибку
- БСП 2. Привязка Правил обмена/регистрации к Плану обмена
- План обмена для одностороннего плана обмена с выгрузкой НЕ в XML
В этой группе 1С
- КАК не выводить предупреждение при записи элемента
- RLS не даёт распровести документ
- где в ЗуПе АДВ 6-3 ?
- 1C Розница возврат покупателя.
- Тормозит регистр сведений.
- СКД цвета ячеек по интервалам
- Расчет зарплаты по табелю, а не графику
- Модифицированность формы
- Справочник: Скрыть строки в форме списка
- СКД. Расшифровка в отчете по регистратору.
- Бухгалтерия КОРП постоянные временные разницы
- КЛАДР не грузится в комплексную
- Программа "БухСофт: Зарплата, Табель, Кадры", что за "зверь"?
- Как можно отменить проведение документа если документ изменился, но не провелся
- СКД: Вывод группировок свернутыми
- Сканер штрих кода Symbol Ls2208 USB
- При тестировании базы пишет "Проверка операций. Операция документа... Изменено время"
- Отчет о розничных продажах
- Можно ли каким-то образом автоматизировать заполнение регистра "Товары на ККМ"?
- В чем разница между сч.10-2 покупн. полуф-ты и компл. изделия и сч.41-4 покупн.изд