Как отвязать информационную базу от РИБа
Знаю, что вопросов и проблем, связанных с отключением периферийной базы от центральной масса, в Интернете море инструкций и статей на данную тематику, но когда мне понадобилось проделать вроде бы нехитрую операцию, все что мне попадалось, так это материалы о том, как исправлять ошибки после отвязки ИБ, или инструкции по формированию самостоятельной базы через операции в командной строке.
Для нуба вроде меня все эти полезные советы, к сожалению, оказались бесполезными, ибо элементарные шаги в таких инструкциях попросту пропускали. Поэтому я решила поделиться своим опытом в отключении периферийной базы, может, кому-нибудь из пользователей 1С такой способ понадобится.
ВНИМАНИЕ: Отключение производилось на файловом варианте базы, и инструкция поэтому соответствующая.
1. Идем к тому компьютеру, где лежит подчиненная база, и заходим в папку common (он лежит в папке с платформой C:Program Files (x86)1cv8)
2. В папке common лежит файл 1cestart
3. Тыкаем в него правой кнопкой мыши — Отправить — Рабочий стол: на нашем Рабочем столе появится одноименный ярлык.
4. Тыкаем в ярлык правой кнопкой мыши — Свойства — В Свойствах есть поле Объект, с наименованием местоположения файла 1cestart: "C:Program Files (x86)1cv8common1cestart.exe" и мы дописываем к строчке следующее: DESIGNER /F"Путь до локальной базы" /N"Имя Пользователя в базе" /P"Пароль пользователя" /ResetMasterNode
Если у вас нет ни имени пользователя, ни пароля, оставляем кавычки пустыми, далее жмем ОК и щелкаем 2 раза по ярлыку, запуская процесс. На экране ничего не появится, через Диспетчер задач можно посмотреть, закончился процесс или нет.
5. После того, как процесс закончился, открываем свою ИБ: там должно выскочить окошко-предупреждение о том, что база теперь ни к чему не привязана.
Обработка Установка главного узла РИБ
Наверное, многие сталкивались с ошибкой «Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Конфигурация узла распределенной ИБ не соответствует ожидаемой!» при выполнении обмена с периферийным узлом РИБ.
Для устранения этой ошибки нужно отвязать периферийную базу от РИБ, загрузить новую конфигурацию из главного узла и снова привязать базу РИБ.
Набросал небольшую обработку для установки главного узла.
Для того чтобы отвязать базу, нужно очистить поле «Главный узел» и нажать кнопку [Выполнить]. Для привзки базы к РИБ нужно выбрать нужный узел в поле «Главный узел» и нажать кнопку [Выполнить].
ПС. Обработка может использоваться только для РИБ, использующих план обмена Полный.
Как отключить узел от распределенной информационной базы?
1. Создаешь внешнюю обработку или отчет в ней форме пишешь
Код 1C v 8.х
2. Сохраняешь обработку.
3. Закрываешь конфигуратор
4. Запускаешь пользовательский режим.
5. Запускаешь обработку.
Еще Вариант кода:
Код 1C v 8.х
Готовая обработка Отключить Восстановить Подчиненный Узел От Главный Узел Скачивать файлы может только зарегистрированный пользователь!
Похожие FAQ
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
Ну и ничего не произошло. База как была подчиненной, так и осталась.
Доброе время суток. Хочу поделиться с вами своим горьким опытом по обмену между узлами.
Дело было так:
Была база(Как потом выяснилось — главная), в базе была ошибка, вылетала при переходе на новый релиз (где-то в зарплате, какая — то дата не определялась), правдами и не правдами — я её додумался как обойти(в конфигураторе — все же программист 1с), потом таки обновил. Через некоторое время — мне звонят и говорят "Наша подчиненная база не запускается вообще. Разберись с этим".
Захожу к ним по удаленке, смотрю — точно не запускается, та же ошибка что и в главной базе.
Итого:
1.есть главный узел — с новым релизом и новыми документами;
2.есть подчиненный узел — тоже с новыми документами и старым релизом.
Подчиненная запускается и сразу просит обновиться(Окно обновлений открывается модально — никуда не залезешь, Ctr + O — тоже не работает.)
Цель: отвентить подчиненную базу, поправить код в подчиненной базе, перейти не новый релиз, поправит код обратно, привинтить обратно к главной базе.
Решение: Как оказалось все на много проще чем я думал. Есть такая полезная штука ка "Запуск 1с из командной строки". К стати если кто знает где есть более полная инфа по запуску 1с из командной строки — поделитесь пож., а то в инете только некоторые параметры.
Итак лечение подчиненной базы —
Запустить конфигуратор с параметром командной строки /ResetMasterNode (для базовых версий не используется).
Linux, Internet технологии, программирование и администрирование 1C
Для чего это нужно? Допустим необходимо создать тестовую БД для разработки с актуальными данными или необходимо быстро восстановить работоспособность РИБ при «падении» одного из узлов, или для «быстрого» создания нового узла РИБ .
Имеем: 1С:Предприятие 8.3 (8.3.6.2390), РИБ по следующей схеме:
Данные во всех узлах синхронизируются полностью. Это идеальный случай — для исходных данных (данных восстановления) можно использовать любой узел РИБ. В случае, когда обмен происходит по собственным правилам или, например, установлен фильтр по организациям, то для исходных данных (данных восстановления) необходимо выбирать узел с наиболее полными данными.
. ВАЖНО. Перед созданием БД необходимо выполнить полную синхронизацию всех узлов РИБ с узлом, из которого планируется создавать новую БД, и на время создания в этом узле отключить синхронизацию данных!
Все действия выполняются в монопольном режиме (т.е. у целевой БД должны отсутствовать активные соединения)
Приступим. В качестве «исходного узла» выберем «Центральный узел обмена» (см. схему РИБ). В нем аккумулируются данные всех узлов.
ВАЖНО. В качестве «исходного узла» рекомендуется выбирать узел, которой в последствии станет главным узлом для вновь созданного/восстановленного узла.
Это не обязательное условие. Для восстановления РИБ подойдет любой узел с максимально актуальными данными, но это более сложный процесс. Возможно он будет рассмотрен в будущем.
0. Создать новый узел РИБ.
Данное действие необходимо если создается новый узел, в противном случае необходимо перейти к п. 1.
1. Выгружаем базу данных из «исходного узла» в файл (*.dt).
2. Загружаем полученную в п. 1 выгрузку в «чистую» БД.
3. Запускаем полученную в п. 2 БД в режиме предприятия и отключаем все настроенные синхронизации данных.
4. Отключаем автоматическое обновление предопределенных данных.
Это необходимо потому, что в главном узле предопределенные данные обновляется автоматически, а в подчиненные узлы уже «приезжают» с обменами.
Если не выполнить это действие, то после отключения главного узла при следующей реструктуризации БД произойдет задвоение предопределенных данных.
Для отключения необходимо запустить командную строку от имени Администратора (root`a), выполнить запуск конфигуратора с параметрами и дождаться выполнения (сам конфигуратор на экране не появится, но он будет отображаться в дереве процессов системы, т.е. необходимо дождаться когда процесс конфигуратора пропадет из дерева процессов):
для Linux-клиента «файловый» вариант БД:
для Linux-клиента «клиент-серверный» вариант БД:
для Windows-клиента «файловый» вариант БД:
для Windows-клиента «клиент-серверный» вариант БД:
соответственно подставить свои путь к исполнительному файлу 1cv8 или 1cv8.exe и переменные, где:
5. Отключаем главный узел обмена.
Как и в предыдущем пункте, для этого необходимо запустить конфигуратор из командной строки с параметрами и дождаться его выполнения:
для Linux-клиента «файловый» вариант БД:
для Linux-клиента «клиент-серверный» вариант БД:
для Windows-клиента «файловый» вариант БД:
для Windows-клиента «клиент-серверный» вариант БД:
6. Запускаем 1С в режиме предприятия и, и в появившемся предложении о восстановлении связи с «главным узлом обмена», подтвердить ОТКЛЮЧЕНИЕ.
7. Настраиваем узлы.
Если нам необходима БД для разработки — удаляем лишние узлы обмена и сценарии синхронизации. Все БД готова. Можно переходить к п. 8
Если создаем новый узел РИБ:
- Удаляем лишние узлы обмена и сценарии синхронизации так, чтобы осталось 2 узла: узел, полученный в п. 0 (У0) и главный узел для полученного узла (ГУ). ГУ — будет «текущим» узлом, т.е. в форме списка возле него будет зеленая точка/кружок.
- Меняем местами (переименовываем) кода и наименования У0 и ГУ так, чтобы У0 стал «текущим» узлом.
- Восстанавливаем связь с главным узлом (для этого есть масса обработок на просторах интернета или можно нарисовать свою)
- Включаем синхронизацию и настраиваем сценарии синхронизации.
- Сбрасываем регистрацию изменений в У0 и ГУ
- Устанавливаем номера сообщений отправки/получения в 0.
- В настройках синхронизации данных изменяем свойство «Префикс этой информационной базы» на префикс У0.
- Запускаем 1С в У0 в режиме предприятия и отказываемся от помощи мастера настройки синхронизации.
- Проверяем синхронизацию данных У0 с ГУ.
8. Восстанавливаем автоматическое обновление предопределенных данных.
Как и в п. 4, для этого необходимо запустить конфигуратор из командной строки с параметрами и дождаться его выполнения: