Загрузка измененных данных из идентичной конфигурации


Загрузка данных из идентичной конфигурации.
Для простой развертки тестовой базы небольшого объема. Для подготовки обрезки баз больших объемов. Для быстрой закачки в консолидированную базу. Для репликации базы для аварийных случаев и форс-мажоров.

Возникла необходимость по работе сделать простой инструмент переноса данных.

Обработка простейшая и быстрая, по COM-объекту цепляется к базе с идентичной конфигурацией.

Написана на основе 3-х типовых методов:

  1. ПланыОбмена.ВыбратьИзменения(); — Выбираю некоторый массив объектов, а не все измененные данные.
  2. ПолучитьСсылку(Новый УникальныйИдентификатор()); — Наиболее быстрый поиск объектов с помощью 1С.
  3. СЗ = Новый СравнениеЗначений; СЗ.Сравнить(); — Сравнение любых объектов. Предотвращаю повторные перезаписи объектов, если они в базе-источнике перезаписаны, но по сути не изменились.

Плюс в том, что обе конфигурации можно обновлять в разное время, лишь бы структура была идентичной. Не нужно создавать и/или переделывать правила обмена, если настроили обмен по COM-технологии по обработке с ИТС-а.

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

Обработку можно применять если необходимо настроить репликацию в одну сторону, если базы находятся в одной локальной сети. Я не гарантирую сохраность переноса на 100%. Здесь нет универасльности, чем проще, тем лучше. Ведь в каждой команде есть своя специфика, своя политика, свои требования и т.д.

Если так Важна устойчивость системы, то создаем новый узел обмена на основе полного обмена, создаем копию базы, создаем регламентную задачу и, посредством 1С запросто включаем реплику в архивную базу, хоть раз в день, хоть раз в 15 минут, хоть раз в минуту. В жизни не всегда бывает синхронное обновление всех конфигураций, а не дай бог, что реплика настроена посредством SQL — тогда держись брат-сисадмин !?!

11 Comments

  1. oberonm

    У меня давно похожая обработка

    http://infostart.ru/public/21165/

    Только выгружает она изменённые объекты, которые можно потом загрузить типовой «Выгрузка/Загрузка XML»

    Reply
  2. paulpit

    Почему похожая?

    У меня изначально стояла задача уйти от xml-файлов.

    Reply
  3. chmv

    Стандартная обработка удобнее

    Reply
  4. paulpit

    (3) chmv, Спасибо за комментарий. Да, я пользовался стандартной. НО для нее надо же правило обмена создавать, не так ли?

    Reply
  5. Жискар

    Обработка эта мне нужна до зарезу. Пропали документы в зарплате. Нашёл архив, в котором они есть.

    Обработку запустить не получается.

    {Форма.Форма.Форма(1391)}: Ошибка при вызове метода контекста (ВыбратьИзменения)

    ВыборкаИзменений = База8.ПланыОбмена.ВыбратьИзменения(УзелИсточника, Счетчик, ОБъектМетаданных);

    по причине:

    Произошла исключительная ситуация (1C:Enterprise 8.2.18.61): Недопустимое значение параметра (параметр номер ‘1’)

    Reply
  6. chmv

    Между идентичными конфигурациями не надо

    Reply
  7. paulpit

    (5) Жискар,

    Необходимо код из базы-источничка прописать в настройках. Например, центральный предопределенный узел по умолчанию идет с кодом «1», а узел, который нам нужен по-умолчанию идет с кодом «2».

    Reply
  8. Жискар

    Зарплата бюджетного учреждения.

    План обмена полный.

    В основной базе назвал Загрузка, Код =1.

    В базе источнике назвал Загрузка, Код =2.

    В обработке Код узла в базе источнике = 2

    Запустил. Получил ту же ошибку.

    Обработка проста до гениальности, всего 4 параметра и я ухитрился в них ошибиться.

    Может чего то ещё не хватает?

    Reply
  9. paulpit

    можете мне в личку скинуть кусок кода

    paulpit собака yandex tochka ru

    я сегодня попробовал — перекачивается.

    Reply
  10. Shade

    А репликацию обязательно настраивать, то есть РИБ? Просто обработка могда бюы нам пригодиться, но если настроить РИБ обратной дороги же нет, она так и останется распределенной?

    Reply
  11. lexkex

    (10) Shade, Чтобы сделать распределенную базу данных головной достаточно

    ПланыОбмена.УстановитьГлавныйУзел(Неопределено)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *