|
Ошибка в регистрации изменений для узла обмена | ☑ | ||
---|---|---|---|---|
0
mzelensky
26.04.18
✎
10:07
|
Доброго времени суток!
Платформа 1С:Предприятие 8.2 (8.2.19.130). Конфа не типовая, на базе УТ 10.3 Имеется механизм регистрации изменений справочника "Номенклатура" - при записи элемента справочника, он регистрируется в нужных узлах обмена. Работает через подписку следующий код: Если ТипОбъекта = Тип("СправочникОбъект.Товары") Тогда Если Объект.ЭтоГруппа = Ложь Тогда МассивУзлов = ПолучитьМассивУзловДляРегистрации(ПараметрыСеанса.ВсеУзлыДляОбменаССайтомТоварами); ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Объект.Ссылка); КонецЕСли; КонецЕСли; Механизм рабочий, функционирует достаточно давно, но сейчас наткнулся на какой-то глюк. который объяснить не могу. Записываю определенный товар и начинаю проходить отладчиком - код полностью и без ошибок выполняется, все ОК. НО данная номенклатура в списке зарегистрированных элементов не появляется. Записываю еще раз - снова весь код отрабатывает, но в списке зареганых опять пусто. Делал так раз 5 - ничего!!! Потом записал другую Номенклатуру - она успешно появилась. Затем снова записал "первую" - и только тогда она зарегалась в плане обмена. В чем тут косяк? Куда капать и что смотреть? |
|||
1
mzelensky
26.04.18
✎
10:08
|
(0) Для пояснения
В переменной "МассивУзлов" содержится 2 узла плана обмена. Массив НЕ пустой, это я проверял. "Объект.Ссылка" - тоже заполнена. |
|||
2
mzelensky
26.04.18
✎
10:34
|
ап
|
|||
3
mzelensky
26.04.18
✎
11:25
|
ап2
|
|||
4
dezss
26.04.18
✎
11:30
|
как смотрел список зареганых?
|
|||
5
mzelensky
26.04.18
✎
12:00
|
(4) Стандартной обработкой "РегистрацияИзмененийДляОбмена"
и запросом: ВЫБРАТЬ ТоварыИзменения.Узел, ТоварыИзменения.Ссылка как Товар, ТоварыИзменения.Ссылка.Код как Код, ТоварыИзменения.Ссылка.Артикул как Артикул ИЗ Справочник.Товары.Изменения КАК ТоварыИзменения ГДЕ ТоварыИзменения.Узел = &Узел И ТоварыИзменения.Ссылка = &Товар |
|||
6
mzelensky
26.04.18
✎
12:36
|
ап3
|
|||
7
dezss
26.04.18
✎
14:23
|
а такое происходит только с одной номенклатурой?
|
|||
8
Cyberhawk
26.04.18
✎
14:33
|
Думаю, что делает дело прикладной код, в котором прописано, что объект не регистрируется, если ключевые поля у него не изменились
|
|||
9
dezss
26.04.18
✎
14:35
|
(8) нифига, регаться должно все, что просто записано. Стопудова, сам проверял.
|
|||
10
dezss
26.04.18
✎
14:35
|
(9) + тем более при использовании
ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Объект.Ссылка); |
|||
11
mzelensky
26.04.18
✎
14:38
|
(7) Сегодня просто нактнулся на такую.
Явно случай какой-то частный. И даже если такая не одна, то их мало |
|||
12
mzelensky
26.04.18
✎
14:39
|
(10) Да, согласен...я же регаю вручную, четка прописываю узел и обмен. Тут вопросов к "изменению" данных быть не должно
|
|||
13
dezss
26.04.18
✎
14:43
|
(11) попробуй выгрузить базу и загрузить в тестовую...а там глянуть, повторяется или нет...
может тебе тупо кэш надо почистить...или ТиИ. |
|||
14
mzelensky
26.04.18
✎
15:04
|
(13) ДУмал уже об ТиИ...но делать ПОЛНУЮ проверку базы в монопольном режиме не вариант вообще.
Есть какой-нибудь другой вариант? |
|||
15
Cyberhawk
26.04.18
✎
15:29
|
(9) Не тупи. В типовых не так.
|
|||
16
Cyberhawk
26.04.18
✎
15:29
|
После твоей подписки могут вызываться еще какие-нибудь, вот и думай
|
|||
17
mzelensky
26.04.18
✎
15:34
|
(16) Нет там больше ничего. В данном случае. Механизм полностью мой.
|
|||
18
Cyberhawk
26.04.18
✎
15:45
|
Регистрация может сниматься в промежуток времени между кодом в (0) и тем моментом, когда ты посмотришь на очередь на узле.
Ставь точку останова после кода регистрации и/или конца транзакции, а в другом сеансе посмотри очередь на узле (и на каком). |
|||
19
dezss
26.04.18
✎
16:19
|
(15) я в (10) исправился)
|
|||
20
mzelensky
26.04.18
✎
16:31
|
(18) Так и буду делать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |