Обмен данными
РИБ Отвязка подчиненной базы от главного узла
Для того чтобы отвязать подчиненную базу от главного узла, нужно запустить 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
- Запускаем конфигуратор еще раз Загружаем конфигурацию из файла
- Запускаем в режиме Предприятия, соглашаемся на восстановление РИБ, делаем обмен, все должно работать.
Вариант 3. С инфостарта. Вот ссылка на сабж с заменой цифровой подписи БД. У автора все сработало. Сам не проверял.