Имя: Пароль:
1C
1С v8
Ошибка при чтении изменений при обмене РИБ. Куда смотреть?
0 Nemoj
 
01.12.16
21:23
Начат обмен данными по настройке "Dropbox" (21:03:48).
Ошибка при чтении изменений при обмене РИБ: {ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(1086)}: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка при попытке вставки записи с неуникальным значением ссылки.
таблица AccumRg4119.
Чтение данных из файла обмена завершено с ошибками!
Запись изменений текущей информационной базы в файл обмена завершилась успешно.
Обмен данными по настройке "Dropbox" завершен (21:05:24).



Ходил в ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(1086). Там такое. Указанная строка - следующая за "Попытка".




Процедура ЗагрузитьCообщениеСИзменениямиОтРИБУзла(СтруктураНастроекОбменаДанными, ЧтениеXML)
    
    СтруктураНастроекОбменаДанными.РезультатЧтенияДанных = Истина;

    // Загрузка из найденного файла
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);

    Попытка
        
        ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, СтруктураНастроекОбменаДанными.ДанныеНастройки.КоличествоЭлементовВТранзакцииНаЗагрузкуДанных);
        
        ЧтениеСообщения.ЗакончитьЧтение();
        ЧтениеXML.Закрыть();
        
    Исключение
        
        СтруктураНастроекОбменаДанными.РезультатЧтенияДанных = Ложь;
        СообщитьИнформациюОбОшибкеОбмена("Ошибка при чтении изменений при обмене РИБ: " + ОписаниеОшибки(), СтруктураНастроекОбменаДанными);
        Возврат;
                        
    КонецПопытки;
    
КонецПроцедуры


Что делать дальше, ума не приложу. Посоветуйте.
1 youalex
 
01.12.16
22:12
Если скуль, и нет рецептов - смотреть профайлер (определить значение ссылки, на которое ругается).   А так - стандартно - сделать копию /ТиИ /Кэш
2 Nemoj
 
01.12.16
23:02
Файловая. ТиИ делал.
3 Cyberhawk
 
01.12.16
23:05
Сбросить номера сообщений / сбросить регистрацию на узле
4 Nemoj
 
01.12.16
23:06
Номера сообщений понимаю. Что имеется в виду под "регистрацией на узле"?
5 Cyberhawk
 
02.12.16
08:31
6 Галахад
 
гуру
02.12.16
08:42
(2) В какой из баз делал ТИИ?
7 aleks_default
 
02.12.16
09:08
Смотри файл обмена, ищи записи регистра накопления и что с ними не так.
8 Serg_1960
 
02.12.16
09:09
(0) Имхо, алгоритм поиска ошибки банально: ищем с помощью структуры хранения данных что есть такое "AccumRg4119" (это какой-то регистр накопления); читаем наборы этого регистра по зарегистрированным изменениям и определяем "записи с неуникальным значением ссылки". При этом незабываем тот факт, что уникальность надо проверять в базе-приёмнике, а устранять проблему - в базе-источнике... вот как-то так :)
9 aleks_default
 
02.12.16
09:12
(8)Подозреваю что база-источник - не 1с.
10 Serg_1960
 
02.12.16
09:47
(6) +1 Такую ошибку вряд ли просто так получишь, перепроводя документы в базе. А вот если база уже помирает (индексы уже разрушены) - запросто.

(9) Не исключено, но не отменяет вышесказанное, - автор уже упомянул про РИБ. Подозреваю что базы всё-таки на 1С и даже конфигурации у них идентичные :)
11 Cyberhawk
 
02.12.16
10:16
(10) "если база уже помирает (индексы уже разрушены)" // Вроде все котовасии с индексами некритичны и лечатся, разве нет?
12 Nemoj
 
03.12.16
23:39
(8) ищем с помощью структуры хранения данных что есть такое "AccumRg4119" - это где видно?
У меня РИБ. Конфы идентичные.
ТИИ делал везде.
В периферийной базе сделал с созданием потерянных объектов.
В центральной тоже есть косяки, но я боюсь ставить птицы создания потеряных.
Как понять, какой регистр задублировался?
13 Cyberhawk
 
03.12.16
23:41
(12) Судя по вопросам, позвать специалиста
14 Nemoj
 
03.12.16
23:42
(13) Спасибо за дельный совет.