Ошибка при обмене Комбинат Питания -> РестАРТ

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Ошибка при обмене Комбинат Питания -> РестАРТ
 
Добрый день! При обмене Комбинат Питания -> РестАРТ, загрузка данных не происходит и РестАРТ формирует файл вот такого содержания:

<?xml version="1.0" encoding="UTF-16"?>
<Response build="8.2.1.5" appname="ARMManager.exe" respnum="27" databaseid="{fc195b5b-18a9-11e4-8620-000c292c12bb}" reqnum="27" version="2.1.2" error="Стадия:Проверкa; Ошибка:Нарушена целостность данных. «Product.ParentID» ссылается на «Product.ObjID» по несуществующему значению «{d23608a5-8a8f-11e4-b8b4-000c292c12bb}»; Файл:\\192.168.1.12\all\ExchangeStolovaya\POS01_Request_27.xml" dbprefix="POS01" name="Food" work="1"/>
 
Добрый день, Петр!
Уточните релизы Ваших программных продуктов.
Так же Вы можете прислать базы (Рестарта и Комбината Питания) для тестирования нам на почту food@rarus.ru
 
Цитата
Златослава Полозова пишет:
Добрый день, Петр!
Уточните релизы Ваших программных продуктов.
Так же Вы можете прислать базы (Рестарта и Комбината Питания) для тестирования нам на почту food@rarus.ru

С данной ошибкой разобрался. В обмен не попадали некорые типы и группы номенклатуры. Теперь возникла другая странная ошибка при обменах -
1. Выгружаю из Комбината Питания меню в РестАрт - все хорошо.
2. Ничего не меняя в РестАрт, делаю загрузку в Комбинат Питания - визуально все хорошо и ничего не изменилось.
3. Ничего не меняя в Комбинате опять делаю выгрузку в РестАрт - выгруженное ранее меню или помечается на удаление, либо вообще исчезает из базы и так же, помечаются на удаление все кассы ККМ.
Релиз Комбината Питания - 01.0.34.01, релиз РестАрт - 2.22.20.
Базы выслал на food@rarus.ru.
 
Добрый день!

Немного поясню структуру обмена и причину возникновения подобных ошибок с ПП РестАрт.
Обмен построен таким образом, что после отправки сообщения из одного решения в другое, всегда будет сформировано ответное сообщение об успешно завершённой операции или об ошибке. Такое ответное сообщение автоматически удаляется. РестАрт же, если обмен завершается с ошибкой, сообщение не удаляет, чтобы с ним можно было работать для решения проблемы.

Петр, рассматривая конкретно Ваш пример, делаю вывод, что бэк отправляет номенклатуру, которую РестАрт не может определить. Например, можно удалить модификатор, но не убрать привязки модификатора к какому либо продукту. Бэк не будет отправлять сам модификатор, но по прежнему отправит номенклатуру, в которой хранится ссылка на него. Аналогично, если есть карточка пользователя, которая указана у сотрудника. Можно удалить пользователя, но привязку оставить. Тогда сообщение об ошибке будет выглядеть вот так:

error="Стадия:Проверкa; Ошибка:Нарушена целостность данных. «Card.UserID» ссылается на «User.ObjID» по несуществующему значению

Выяснить, где закрался баг очень просто. У каждого отправляемого объекта в сообщении есть свой уникальный номер - Guid. Именно по нему и происходит синхронизация данных в двух продуктах.

Шаг 1: Перейти в каталог обмена, открыть ответное сообщение и скопировать GUID объекта. В конкретном случае уникальный номер это - {d23608a5-8a8f-11e4-b8b4-000c292c12bb}
Шаг 2: Закрыть РестАрт, чтобы он автоматически не подгрузил сообщение
Шаг 3: Сделать выгрузку из бэка: нажать именно на кнопку "Выгрузить" в обработке обмена.
Шаг 4: Опять перейти в каталог обмена, открыть вновь сформированное сообщение и в строке поиска ввести ранее скопированный GUID

Так можно узнать какой именно объект вызывает ошибку.

Конечно, подобный процесс достаточно кропотлив, а ошибка локальная и исправить ее можно, имея на руках базы.
Если устранение проблемы вызывает сложности, специалисты техподдержки всегда помогут в  решении. От Вас требуется предоставление баз или возможности удаленного подключения.
 
Цитата
Алёна Анастасиева пишет:

Выяснить, где закрался баг очень просто. У каждого отправляемого объекта в сообщении есть свой уникальный номер - Guid. Именно по нему и происходит синхронизация данных в двух продуктах.

Шаг 1: Перейти в каталог обмена, открыть ответное сообщение и скопировать GUID объекта. В конкретном случае уникальный номер это - {d23608a5-8a8f-11e4-b8b4-000c292c12bb}
Шаг 2: Закрыть РестАрт, чтобы он автоматически не подгрузил сообщение
Шаг 3: Сделать выгрузку из бэка: нажать именно на кнопку "Выгрузить" в обработке обмена.
Шаг 4: Опять перейти в каталог обмена, открыть вновь сформированное сообщение и в строке поиска ввести ранее скопированный GUID

Так можно узнать какой именно объект вызывает ошибку.
Алена спасибо. Именно так вчера и решил проблему, как и писал выше она была в том, что в регистрацию изменений не попали некоторые группы номенклатуры, перезапись помогла. Но вот со второй проблемой, когда исчезает меню и помечаются на удаление все ККМ не получается разобраться.
 
Цитата
Петр пишет:
Теперь возникла другая странная ошибка при обменах -
1. Выгружаю из Комбината Питания меню в РестАрт - все хорошо.
2. Ничего не меняя в РестАрт, делаю загрузку в Комбинат Питания - визуально все хорошо и ничего не изменилось.
3. Ничего не меняя в Комбинате опять делаю выгрузку в РестАрт - выгруженное ранее меню или помечается на удаление, либо вообще исчезает из базы и так же, помечаются на удаление все кассы ККМ.
Релиз Комбината Питания - 01.0.34.01, релиз РестАрт - 2.22.20.
  Об этой ошибке нам известно и уже ведутся работы по ее устранению, которые войдут в новый релиз Комбината Питания.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С