Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужен алгоритм обмена между базами
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
DrLivsi
Всем привет!

Прошу помощи в составлении схемы/алгоритма обмена между двумя базами.
Задача такая: раз в месяц, нужно перенести определенные документы, за выбранный период, из центральной базы в подчиненную.
Переносить нужно только новые документы (если в центральной базе они изменились, то нас это не интересует).
Конфигурации самописанные, но отличаются версии между ними.

Если делать перенос вручную, то сложно определять все связанные ссылки на новые объекты с этим документом, которые нужно перенести (Например создали нового контрагента и новую РТУ, то при переносе нужно понять что есть новый элемент справочника и перенести сначала его и.тд.).

Если делать через ПланОбмена, то в регистрацию для обмена не попадут документы с прошлых периодов. А в настройках переноса должна быть возможность выбрать произвольный период. Но зато попадут все новые созданные элементы справочников.

Как можно "скрестить" эти два способа что-бы получить оптимальный вариант?

andr_andrey
Цитата(DrLivsi @ 04.02.19, 11:19) необходимо зарегистрироваться для просмотра ссылки
Например создали нового контрагента и новую РТУ, то при переносе нужно понять что есть новый элемент справочника и перенести сначала его и.тд.


Просто ВСЕГДА выгружайте все используемые элементы справочников из нужных документов, а на этапе загрузки определяйте необходимость их загрузки.
DrLivsi
andr_andrey @ Сегодня, 11:28 необходимо зарегистрироваться для просмотра ссылки ,

Только в одном документе насчитал около 20 ссылок на справочники, и что для каждого делать проверку?
VXIIIZ
Цитата(DrLivsi @ 04.02.19, 11:19) необходимо зарегистрироваться для просмотра ссылки
Если делать через ПланОбмена, то в регистрацию для обмена не попадут документы с прошлых периодов


Почему?
Fynjy
На уровне приемника сделать заглушку при записи нового объекта в рамках обмена (в двух местах по моему там была запись).
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
   Объект.Записать();
КонецЕсли;
VXIIIZ
Цитата(Fynjy @ 04.02.19, 22:34) необходимо зарегистрироваться для просмотра ссылки
На уровне приемника сделать заглушку при записи нового объекта в рамках обмена (в двух местах по моему там была запись).

Зачем изобретать велосипеды.

Использовать конвератцию данных.

1. В правилах конвертации данных можно указать "Не замещать существующие объекты в приемнике при загрузке"
2. "При загрузке" можно проверить признак "ОбъектНайден" и дальше решить что с ним делать.

В изначальнов вопросе смешиваются две темы, собственно регистрация объектов для переноса, и непосредственно сам перенос с записью объектов в приемнике.

Обмен с помощью конвертации данных + использование плана обмена с регистрацией объектов прекрасно решают все эти вопросы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.