|   |   | 
| 
 | Битые ссылки при синхронизации | ☑ | ||
|---|---|---|---|---|
| 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 к базе источнику и регистрирует к обмену повторно документ и все товары из его ТЧ.
 А пока работает костыль, попробую разобраться в чем проблема: при обнаружении кривого поступления данной подпиской, так же сохраняет отдельно файл обмена, с которым пришел документ и всякую инфу, есть ли такой товар сейчас итд | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |