Обмен. Подчиненный регистр сведений в не подчиненный. Как?
Есть БП 2.0, в ней есть регистр ЛицевыеСчетаРаботниковОрганизации. Регистр подчинен регистратору.
Есть другая база, в ней создали точно такой же регистр, но не подчиненный регистратору.
В БП включил этот регистр в план обмена.
Перепроводим документ, видим в "регистрации объектов для обмена" появился набор записей этого регистра для выгрузки.
Добавил в свои правила этот регистр - обмен просто напрямую. Получаем при обмене, что во второй базе появляется этот набор записей по тому документу. Но! При проведении другого документа в БП, после обмена, во второй базе первые записи исчезают, остаются только те, которые "приехали" последним обменом. Причина, как я понимаю, в том, что регистр в БП является подчиненным регистратору.
Вопрос - как обойти? Как сделать, чтобы во второй базе в регистр приехали все записи из БП и не исчезали?
Делать во второй базе регистр подчиненным регистратору и делать точно такой же док очень не хотелось бы.
Есть другая база, в ней создали точно такой же регистр, но не подчиненный регистратору.
В БП включил этот регистр в план обмена.
Перепроводим документ, видим в "регистрации объектов для обмена" появился набор записей этого регистра для выгрузки.
Добавил в свои правила этот регистр - обмен просто напрямую. Получаем при обмене, что во второй базе появляется этот набор записей по тому документу. Но! При проведении другого документа в БП, после обмена, во второй базе первые записи исчезают, остаются только те, которые "приехали" последним обменом. Причина, как я понимаю, в том, что регистр в БП является подчиненным регистратору.
Вопрос - как обойти? Как сделать, чтобы во второй базе в регистр приехали все записи из БП и не исчезали?
Делать во второй базе регистр подчиненным регистратору и делать точно такой же док очень не хотелось бы.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В первой базе этот регистр пишется при проведении документа.
Во второй базе регистр не зависимый, регистратора не имеет, документы никакие в него не пишут.
Мы посредством обмена пытаемся перенести данные из этого регистра в первой базе в такой же регистр во второй базе.
Во второй базе регистр не зависимый, регистратора не имеет, документы никакие в него не пишут.
Мы посредством обмена пытаемся перенести данные из этого регистра в первой базе в такой же регистр во второй базе.
(5) Perk0n, нет, смотрите:
В ПКО регистра ставим у всех реквизитов получение из входящих данных.
В ПВД этого регистра пишем что-нибудь подобное (Перед выгрузкой):
Для Каждого Запись Из Объект Цикл
НД = Новый Структура;
НД.Вставить("Банк", Запись.Банк);
НД.Вставить("Организация", Запись.Организация);
НД.Вставить("ФизЛицо", Запись.ФизЛицо);
НД.Вставить("НомерЛицевогоСчета",Запись.НомерЛицевогоСчета);
НД.Вставить("Активность", Запись.Активность);
ВыгрузитьПоПравилу(,,НД,, "ЛицевыеСчетаРаботниковОрганизации");
КонецЦикла;
Отказ = Истина;
В ПКО регистра ставим у всех реквизитов получение из входящих данных.
В ПВД этого регистра пишем что-нибудь подобное (Перед выгрузкой):
Для Каждого Запись Из Объект Цикл
НД = Новый Структура;
НД.Вставить("Банк", Запись.Банк);
НД.Вставить("Организация", Запись.Организация);
НД.Вставить("ФизЛицо", Запись.ФизЛицо);
НД.Вставить("НомерЛицевогоСчета",Запись.НомерЛицевогоСчета);
НД.Вставить("Активность", Запись.Активность);
ВыгрузитьПоПравилу(,,НД,, "ЛицевыеСчетаРаботниковОрганизации");
КонецЦикла;
Отказ = Истина;
(6) windsurf, спасибо.
У меня правда уже получилось чуть проще.
При значении "Стандартная выборка" /
В "Перед выгрузкой" написал:
В приемнике и источнике реквизиты равны. В ПКО регистра > в ПКС: источник и приемник типизированы ("получение из входящих данных" - не ставил).
У меня правда уже получилось чуть проще.
При значении "Стандартная выборка" /
В "Перед выгрузкой" написал:
Объект.Прочитать();
Для Каждого СтрокаНЗ ИЗ Объект Цикл
ВыгрузитьПоПравилу(СтрокаНЗ,,,, "плСемейныеДК");
КонецЦикла;
Отказ = истина;
В приемнике и источнике реквизиты равны. В ПКО регистра > в ПКС: источник и приемник типизированы ("получение из входящих данных" - не ставил).
Добрый день, столкнулся с такой же проблемой, выгружаю из УПП в документооборот 2.0, предложенные способы не сработали, при загрузке в Докоборот ошибка:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10031)}: Поле объекта не обнаружено (ДополнительныеСвойства)
Объект.ДополнительныеСвойства.Вставить("ОбменДанными", Новый Структура("АнализДанных", Не РежимЗагрузкиДанныхВИнформационнуюБазу()));
Перенос существующих записей это класс. А как перенести информацию об удаленных записях? Ведь если документ в базе-источнике перепровести с изменением какого-либо реквизита (который участвует в обмене), то старая запись должна быть удалена, а новая появится. В предложенном варианте в приемнике будут одновременно находится 2 записи. А происходит это потому что при удалении записи на обмен регистрируется набор записей с установленным отбором. В случае подчиненного регистра отбор только по регистратору. А это значит, что на момент обмена нет информации какие записи в приемнике надо удалить.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот