==== Обмен данными ====
=== РИБ Отвязка подчиненной базы от главного узла ===
Для того чтобы отвязать подчиненную базу от главного узла, нужно запустить 1с (версия не младше 8.3.12) с параметром
/ResetMasterNode
=== РИБ Удаление регистрации изменений Узла Плана Обмена по отбору ===
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
Для каждого Документ Из Метаданные.Документы Цикл
Выборка = ПланыОбмена.ВыбратьИзменения(УзелОбмена,УзелОбмена.НомерОтправленного+1,Документ);
Пока Выборка.Следующий() Цикл
Объект = Выборка.Получить();
Если Объект.Дата <= Дата('20171231235959') ИЛИ Объект.Дата >= Дата('20190101000000') Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена,Объект.Ссылка);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Процедура ХозрасчетныйНажатие(Элемент)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Хозрасчетный.Регистратор.Ссылка КАК Ссылка
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| (Хозрасчетный.Регистратор.Дата >= &Дата1
| ИЛИ Хозрасчетный.Регистратор.Дата <= &Дата2)";
Запрос.УстановитьПараметр("Дата1", Дата('20190101000000'));
Запрос.УстановитьПараметр("Дата2", Дата('20171231235959'));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаД = РезультатЗапроса.Выбрать();
ТЗ = РезультатЗапроса.Выгрузить();
Индекс = 0;
Пока Индекс < ТЗ.Количество()+1 Цикл
Если ВыборкаД.Следующий() Тогда
Рег = РегистрыБухгалтерии.Хозрасчетный;
НаборЗаписей = Рег.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = ВыборкаД.Ссылка;
НаборЗаписей.Прочитать();
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена,НаборЗаписей);
Индекс = Индекс + 1;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура РегСврДанныеПервичныхДокументовНажатие(Элемент)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеПервичныхДокументов.Документ.Ссылка КАК Документ,
| ДанныеПервичныхДокументов.Организация.Ссылка КАК Организация
|ИЗ
| РегистрСведений.ДанныеПервичныхДокументов КАК ДанныеПервичныхДокументов
|ГДЕ
| (ДанныеПервичныхДокументов.Дата >= &Дата1
| ИЛИ ДанныеПервичныхДокументов.Дата <= &Дата2)";
Запрос.УстановитьПараметр("Дата1", Дата('20190101000000'));
Запрос.УстановитьПараметр("Дата2", Дата('20171231235959'));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаД = РезультатЗапроса.Выбрать();
ТЗ = РезультатЗапроса.Выгрузить();
Индекс = 0;
НаборЗаписей = РегистрыСведений.ДанныеПервичныхДокументов.СоздатьНаборЗаписей();
Пока Индекс < ТЗ.Количество()+1 Цикл
Если ВыборкаД.Следующий() Тогда
НаборЗаписей.Отбор.Организация.Значение = ВыборкаД.Организация;
НаборЗаписей.Отбор.Организация.Использование = Истина;
НаборЗаписей.Отбор.Документ.Значение = ВыборкаД.Документ;
НаборЗаписей.Отбор.Документ.Использование = Истина;
КонецЕсли;
Индекс = Индекс + 1;
КонецЦикла;
КонецПроцедуры
=== Восстановление РИБ после падения ===
Симптомы:
1. Конфигурация узла распределенной ИБ не соответствует ожидаемой
Что делать:
== Вариант 1. ==
Центральная БД
- Выгоняем всех пользователей из цетральной БД.
- Изменяем БД. Нужно добиться пересчета цифровой подписи БД. Для этого:
- Вносим символические изменения в БД, например в какой-нибудь роли нужно снять поставить какую-нибудь галочку
- Сохраняем изменения в БД
- выгружаем данные в узлы
Узловые БД
- Применяем обновление в узлах
- Делаем синхронизацию. Все должно работать.
== Вариант 2. ==
Центральная БД
- Выгоняем всех пользователей из цетральной БД.
- Изменяем БД. Нужно добиться пересчета цифровой подписи БД. Для этого:
- Вносим символические изменения в БД, например в какой-нибудь роли нужно снять поставить какую-нибудь галочку
- Сохраняем изменения в БД
- Выгружаем конфигурацию БД в файл, заливаем его в узлы
Узловые БД
- Для заливки конфигурации, нужно отвязать узел от центра, для этого запустим конфигуратор с ключом: /ResetMasterNode
- Запускаем конфигуратор еще раз Загружаем конфигурацию из файла
- Запускаем в режиме Предприятия, соглашаемся на восстановление РИБ, делаем обмен, все должно работать.
[[https://infostart.ru/public/65456/|Вариант 3. С инфостарта.]]
Вот ссылка на сабж с заменой цифровой подписи БД. У автора все сработало. Сам не проверял.