Вероятнее всего Вы не указали в выгрузке элементы справочника "Цены номенклатуры", а указали только элементы справочника "Номенклатура". Поэтому они и не переносились, в элементах справочника "Номенклатура" нет ссылок на элементы справочника "Цены номенклатуры".
Вероятно, Вы имеете ввиду, что у элементов справочника "Номенклатура" очистились реквизиты "Основная ед.измерения" и "Базовая ед.измерения". Обработка с ИТС не поддерживает циклических ссылок, поэтому и исчезли ссылки на данные реквизиты.
Не перегрузился справочник по указанным выше причинам. Выполнить перенос элементов справочника "Цены номенклатуры" можно: Нужно выбрать все необходимые элементы справочника "Цены номенклатуры" (непосредственно добавив их в список переносимых объектов) и перенести. Но, при этом необходимо учесть:
1. потребуется доделать демонстрационную обработку для более удобного подбора элементов справочников, которые являются подчиненными другому справочнику (как, например, справочник "Цены номенклатуры" подчинен справочнику "Номенклатуре");
2. в качестве "ключа" синхронизации рекомендуем указать реквизит "Тип цен", а не реквизит "Валюта", который подставляется по умолчанию.
Вчера случайно обнаружил эту разработку, сейчас испытываю. Пока нравится, но нашел ошибочку (вер. 1.26) - если в базе-приемнике документ отсутствует, то при его создании не устанавливается время оригинала. Если сделать повторную выгрузку с галкой "Замещать при загрузке... документы", то время будет установлено правильно. У себя поправил, автору +.
Замечание от Утюг: ...нашел ошибочку (вер. 1.26) - если в базе-приемнике документ отсутствует, то при его создании не устанавливается время оригинала. Исправлено.
1. Наверное будет удобнее, чтобы обработка стала более универсальна, работая с разными платформами. Как это реализовано у меня. СписокПлатформ1С - список на форме ------------ при открытии формы СписокПлатформ1С.УдалитьВсе(); СписокПлатформ1С.ДобавитьЗначение("V1CEnterprise.Application", "версия независимый ключ (V1CEnterprise)"); СписокПлатформ1С.ДобавитьЗначение("V77.Application", "версия зависимый ключ (V77)"); СписокПлатформ1С.ДобавитьЗначение("V77S.Application", "версия зависимый ключ, SQL версия (V77S)"); СписокПлатформ1С.ДобавитьЗначение("V77L.Application", "версия зависимый ключ, локальная версия (V77L)"); СписокПлатформ1С.ДобавитьЗначение("V77M.Application", "версия зависимый ключ, сетевая версия (V77M)"); СписокПлатформ1С.ТекущаяСтрока(1); ------------ при открытии базы ole Попытка БазаОле = СоздатьОбъект(СписокПлатформ1С.ПолучитьЗначение(СписокПлатформ1С.ТекущаяСтрока())); Исключение Предупреждение("Вероятно выбрана не та версия платформы!",5); Возврат; КонецПопытки; 2. Наверное проверка "а не лезем ли мы сами к себе" не помешает Если КаталогИБ() = КаталогБазыOле + "\" Тогда Предупреждение("Вы пытаетесь подключить ту базу где в данным момент работаете!", 5); Возврат; КонецЕсли; 3. Ну и напоследок. Корректней не ставить управляющие символы в командной строке, если нет пользователя или пароля КаталогБазыOле = СокрЛП(КаталогOLE); ПользовательOле = СокрЛП(ПользовательOLE); ПарольOле = СокрЛП(ПарольOLE); КоманднаяСтрока = "/d""" + КаталогБазыOле + """" + ?(ПустаяСтрока(ПользовательOле) = 1,""," /N" + ПользовательOле) + ?(ПустаяСтрока(ПарольOле) = 1,""," /P" + ПарольOле) + ?(Монопольно = 1," /m",""); Все. Успехов
Обработка просто офигеть. Автору ОГРОМНЫЙ респект. Код - наикрасивейший. Легко разобрался. В общем, круть. ТОлько не разобрался, а как перенести подчиненные справочники???? Не вышло.. И что-то с реквизитами неопределенного типа. ТОде не получилось. Это ошибки или я не чего-то не понял??? Автору еще раз респект.