Альтернативный способ создания риб

Создание узла распределенной информационной базы


Создание начального образа


Интерактивное создание начального образа


Создание начального образа из встроенного языка


Создание узла из конфигурации

После выполнения пункта 8 создание узла распределенной информационной базы считается законченным. Созданная информационная база может участвовать в обмене данными в рамках распределенной информационной базы.

Стоит отметить, что в созданной таким образом информационной базе узла распределенной информационной базы, полностью отсутствуют данные. Наполнение данными узла распределенной информационной базы должно выполняться самостоятельно. Для этого можно воспользоваться непосредственно механизмом распределенной информационной базы:

  • в информационной базе главного узла распределенной информационной базы выполнить регистрацию данных, которые необходимо передать в новый узел;
  • выполнить процедуру обмена данными между главным узлом и созданным узлом распределенной информационной базы.

Создание узла из копии информационной базы

После выполнения пункта 6 создание узла распределенной информационной базы считается законченным. Созданная информационная база может участвовать в обмене данными в рамках распределенной информационной базы.

Состав данных полученного узла распределенной информационной базы полностью соответствует составу данных информационной базы оригинала (никакой фильтрации данных согласно составу мигрирующих объектов и в процедуре ПриОтправкеДанныхПодчиненному() произведено не было). Состав данных, необходимый для правильной работы узла, должен быть скорректирован самостоятельно.

Источник

Альтернативный способ создания риб

Альтернативное создание начального образа в УРБД

Статья описывает альтернативный способ создания начального образа для подчиненной базы данных. Автор статьи: Neco | Редакторы: Живой Ископаемый
Последняя редакция №8 от 24.01.11 | История
URL: http://kb.mista.ru/article.php?id=325

Ключевые слова: Начальный, образ, подчиненная база данных, план обмена, альтернативный

При формировании распределенной системы обмена данных, для создания начального образа подчиненной
базы обычно используется кнопка на форме списка планов обмена «Создать начальный образ» или
программная процедура:

Это штатное решение 1С, однако, оно страдает некоторыми недостатками. Самый существенный из них это
такой, что если нужно выгружать много данных и база данных большая, то создание начального образа
растягивается на часы. Частенько, создании образа не завершается, по причине неожиданной
перезагрузки компьютера или ошибок выгрузки данных.
Чтобы обойти эти ограничения и ускорить создание начального образа предлагается следующая методика:

  1. Создать нужные узлы в плане обмена. На данном этапе мы должны в основной базе данных создать все
    нужные узлы, которые будут участвовать в обмене. Узлу присваивается уникальный код и
    наименование.
  2. Создать копию информационной базы. Если информационная база в файловом варианте, то копия
    создается простым копирование 1Cv8.1CD. Если вариант ИБ клиент-серверный, то сначала нужно выгрузить
    базу в режиме конфигуратора в dt-файл (1Cv8.dt), а потом загрузить ее в новую базу
  3. Подготовить вновь созданную базу к использованию, как подчиненную:
    • Удалим все не нужные узлы. Для это нужно использовать непосредственное удаление элементов из
      планов обмена.
    • Удалить изменения для узлов обмена. Программно данную процедуру для всех узлов обмена можно
      выполнить код:

Внимание! когда удаляем регистрацию изменений — следим чтобы в качестве параметра не передавался
ЭтотУзел. Вызовет ошибку.

Очистить номера сообщений для всех узлов в планах обмена. Данная процедура нужно в случае если
узлы для плана обмена не создавались «с нуля» и для них уже выгружались/загружались данные.

  • Поменять местами код и наименование между главным узлом и подчиненным. Т.е. в нашей (копии
    главной) базе сейчас текущим узлом является главный узел, это потому что база создавалась
    копированием. Нужно код и наименование подчиненного узла перенести в текущий узел, а код и
    наименование главного узла в другой, не текущий. Например в планах обмена два узла: «Главный» и
    «Подчиненный». «Главный» имеет признак текущего для данной ИБ узла. Переносим код из узла «Главный»
    в узел «Подчиненный» и наоборот из «Подчиненный» в «Главный».
  • Если конфигарация базы-оригинала была подключена к хранилищу, то необходимо зайти в конфигуратор
    и отключиться от него. Обычно для этого достаточно просто открыть конфигурацию и в диалоге ввода
    пути и пароля для хранилища ничего не вводить, просто его закрыв. После выполнения этой процедуры
    обязательно закрыть конфигуратор. Следующий шаг необходимо выполнять при закрытом конфигураторе.
  • Установить главный узел. На данном этапе устанавливаем главным узел в который мы перенесли код и
    наименование из бывшего главного узла:

    Внимание! при этой операции конфигуратор должен быть закрытым, потому что на конфигурацию
    накладывается «замок» — возможность изменения только в центре

    При этом возле главного узла появиться красная пиктограмма.

  • Осуществить тестовый обмен данными между подчиненным и главным узлом. Установить, настроить
    дополнительные реквизиты в главной и подчиненной базе. На этом этапе базы уже готовы для
    использования


  • Минус данной методики такой, что в подчиненную базу попадают сразу все данные, которые есть в
    главной. Т.е. если у нас в настройках обмена есть фильтры на выгрузку данных, то данные в
    подчиненной базе придется создавать «вычищать» вручную. Возможен вариант решения проблемы, когда
    регистрируем все изменения для данных в подчиненной базе и выгружаем в главную. В главной полученные
    данные обрабатываем так, что если эти данные не проходят по фильтру, то в подчиненную посылаем
    «УдалениеОбъекта». При загрузке сообщения в подчиненной базе, все «ненужные» элементы будут удалены.

    Источник

    «РИБ в 1С простыми словами» и «Как подчиненную базу 1С сделать самостоятельной»

    Оговорка: Предполагается, что читатель знает что такое синхронизация баз в 1С.

    ПЕРЕД ЛЮБЫМИ ОПАСНЫМИ ДЕЙСТВИЯМИ/ОПЕРАЦИЯМИ С БАЗАМИ 1С ВСЕГДА ДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ

    И вообще всегда делайте резервную копию.

    Резервных копий много не бывает.

    В любой непонятной ситуации делайте резервную копию.

    Механизм РИБ — механизм распределенных информационных баз — это когда у вас есть главная база и подчиненная(ые). Главная база может быть только одна, подчиненных может быть много. Каждая подчиненная база может иметь свои подчиненные базы, для которых она будет главной.

    Вот посмотрим на картинку из первой ссылки по запросу в Яндексе:

    РИБ используется для обмена данными. Причем не только теми данными, с которыми работает пользователь, но и данными изменения конфигурации. То есть РИБ позволяет передавать изменения конфигурации. Но изменить конфигурацию можно только в главной базе!

    Визуализируем:

    У нас большая компания и много филиалов. Есть доработанная УНФ, которую мы гордо называем УБФ(Управление Большой Фирмой). Но мы решили, что хватит терпеть то, что все филиалы имеют доступ к документам всех филиалов и каждому филиалу решили сделать отдельную базу, которую синхронизировать с нашей основной базой для передачи данных. Что ж, можно. Сделали.

    И внезапно мы решили изменить картинку, которая появляется при входе в базу, захотели поместить туда логотип нашей фирмы, а почему бы и нет?

    Как запилить картинку во все базы всех филиалов? Ну при текущем варианте, что у всех филиалов отдельная база, только руками. Руками специалистов, которые умеют заходить в конфигуратор и знают что нужно там нажать.

    А вот если бы мы сделали подчиненные базы для филиалов, то есть использовали РИБ, то и данными бы обменивались, как при обычной синхронизации, и картинка бы сама добавилась во все «базы-дочки». Однако, в конфигуратор зайти бы все-таки пришлось, но только чтобы нажать кнопочку «Обновить конфигурацию базы данных», вот картинка:

    Как создать подчиненную базу, на пальцах:

    я буду использовать Управление торговлей, редакция 11 (11.4.13.275), но способ, в целом, одинаковый во всех типовых конфигурациях.

    1) Сначала проделаем шаги, как при настройке обычной синхронизации:

    2) . поставим галочку, нажмем.

    4) тут ознакомимся с описанием. Я выберу обычную настройку, но если бы мы следовали примеру выше, то нужно было бы выбрать «с фильтром» и там одним кликом выбрать нужный филиал.

    5) Укажем каталог, где будут храниться файлы обмена — это файлы, которые создают конфигурации при синхронизации через файл. Сначала первая база создает файл обмена, куда записывает информацию о том, что она выгрузила (выгрузка зарегистрированных изменений), вторая база подгружает этот файл себе, на основании информации в нем создает у себя новые данные (или изменяет существующие) и создает свой файл, который предназначен для первой базы, где, в общем случае, записана информация о том, что база приняла изменения и выложила то, что изменилось у нее.

    6) Указываем префикс — он будет подставляться к номерам документов, чтобы можно было отличить документы дочки и основной базы.

    7) в общем случае, тут ничего не надо нажимать, кроме «Записать и закрыть».

    8) А вот теперь создаем нашу новую подчиненную базу:

    9) указываем место, куда ее покладем.

    10) Зайдем в нашу новую подчиненную базу и закончим настройки синхронизации(синхронизация уже создалась, так как использовали РИБ, но нужно указать каталог для обмена выбрав «Настройки подключения»)

    (обратите внимание на верхний левый угол окна программы, там название базы, он отличается от предыдущих, так как это «дочка»)

    Кстати, в новой базе все пользователи будут выключены, пароли сброшены, нужно включить руками:

    В общем-то ВСЕ.

    Подчиненная база создана!

    Теперь, когда наши программисты что-нибудь улучшат, эти улучшения прилетят в подчиненные базы сами.

    Вот что-то изменили в основной базе:

    нам нужно перенести изменения в базы-дочки.

    Для этого запускаем главную базу в режиме 1С:Предприятие, то есть в пользовательском интерфейсе, заходим в настройки синхронизации, жмем выделенную кнопку:

    После того, как синхронизация закончится, заходим в базу дочку и так же жмем «Синхронизировать», база загрузит данные и напишет:

    После нажатия на Далее база закроется и начнет устанавливать обновления.

    Когда обновы установятся, база начнет запускаться и сообщит нам следующее:

    Это означает, что не обновлена конфигурация базы данных. Та самая маленькая кнопка в конфигураторе и это именно та причина, почему придется ОДИН раз зайти в конфигуратор. Что ж, зайдем в конфигуратор базы-дочки и нажмем эту кнопку, заодно вообще посмотрим что-да-как там, мы ж там еще не были.

    Откроем конфигурацию и вот что увидим

    Нажмем на «Обновить конфигурацию базы данных».

    Увидим список изменений, которые прилетели с обновлениями:

    И вот эти обновления появились в подчиненной базе.

    Теперь необходимо запустить базу в пользовательском режиме, чтобы выполнились обработчики обновления.

    Несколько правил:

    1) Все узлы, кроме одного, должны иметь по одному главному узлу и один узел не будет иметь главного узла — это корневой узел.

    2) Конфигурация может быть изменена только в узле, не имеющем главного узла (то есть в корневом).

    3) Изменения конфигурации будут передаваться от главного к подчиненным узлам.

    4) Разрешение коллизий так же будет производиться исходя из отношений «главный — подчиненный» — если изменения сделаны одновременно и в главном и в подчиненном узлах, то приняты будут изменения главного узла.

    5) Сделать подчиненный узел в распределенной базе можно разными способами, но создание начального образа является рекомендуемым.

    А теперь то, ради чего все писалось.

    Как подчиненную базу сделать обычной(нормальной, отдельной, как хотите).

    Я опишу только тот способ, которым пользуюсь. Это моя шпаргалка. Но он не единственный.

    1) Заходим в свойства ярлыка запуска окна 1С:Предприятие:

    2) В поле «Объект» дописываем:

    DESIGNER /F»Путь до базы» /N»Имя Пользователя в базе» /P»Пароль пользователя» /ResetMasterNode

    В итоге у меня получится:

    «C:\Program Files\1cv8\common\1cestart.exe» DESIGNER /F»C:\Users\79119\Desktop\РИБ» /N»» /P»» /ResetMasterNode

    логин и пароль пустые, ведь пользователи у меня все выключены.

    3) Сохраняем изменения в ярлыке и запускаем его.

    4) Не забываем удалить добавленный текст из ярлыка.

    5) Готово 🙂 при запуске база сообщит:

    Кликаем «Отключить» — база теперь самостоятельная!

    Вот и все! Успехов хорошим людям желаю! Спасибо!

    Источник

    Читайте также:  Способы применения сибирский бальзам корень
    Оцените статью
    Разные способы