wiki:1c:obmen_dannimi

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

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