Итак, имеется РИБ "1С:Розница 1.0" на платформе 8.1, в которой на данный момент 115 периферийных узлов.
После внесения изменений в конфигурацию центрального узла производится обмен с периферийными узлами.
Периферийный узел при попытке загрузить входящий пакет выдает ошибку " Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла, для которого зарегистрированы изменения конфигурации. Необходимо произвести перенос изменений конфигурации в узел".
Можно, конечно, зайти конфигуратором в каждый периферийный узел и обновить конфигурацию вручную. Но мне больше нравится следующий вариант.
Заходим в режиме предприятия в периферийный узел и:
1. Сервис -> Обмен данными -> Настройка выполнения обменов
2. Выбираем нужную настройку и в пункте меню Действие выбираем подпункт "Настройка обновления конфигурации"
3. В открывшемся окне ставим галку на "Автоматически обновлять конфигурацию при приеме сообщения от главного узла"
4. В текстовом поле вставляем скрипт:
[CODE]
@echo off
set v8exe="C:\Program Files (x86)\1cv81\bin\1cv8.exe"
set DataBaseName="D:\1C_Base\"
set DataBase=/F%DataBaseName%
REM Логин администратора системы
set AdminUser=/N"Администратор" /p "пароль" /WA-
echo Завершение работы пользователей и установка блокировки...
start "" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CЗавершитьРаботуПользователей /DisableStartupMessages
echo .
echo Обновляем конфигурацию информационной базы
start "" /wait %v8exe% CONFIG %DataBase% %AdminUser% /UpdateDBCfg /UCКодРазрешения
echo .
echo Разрешение работы пользователей...
start "" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CРазрешитьРаботуПользователей /UCКодРазрешения /DisableStartupMessages
[/CODE]
правим объявленные в скрипте переменные под свои данные.
Теперь при приёме сообщения от центрального узла с обновлением конфигурации автоматически будет запускаться скрипт, который блокирует работу пользователей, обновляет конфигурацию, а затем разблокирует работу пользователей.
Есть один момент: если пользователь начал входить в ИБ и остановился на этапе авторизации, то платформа не может заблокировать такого пользователя (он же ещё не вошёл). В итоге конфигурация обновиться не может, т.к. нет монопольного доступа к ИБ.
Данный способ у меня работает уже с 2010 года.