Устранение задвоения организаций БП 8.1

1. thorben 17 30.06.09 11:56 Сейчас в теме
У меня после выгрузки в БП 8.1 из УТ задвоились организации. Соответственно, появились документы, ссылающиеся на нее. Подскажите как мне лучше все подчистить. Я собирался при помощи обработки искать ссылки на организацию и их менять вручную. Есть ли более правильный вариант, как это сделать? Другой вариант, взять резервную копию без задвоений и выгрузить в нее все-что нужно из БП с задвоениями. Но в последнем варианте я так понмаю мне необходимо будет воспользоваться Конвертацией данных. А я ею еще ни разу не пользовался.
За все подсказки буду очень благодарен.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. macsol 32 30.06.09 14:02 Сейчас в теме
На изучение КД уйдет время, а в вашем случае время работает против вас (база увеличивается и выгружать в резервную придется не только текущие изменения но и те что пройдут за время изучения). Думаю если ссылок немного можно ручками заменить, если много - обработкой), но в любом случае, раз такое происходит, нужно знакомиться с КД и писать нормальные правила выгрузки.
3. elerian 8 30.06.09 16:57 Сейчас в теме
Можно потратить денек и все наладить. Если конечно не много организаций.
У меня была схожая проблема, только двоились организации, контрагенты и в некоторой части номенклатура. Обмен шел через подключение к инф базе
Решал примерно так:
1) Правим регистр "Соответствие объектов для обмена"
открываем две базы и смотрим записи регистра по интересующему справочнику. В регистре указана ссылка на объект в другой базе, это внутреннее строковое представление объекта(есть такая функция ЗначениеВСтрокуВнутр() и иже с ней), можно быстренько наваять обработку которая будет показывать это представление из любого объекта, а можно поискать на инфостарте было что то такое. Так нужно в каждой базе настроить соответствие (для начала неплохо было бы записать на бумажке чтоб не сбиться). Думаю есть смысл не использовать те элементы (в частности организации) которые появились после выгрузки, т.е. нужно соответствующим образом изменить записи в регистре.
2) заново регистрируем объекты для выгрузки
открываем УТ, идем Операции - Обработки - Регистрация изменений для обмена
Выбираем узел обмена. Отобразится дерево объектов участвующих в обмене, тут для каждого объекта связанного с интересующим справочником (в частности организации) нужно сделать так: выделить объект, вызвать контекстное меню (правая кнопка мыши) выбрать добавить регистрацию, далее можно выбрать что добавлять, либо выбрать ручками, либо запросом, либо все вообще.
3) провести обмен. по идее все реквизиты для объектов будут переназначены.
5. I_G_O_R 69 30.06.09 17:58 Сейчас в теме
к (3) хотел добавить, что правильность замены можно проверить, если в "Мониторе обмена", на вкладке "Объекты обмена" выделить нужный объект и нажать на кнопку "Показать объект приемника".
А вообще эти обмены такая гадость, медленные и иногда глючат, так что думаю надо смотреть в сторону "Комплексной автоматизации".
4. thorben 17 30.06.09 17:00 Сейчас в теме
Спасибо за подсказку. Но мы пользуемся стандартной обработкой обмена XML.
6. thorben 17 30.06.09 21:05 Сейчас в теме
Оказалось, что наш бухгалтер пометил счет организации на удаление. Поэтому при загрузке он создал новую.
А я пень, не сразу заметил это, т.к. программа не ругалась а бухгалтер продолжал работать как ни вчем не бывало, лишь пометил добавленную организацию на удаление.
Как лучше убрать ссылки на эту левую организацию из договоров контрагентов? Ни вручную, ни с помощью обработок не получается. Программа сообщает, что мол уже существуют другие документы, ссылающиеся на данный договор. А мне нужно то всего правильную организацию подставить. Неужто мне необходимо будет менять сначала временно все сылки на какой нибудь другой договор? Затем менять старый и снова подставлять его в документах и перепроводиь? Более умного мне ничего в голову не пришло.
Подскажите, пожалуйста!
7. I_G_O_R 69 30.06.09 21:20 Сейчас в теме
нужно что-то типа этого:
СпрОбъект = СпрСсылка.ПолучитьОбъект();
СпрОбъект.ОбменДанными.Загрузка = Истина; //вот самая главная строчка
СпрОбъект.Реквизит1 = КакоетоЗначение;
СпрОбъект.Записать();
8. I_G_O_R 69 30.06.09 21:22 Сейчас в теме
а поиск и замена значений не работает? так спросил сам не знаю, но пользуюсь. или есть еще ПоискДублей
9. thorben 17 30.06.09 21:33 Сейчас в теме
Спасибо за подсказку!
А что конкретно делает строчка СпрОбъект.ОбменДанными.Загрузка = Истина;?
В моей обработке ее точно нет. Замена значений тоже не срабатывает почему-то.
Завтра попробую еще раз.
10. I_G_O_R 69 30.06.09 21:40 Сейчас в теме
Я решил:
берем обработку с диска ИТС: ПоискИЗаменаЗначений.epf
в форме ищем строчку : Функция вВыполнитьЗаменуЭлементов(Заменяемые, ТаблицаСсылок, ВыполнятьВТранзакции = Истина, ОтключатьКонтрольЗаписи = Ложь)

Вместо ОтключатьКонтрольЗаписи = Ложь ставим ОтключатьКонтрольЗаписи = Истина
радумся жизни...
в это обработке тоже используется ОбменДанными.Загрузка = Истина,
в кратце открой любой справочник или документ и посмотри обработчик ПередЗаписью, что-то уже станет ясно
удачи!
11. I_G_O_R 69 30.06.09 21:41 Сейчас в теме
Обработчик ПередЗаписью в модуле объекта
12. I_G_O_R 69 30.06.09 21:43 Сейчас в теме
И самое главное: сделать архивную копию !!!
13. I_G_O_R 69 30.06.09 22:05 Сейчас в теме
еще одна мысль пришла: если были подразделения и банковские счета они все перейдут к одной организации, т.к. организация является для них владельцем. Что может быть в этом случае: у организации станет два одинаковых банковских счета, тоже самое с подразделениями, значит чтоб удалить дубли надо сделать тоже самое что и с организацией.
14. thorben 17 01.07.09 09:42 Сейчас в теме
Огромное спасибоооооооооооооооооо! Заработало!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот