|
Битые ссылки при синхронизации | ☑ | ||
---|---|---|---|---|
0
N-S-B
22.11.17
✎
15:05
|
Настроена синхронизация между УТ 11.0 и БП 3.0. В УТ создается документ заказ поставщику, затем поступление товаров и услуг. Это поступление уходит в БП.
Периодически возникает такая проблема, в выгруженном в БП поступлении в табличной часть номенклатура может быть битой ссылкой. Помогает повторная принудительная регистрация к обмену документа поступления и последующая синхронизация, и в БП пропадают битые ссылки в документе. Куда копать? Что это может быть? Конфы нетиповые, поэтому запилить какой-нибудь костыль тоже можно) |
|||
1
sapphire
22.11.17
✎
15:14
|
Написать выгрузку заново
|
|||
2
N-S-B
23.11.17
✎
08:18
|
Других вариантов нет? )
|
|||
3
Митяйский
23.11.17
✎
09:20
|
>Куда копать?
Залить правила в КД и копать конвертацию |
|||
4
Serg_1960
23.11.17
✎
09:23
|
Вангую: а во всём виноват внутриплатформенный хаос с порядком записей в сообщениях обмена - ну не программиста же за это винить?!
Имхо, битые ссылки в документе возникают, когда записи на номенклатуру читаются из сообщения обмена и и пишутся в базу после принятого документа. Самопроверка: ошибки возникают, когда добавляются новые записи справочника в документ. |
|||
5
Serg_1960
23.11.17
✎
09:25
|
PS: рассуждения на тему вины - поясняю для особо одарённых: это был сарказм.
|
|||
6
h-sp
23.11.17
✎
09:47
|
(2) забить. Это так и задумано. Если документы грузятся не в том порядке, то возникает битая ссылка. А в тот момент, когда приходит второй документ, всё встает на место.
|
|||
7
Митяйский
23.11.17
✎
09:50
|
(6) Ну так а кто мешает переставить местами приоритеты в правилах выгрузки? Чтобы очередность была как надо, а не как попало?
|
|||
8
h-sp
23.11.17
✎
10:21
|
(7) не, ну я не против.
|
|||
9
Starhan
23.11.17
✎
10:22
|
синхронизация то на чем? КД 3?
|
|||
10
N-S-B
26.11.17
✎
11:39
|
(4)
>Имхо, битые ссылки в документе возникают, когда записи на номенклатуру читаются из сообщения обмена и и пишутся в базу после принятого документа. Тоже думал об этом. Но специально указал в первом сообщение, что сначала создается документ заказ поставщику в УТ. Соответственно, если была создана новая номенклатура, то она уже на этом этапе уходит в БП. И когда уже создают поступление товаров, то в этот момент, вся номенклатура по идеи уже должна быть в БП. Заказ поставщику и поступление создаются не одновременно, а с разницей в несколько часов/дней. |
|||
11
Cyberhawk
26.11.17
✎
11:43
|
(10) Ты не понял: выгрузился документ1 и новая номенклатура, затем документ2 с этой же новой номенклатурой, а вот загружается сначала документ2, а затем уже документ1 и новая номенклатура
|
|||
12
Cyberhawk
26.11.17
✎
11:43
|
Но еще покури РС "Публичные идентификаторы", может у тебя и там битые ссылки...
|
|||
13
N-S-B
26.11.17
✎
11:52
|
(11) Да нет же. Я же написал в (10) - сначала создается заказ поставщику с новыми товарами, а поступление товаров уже через несколько часов/дней. Поэтому второй документ никак не может загрузиться первым, еще до номенклатуры.
|
|||
14
Cyberhawk
26.11.17
✎
12:07
|
(13) Эта номенклатура в приемник прилетает только с документом ПТУ? Больше у других документах не участвует? Попробуй после того, как заметил битую ссылку, создать в источнике фиктивное РТУ с этой номенклатурой и передать документ в приемник - битая ссылка тоже будет?
|
|||
15
h-sp
26.11.17
✎
12:21
|
(13) почему не может? если эти несколько дней не было загрузки, то вполне может.
|
|||
16
N-S-B
26.11.17
✎
12:58
|
(15) Синхронизация работает по расписанию каждые 15 минут. Если создают заказ поставщику с новыми товарами, то они соответственно регистрируются к обмену и уходят в БП (ну, теоретически). И, уже по прошествии какого-то времени, когда создают поступление, оно уходит в БП, где уже должна быть эта номенклатура.
|
|||
17
Cyberhawk
26.11.17
✎
13:11
|
(16) А проверь: создай фиктивную номенклатуру и ни в какой документ ее не подбирай. После очередного сеанса обмена эта номенклатура перенесется в приемник? Что-то кажется, что нет - работает какой-нибудь оптимизатор, который не выгружает объекты, которые не светятся в документах...
|
|||
18
mistеr
26.11.17
✎
19:41
|
(16) Ты проверь при очередном случае, есть уже в БП нужная номенклатура или нет.
|
|||
19
MaxS
26.11.17
✎
20:21
|
При создании новой номенклатуры она автоматически регистрируется на узле к обмену?
Ситуация может быть штатная. Настроили синхронизацию, отменили регистрацию всех объектов, начали обмениваться документами и опа, а справочников, то нету. Их потому и нету, что ни разу не передавали в другую базу. Если в УТ настройка выгружать справочники с документами, то вроде бы они не сразу переезжают с документом, а в следующем сеансе после отправки документа. Если как в (0), то какой-то глюк )) |
|||
20
N-S-B
26.11.17
✎
20:47
|
(17) Проверял. Создавал в разные моменты времени номенклатуру, проверял обработкой регистрации объектов к обмену, что номенклатура зарегистрировалась к обмену. И создавал новые товары без проверки регистрации (корпускулярно-волновой дуализм, квантовая запутанность ))))
Все товары уходили синхронизацией в БП. И вручную создавал заказы поставщикам и отдельно поступления. Никак отловить ошибку не могу. А если и отловлю, то хз пока что, что с ней делать дальше...) Казалось бы фигня и можно забить, ошибка появляется пару раз в неделю из всей кучи документов. Но клиента раздражает, так как нет теперь 100% уверенности в синхронизации и каждый документ приходится перепроверять в базе приемнике. (19) Да, номенклатура регистрируется к обмену. Описанный случай штатной ситуации не подходит в этом случае, синхронизация работает уже который год, проблемы начались только последний месяц-два. |
|||
21
Cyberhawk
26.11.17
✎
21:54
|
(20) Поставь в приемнике (через расширение) отладочный код, когда записывается документ с битой ссылкой в ТЧ. Отловишь потом в базе-источнике по номеру сообщения и проверишь, а была ли эта ссылка выгружена в этом же сообщении (с таким же номером). Главное успеть это сделать до следующего сеанса обмена.
|
|||
22
Cyberhawk
26.11.17
✎
21:55
|
(19) "выгружать справочники с документами, то вроде бы они не сразу переезжают с документом, а в следующем сеансе после отправки документа" // Так у ТС вроде так же или нет?
|
|||
23
N-S-B
30.11.17
✎
14:27
|
В итоге сделал костыль, в базе приемнике подписка на запись документа поступления, если в ТЧ документа встречается битая ссылка, то база конектится по COM к базе источнику и регистрирует к обмену повторно документ и все товары из его ТЧ.
А пока работает костыль, попробую разобраться в чем проблема: при обнаружении кривого поступления данной подпиской, так же сохраняет отдельно файл обмена, с которым пришел документ и всякую инфу, есть ли такой товар сейчас итд |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |