|
Обмен данными. ВыборкаИзменений.Получить() | ☑ | ||
---|---|---|---|---|
0
neVteme
01.02.17
✎
11:11
|
Делается обмен (регламентная задача ночью) между двумя конфигурациями - изначально типовыми - через ПланОбмена с узлами и автоегистрацией. По некоторым узлам обмен проходит отлично, а по некоторым нет. Остановка происходит в этом месте (типовая обработка Универсальный обмен данными в XML):
... Пока ВыборкаИзменений.Следующий() Цикл ЗаписатьВПротоколВыполнения("Метка 1"; Данные = ВыборкаИзменений.Получить(); ЗаписатьВПротоколВыполнения("Метка 2"; ... Остановка происходит на строке "Данные = ВыборкаИзменений.Получить()". Никаких ошибок и сообщений нет. Обмен просто останавливается! Причем в логе есть запись "Метка 1", а записи "Метка 2" нет. Первое, что попробовал, это "завернул" в Попытку - результат тот же, исключение не вызывается. Получается, что в цикл заходит, т.е. объект выборки есть, а получить его не может... Такое ощущение, что у обработки нет прав на этот объект. Добавил УстановитьПривилегированныйРежим(Истина) - не помогло. Может кто сталкивался, подскажите, в каком направлении рыть окопы? |
|||
1
neVteme
01.02.17
✎
11:56
|
Забыл добавить. Эта проблема только в ночном (регламентированном) запуске. В ручном режиме все работает.
|
|||
2
Ёпрст
01.02.17
✎
12:02
|
(0) зачем Получить() ? да еще и без указания индекса, когда и так есть уже .Следующий()
Че за Брэд (не Пит) ? |
|||
3
Windyhead
01.02.17
✎
12:06
|
(0)Может кто-то параллельно читает или записывает (устанавливается блокировка) сообщения по указанному узлу?
|
|||
4
Windyhead
01.02.17
✎
12:08
|
(2) У элемента выборки как раз метод Получить() без всяких индексов. Так что без питов бредов
|
|||
5
neVteme
01.02.17
✎
12:10
|
(3) Думали в этом направлении. Но из десятков попыток, хотя бы раз должно было сработать. Плюс ночь опять же...
|
|||
6
Ёпрст
01.02.17
✎
12:20
|
(4)Это у какого объекта ?
|
|||
7
neVteme
01.02.17
✎
12:21
|
(6) ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения, МассивВыгружаемыхМетаданных);
|
|||
8
Windyhead
01.02.17
✎
12:26
|
(6)
ВыборкаДанных (DataSelection) Методы: Получить (Get) Сбросить (Reset) Следующий (Next) Описание: Содержит ссылки на данные, представленные в базе данных. Объект позволяет обойти данные, попавшие в выборку и прочитать их. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). См. также: ПланыОбменаМенеджер, метод ВыбратьИзменения |
|||
9
Ёпрст
01.02.17
✎
12:28
|
(7) у тя файловая что ле ?
|
|||
10
neVteme
01.02.17
✎
12:33
|
(9) Нет, SQL.
|
|||
11
Windyhead
01.02.17
✎
12:39
|
(10) В Другое время тоже самое?
Если да то попробовать написать обработку которой получать измения по элементно массива МассивВыгружаемыхМетаданных. Чтобы хоть как то локализовать. |
|||
12
Windyhead
01.02.17
✎
12:41
|
хоть поймешь на каких метаданных спотыкается, ну и через типовую обработку регистрации изменений посмотришь что же там такого зарегистрировано по этому типу метаданных.
|
|||
13
neVteme
01.02.17
✎
12:54
|
(12) Проделал такое. Пришел к конкретному виду - документ ПриходнаяНакладная косячит. Обработка регистрации изменений показывает список документов (сейчас 27) - просмотрел каждый - обычные документы. Выгружаю только их - остальные узлы отключил. Встает на первом же документе.
|
|||
14
Windyhead
01.02.17
✎
13:44
|
(13) Попробуй таблицу изменений Приходных накладных прочитать обычным запросом, погляди что там будет
|
|||
15
Windyhead
01.02.17
✎
13:46
|
Я бы попробовал отменить их регистрацию и зарегистрировать заново.
|
|||
16
Cyberhawk
01.02.17
✎
13:47
|
"Обмен просто останавливается!" // После цикла код отрабатывает?
|
|||
17
Windyhead
01.02.17
✎
16:10
|
(16) Видимо узнаем завтра ))
|
|||
18
neVteme
02.02.17
✎
05:18
|
(15) Что проделано. Удалил всю регистрацию. Провел один документ - он автоматом зарегистрировался. Запустил обмен - результат такой же. Накидал отчет по таблицам изменений, показывает один документ, ничего лишнего нет.
|
|||
19
neVteme
02.02.17
✎
05:21
|
(16) Обмен просто останавливается - процесс висит, пока его не скинешь или сам сервер через сутки сбросит. Код не отрабатывает, записей в лог не делается.
|
|||
20
neVteme
02.02.17
✎
05:24
|
(15) Удалил регистрацию у другого документа. Один провел и сделал выгрузку. Все прошло отлично, есть записи в логе о начале и окончании выгрузке, количестве, конвертации и пр.
|
|||
21
Ёпрст
02.02.17
✎
09:27
|
(19) А в каком плане обмена торчит твой документ, там хоть ком-то права назначены ?
|
|||
22
Windyhead
02.02.17
✎
09:27
|
что то не понятна разница между (18) и (20) Делалось все с одним типом документов?
Из (20) можно предположить что есть один(несколько) проблемных документов одного типа? Может попробовать ТИ ? Если база не большая выгрузить в DT, попробовать тож самое на файловой. Вообще конечно интересно с чем может быть такое связано. |
|||
23
neVteme
02.02.17
✎
10:17
|
(21) На план обмена даны все права - чтение, редактирование и пр.
|
|||
24
neVteme
02.02.17
✎
10:20
|
(22) В одном узле обмена есть два вида документа - ПриходнаяНакладнаия и ПриходДенег. Там их больше, но я проверял на этих двух. (18) - проделал с Приходной накладной, а (20) с Приходом денег.
|
|||
25
Windyhead
02.02.17
✎
10:32
|
(24)Т.е. Затык именно с ПриходнаяНакладная и не важно какой именно документ зарегистрирован?
|
|||
26
neVteme
02.02.17
✎
10:33
|
(25) Да, получается только с Приходной накладной.
|
|||
27
Cyberhawk
03.02.17
✎
14:02
|
Зайти в ОС под пользователем ОС службы агента, добавить инфобазу в список баз этого пользователя ОС, запустить инфобазу 1С
|
|||
28
neVteme
07.02.17
✎
11:22
|
Проблема решена.
Если кому будет интересно, то следующим образом. Стандартная ВыборкаИзменений была заменена на обычный запрос к таблицам изменений и все заработало. Плохо, что причина так и не была установлена, но это пережить можно ))). |
|||
29
Ёпрст
07.02.17
✎
11:34
|
(28) релиз поменяй на другой, для начала
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |