Имя: Пароль:
1C
1С v8
Сломался обмен УРИБ
0 dolss
 
16.12.16
18:20
Поменял в центре конфу. Отчет поправил и код чуть-чуть.
Выгружаю в ПБ.
В ПБ загружаю файл, грузит.
Выхожу, запускаю конфигуратор. Обновляю.
Выхожу, запускаю базу. Не стартует, говорит "в этой транзакции уже происходили ошибки". И все, куку.
Под отладчиком видно, что он из хранилища восстанавливает файл и начинает его грузить.
Вылетает на коде:
ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, КоличествоЭлементовВТранзакции);

При этом у параметра ЧтениеСообщения поле Отправитель не читается.

В XML вроде все нормально, все поля заполнены.
Хелп, обмена уже неделю нету.
1 youalex
 
16.12.16
18:34
Остановка по ошибке, Замер производительности (будет видно где поток гулял)
2 dolss
 
16.12.16
18:45
Да мне по сути уже неважно где "поток гулял".
Я хочу понять, можно ли обмануть периферию, и загрузить в нее данные без обновления конфы. И если да, то что для этого надо сделать.
3 vi0
 
16.12.16
20:02
а что за код подправил? может быть в нем дело?
4 dolss
 
16.12.16
23:26
Нет, в центре то все работает.
Оно когда видит что конфа обновилась, конфу обновляет, а сам файл кидает в хранилище и ждет пока конфа БД обновится.
И потом при старте из хранилища файл берет обратно и грузит уже данные.
И в этот момент как раз и падает.
Я уже из файла выкусывал изменения конфы, но оно ругается уже по другому, какой-то порядок изменений не тот, в общем файл кривой становится.
Восстановил старую копию, сделал выгрузку из нее. Там другие значения полей, но я не пробовал грузить в ПБ.
Я предполагал следующий алгоритм:
1. Меняем файл, убираем оттуда изменения конфы, запускаем обмен.
2. Руками отсоединяем ПБ от ЦБ, делаем там изменения, подсоединяем заново.

Вот, собственно, хочу понять как это сделать.
5 vi0
 
17.12.16
08:53
а что именно тебе непонятно как сделать из этих двух пунктов?
6 vi0
 
17.12.16
08:56
в теории, как вариант можно:
- отсоединить ПБ, загрузить в нее cf из ЦБ (не сравнить объединить)
- в ЦБ из регистрации изменений удалить изменения конфигурации (вот это не знаю - можно сделать/нет?)
- сделать выгрузку из ЦБ, загрузку в ПБ
7 Фрэнки
 
17.12.16
10:29
(5) ну мне, например, не совсем понятно, о каком вообще хранилище речь идет. Оно как-то никем не упоминалось в обсуждениях, когда о РИБ обменах спрашивают.
8 vi0
 
17.12.16
11:36
(7) полагаю это какой то допиленный механизм обмена
реквизит типа ХЗ где хранится xml
9 vi0
 
17.12.16
12:55
еще вариант:
вернуть в метаданных ЦБ все как было до ошибки и сделать обмен
10 Фрэнки
 
17.12.16
13:16
да фиг его знает... вариант-то сработает или один или другой. Однократно. Проблема же у ТС не в этом, а в том, что он хочет с какой-то периодичностью настроить передачу именно ДАННЫХ. Чтоб несущественные изменения конфига в центральной базе было не обязательно выгружать в периферийную.

Если этот вопрос у него в самом деле, то это же в другу сторону все нужно обсуждать. Надо ждать реакцию ТС
11 vi0
 
17.12.16
14:12
(10) у него очевидная однократная проблема
> обмена уже неделю нету
12 Фрэнки
 
17.12.16
14:28
(11) все равно однократная. Он же сейчас только один раз базу центрального офиса сконфигурил - на грабли наступил.

Обновит однажды еще раз - опять однократно наступит.
13 vi0
 
17.12.16
14:30
(12) ты не гадай)
у него конкретный вопрос задан
14 dolss
 
20.12.16
14:55
(12) Очевидно, могу наступить. Не хотелось бы
(6) Естественно, основой вопрос как удалить регистрацию изменений конфы в центре
(7) Хранилище -- регистр в базе, туда при обмене грузится XML как двоичные данные. Потом при старте системы файл оттуда в темп выгружается и грузится еще раз. И ровно на этом месте система падает. И да, я проверил, файл в хранилище идентичен входящему.
15 dolss
 
20.12.16
19:40
Упс...
А я похоже в заблуждение хотел коллег ввести.
На копиях снял в центре регистрацию всех объектов, и обмен произошел.
По ходу там в данных какой-то волшебнейший косяк.
Будем искать методом половинного деления, тут уже понятно более-менее.