Как зарегистрировать в узле все справочники, связанные с документом? #701856


#0 by MaxS
Некоторое время вели учет в УТ 11. Потом настроили односторонний обмен УТ 11 -> БП 3.0. Перед первым обменом сбросили регистрацию всех объектов в обоих базах. При обмене документами, естественно получаем битые ссылки в БП, т.к. справочники не переносились. Есть ли универсальная обработка регистрации справочников и их ссылочных реквизитов, на которые есть ссылки из документа?
#1 by Fram
меняй правила чтобы по ссылкам объекты тоже выгружались
#2 by MaxS
Это разовая процедура - зарегистрировать в узле обмена. Менять правила, значит перелопатить их полностью. :( В случае изменения справочника он и так перейдёт в БП.
#3 by VikingKosmo
Справочников в обмене УТ-БП два десятка
#4 by Fram
поставить 20-30 галочек
#5 by VikingKosmo
Обработку написать которая зарегистрирует изменения этих справочников можно минут за 10
#6 by Aleksey
а встроенная чем не нравится?
#7 by MaxS
Все справочники не нужны. УТ 11 сильно доработана, там есть нетиповые документы, которые используют типовые справочники.
#8 by VikingKosmo
нетиповые документы прописаны в ПравилахОбмена?
#9 by MaxS
Некоторые прописаны. Нужны не все элементы справочников, а только те, которые в составе документов, которые переносятся в БП. И реквизиты этих справочников тоже должны быть заполнены в БП.
#10 by Fram
давно бы уже проставил галочки в правилах и выгрузил
#11 by VikingKosmo
Или написать рекурсивный поиск используемых значений...
#12 by MaxS
Какие галочки? )) Этот вопрос в . Есть такая обработка? На инфостарте, например?
#13 by VikingKosmo
я что то подобное сам писал. Про Инфостарт, я хз, это там искать надо.
#14 by Fram
вот эти
#15 by Fram
+ вернее наоборот - проставить эти галочки
#16 by Fram
+ тьфу.. снять галочки
#17 by MaxS
Галочки и так сняты. Это работает, если обычный обмен универсальной обработкой. Здесь в обмен попадает только то, что зарегистрировано в узле, т.е. только измененными объектами. Правила обмена не занимаются регистрацией объектов обмена.
#18 by hhhh
ну там есть обработка "регистрация изменений". Можно всё что хочешь зарегистрировать. Если в ут11 нет, можно с Ут10 скачать или с бп20 и запустать в режиме обычных форм.
#19 by MaxS
Так и у меня есть - от последней конвертации, для УФ. Как это поможет зарегистрировать _элементы_ справочников (не виды), связанных с документами? Разве, что мега запрос написать... Выбрать Документ.Реквизит1 как СсылкаСправочникаДляРегистрацииВУзле Из документ как документ где документ дата >&ДатаНач Объединить все Выбрать Документ.Реквизит2 Из документ как документ где документ дата >&ДатаНач ... Объединить все Выбрать Документ.Реквизит1.Реквизит1 Из документ как документ где документ дата >&ДатаНач Объединить все Выбрать Документ.Реквизит2.Реквизит1 Из документ как документ где документ дата >&ДатаНач ... Проще написать обработку, которую запускать в приемнике. Анализ документов за период, рекурсивный поиск битых ссылок, подключение к базе источнику и поиск там соответствующего документа и регистрация справочника. Эту обработку сделать внешней и запускать фоновым заданием какое-то время, пока все не наладится.
#20 by ДенисЧ
Давно уже написал бы.... Такое рисуется за пару часов... А ты 2е суток с Муму любовью занимаешься....
#21 by MaxS
Не нужно мне тыкать и указывать что делать. Хорошо? Прежде чем изобретать велосипед, предпринимается попытка найти его. Когда и что делать я сам знаю.
#22 by KarpovDeniska
ну так посмотри, что делает эта галочка из и как отрабатывает в правилах обмена, либо посмотри универсальный обмен XML, там тоже есть галочки выгружать подчиненные. Но как тебе уже написали , это делается максимум за 2 часа.
#23 by ДенисЧ
Какие мы злые...
#24 by Fram
Ошибаешься. Механизм выгрузки через правила всегда руководствуется правилами. Регистрация объектов это предыдущий более верхний уровень. Т.е. если указанная мною галка не стоит, то механизм КД всегда выгрузит объекты по ссылкам, если для них есть правила.
#25 by MaxS
В типовой УТ 11 Модуль ОбменДаннымиСервер Функция ПолучитьОбработкуОбменаДаннымиДляВыгрузки ... Потом эта переменная используется в функции ВыгрузитьПоПравилу... Т.е. то, что зарегистрировано, то и выгружается. Если допустить выгрузку по ссылкам при обмене между базами, объемы обмена значительно возрастут. Этот вариант с выгрузкой по ссылкам если и применять, то в последнюю очередь. Самый щадящий вариант - один раз зарегистрировать нужные элементы справочников.
#26 by Fram
Ты можешь все документы зарегистрировать. Их, наверно, не так уж много видов, даже если много самих данных. Остальное паровозом приедет. И это выполнить только один раз ночью.
#27 by MaxS
Не подходит такой вариант, т.к. будет переноситься по ссылкам всё в обход правил регистрации, игнорируя отбор по организации... Сделал обработку, которая запускается в БП, в документах ищет битые ссылки, в УТ ищет аналогичный документ, регистрирует эти справочники в УТ и реквизиты справочника. Но делается это не за 2 часа. т.к. много времени нужно только на то, чтобы сопоставить разные типы и наименования реквизитов разных баз. Идеально было бы подгружать правила обмена УТ-БП, где все соответствия установлены, но это долго для разовой задачи. На инфостарте кое что находил, но это для идентичных распределенных баз.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С