Здравствуйте, уважаемые читатели нашего блога сайт! Сегодня поговорим об
исправлении двух ошибок
, которые могут возникнуть при обмене в в распределенной информационной базе (РИБ). Такие ошибки могут возникнуть, если вы изменили конфигурацию вашей базы и пытаетесь передать эти изменения из центральной базы в периферийную. Например, способом, который был описан . Давайте приступим!
Вот такие сообщения могут появиться при попытки сделать обмен при помощи РИБ:
«Данные принимаются от узла, для которого
зарегистрированы изменения конфигурации.
Необходимо произвести перенос изменений
конфигурации в узел.»
«Конфигурация узла распределенной ИБ
не соответствует ожидаемой!»
Давайте рассмотрим шаги, которые помогут исправить ситуацию. Перед тем как начнем, сделаем наших информационных баз!!!
- Возьмем файл конфигурации с обновлением, откроем центральную базу в Конфигураторе и загрузим его (Конфигурация-Загрузить конфигурацию из файла…). Сохраним ИБ (F7).
- Зайдем в и сделаем выгрузку в файл для периферийной базы:
- Выделим план обмена в списке, затем Правой кнопкой вызвать контекстное меню и выбрем пункт «Записать изменения…».
- Теперь займемся периферийной ИБ. Откроем ее в монопольном режиме, чтобы никого из пользователей не было, а также закроем Конфигуратор. Теперь необходимо запомнить узел, который является главным для текущей базы. Откроем Операции-Планы обмена-Выбрать ваш план обмена (например, «По складу»). В списке планов обмена главным узлом является элемент с желтой пиктограммой. Эта информация пригодится нам в седьмом пункте. Откроем обработку и нажмем кнопку «Отменить назначение главного узла».
- Теперь откроем периферийную ИБ в Конфигураторе и загрузим тот же файл конфигурации, который мы загружали на первом шаге в центральной базе (Конфигурация-Загрузить конфигурацию из файла…). Сохраним ИБ (F7).
- Изменим настройку поддержки (Конфигурация-Поддержка-Настройка поддержки…). В диалоге выделим в таблице ячейку на пересечении первой строки и второй колонки. Затем двойным нажатием вызовем диалог «Настройка правил поддержки». В нем поставим флаг «Установить для подчиненных объектов» и нажмем кнопку «ОК». Закроем диалог настройки поддержки, нажав кнопку «Закрыть». Сохранить ИБ (F7). Закроем Конфигуратор.
- Теперь опять откроем периферийную ИБ в монопольном режиме 1С:Предприятие, чтобы никого из пользователей не было, а также закроем Конфигуратор. Откроем обработку УстановкаГлавногоУзлаБД.epf и выберем план обмена, который мы хотим установить главным узлом (в четвертом пункте мы запоминали этот узел). Затем нажмем кнопку «Установить главный узел». После этого текущая ИБ снова станет периферийной.
- Теперь в текущей ИБ (периферийной) откроем планы обмена и загрузим файл с обменом из Центральной базы, который мы получили на третьем шаге:
- Операции-Планы обмена-Выбрать наш план обмена (например, «По складу»).
- Если все прошло успешно, то сделаем выгрузку обмена для Центральной базы в текущей ИБ (периферийной):
- Операции-Планы обмена-Выбрать наш план обмена (например, «По складу»).
- Выделим план обмена в списке, затем Правой кнопкой вызвать контекстное меню и выберем пункт «Записать изменения…».
- В диалоге укажем путь и имя файла обмена. Нажмем кнопку «ОК».
- Теперь попробуем загрузить этот файл в Центральной базе, откроем ее в режиме 1С:Предприятие:
- Операции-Планы обмена-Выбрать наш план обмена (например, «По складу»).
- Выделим план обмена в списке-Правой кнопкой вызовем контекстное меню и выбрать пункт «Прочитать изменения…»
- В диалоге выберем файл обмена. Нажмем кнопку «ОК».
Чтобы избежать проблем с рабочими копиями сделайте сначала
Для платформ 1с 8.x при возникновении ошибки «Конфигурация узла распределенной ИБ не соответствует ожидаемой»
Методика решение проблемы
Список используемых мной сокращений:
РИБ — распределенная информационная база
ЦБ — центральная база, корневой узел РИБ
УБ — удаленная база, БД удаленного узла РИБ
По собственному опыт могу сказать, что сталкивался с двумя причинам возникновения ошибки:
во время приёма файла сообщения в УБ «упала» база, в связи с чем, видимо, и произошла разсинхронизация между конф. ЦБ и УБ;
под MSSQL клиент загрузил копию рабочей базы и не выключил в копии регл. задания автообмена, в результате часть сообщений в удаленные узлы формировалась из рабочей БД, а часть из копии, что и привело рассинхронизации конфигураций
Есть также мнение, что к этой ошибке приводит использование механизма динамического обновления базы. Здесь есть сомнения, потому как с одной стороны динамическое обновление никогда не затрагивает структуры БД, а механизмы РИБ всё-таки работают именно со структурой БД, а не с прикладной её частью, тем не менее в РИБ используется механизм формирования цифровой подписи версии конфигурации (в дальнейшем буду называть её для сокращения хэшем), и при изменении прикладной части хэш естественно обязан пересчитаться. Не буду ни отрицать этого, ни утверждать, т.к. если и сталкивался с этой ситуацией, то явных доказательств этого не нашел.
Для исправления использую 2 методики, в зависимости от ситуации.
ПЕРВАЯ МЕТОДИКА
Первая (самая распространенная) неоднократно упоминается и в партнерской конференции, и на прочих интернет-ресурсах связанных с 1С. Применяется в большинстве случаев, когда несмотря на сообщение о расхождених конфигураций, при сравнении вручную выдается, что они идентичны.
Последовательность действий:
1. выгружаем из ЦБ cf-файл;
2. отвязываем УБ от РИБ (метод УстановитьГлавныйУзел, готовую обработку можно найти в приложении или в других публикациях);
3. заменяем конф. УБ на выгруженный в первом шаге cf-файл, для этого пользуемся меню «Загрузить конфигурацию из файла» (а не сравнением-объединением!!!);
4. восстанавливаем признак РИБ для УБ.
В большинстве случаев этих действий более чем достаточно, что восстановить обмен, но не всегда…
ВТОРАЯ МЕТОДИКА
Применяется в случае, если первая методика не сработала, а выгрузить заново узел не представляется возможным.
Итак, последовательность действий:
1. выполняем действия 1 — 4 первой методики;
2. выгружаем из УБ файл обмена, но не загружаем его в ЦБ;
3. выгружаем из ЦБ файл обмена, но не загружаем его в УБ;
4. в файле обмена из ЦБ заменяем блок, содержащий информацию об изменениях конфигурации и хэши (Digest1 и Digest2), на блок хэшей из файла УБ (пример см. ниже)
5. производим загрузку файла из 4-го пункта в УБ;
обязательно перезаписываем файл обмена из УБ (2-й пункт)! этот файл не должен быть загружен при обмене в ЦБ!
для проверки делаем несколько последовательных обменов.
Если при обмене используется сжатие данных, то либо отключаем сжатие, либо сначала распаковываем файл, меняем, потом запаковываем обратно и отправляем.
Блок файла обмена из ЦБ
нужно заменить на блок файла обмена из УБ (обратите внимание Digest1 у файла из УБ всегда равен «00000000000000000000000000000000»!!!)
Перечисленные действия необходимо выполнять с предельной осторожностью, некорректная последовательность чревата полной неработоспособностью РИБ. Поэтому перед этими действиям создание резервных копий ОБЯЗАТЕЛЬНО!
- Файл с сообщением уже загружался в базу-приемник. Необходимо выгрузить его из базы-источника заново.
Ошибка «Ошибка при копировании файла c FTP ресурса… Ошибка работы с Интернет: Timeout was reached»
- С сайта, через который проходит обмен, не получается скопировать нужный файл. Это может быть связано с медленной работой вашего интернета или с проблемами самого сайта.
- Нужно попробовать повторить обмен через 15-30 минут.
Ошибка «Редактирование данных этого периода запрещено. Изменения не могут быть записаны…»
- Загружаемые данные содержат документы из закрытого периода.
- Нужно провести обмен под пользователям, имеющим право на изменение документов в этом периоде.
Ошибка «Необходимо выполнить обновления конфигурации базы данных. Обновление может быть выполнено в режиме конфигуратора»
Причина: Программисты поменяли конфигурацию в центре. Решение: Обновить измененную конфигурацию в периферийной базе. Для этого:- Зайти в конфигуратор.
- Выполнить пункт меню «Конфигуратор / Обновить конфигурацию базы данных».
- Если выдается вопрос с ответами только «Повтор», «Отмена», «Обновить динамически», нажать кнопку «Обновить динамически».
- Если выдается вопрос с ответами только «Повтор» и «Отмена».
- всем пользователям выйти из 1С.
- нажать кнопку «Повтор».
- На оставшиеся вопросы ответить утвердительно: «Да», «Принять», «ОК».
- Закрыть конфигуратор.
- Повторить загрузку из центра.
Ошибка «Конфигурация не соответствует ожидаемой», «Попытка приема изменений от неизвестной конфигурации»
- Ошибка в базе данных.
- Необходимо обратиться к специалистам.
Обмен проходит очень долго, зависает
Возможные причины:- Поступает много данных.
- Выясните у отправителя, выполнял ли он групповое изменение документов (проведение, замена реквизитов и т.д.).
- Если да, оставьте компьютер с обменом на ночь.
- Большой файл не может скачаться из интернета.
- Если файл имеет большой размер (80-100 Мб и больше), то, возможно, 1С просто не может его скачать.
- Необходимо скачать файл и загрузить его в 1С вручную (возможно при помощи специалистов).
- пункт меню «Операции» / Планы обмена / Полный / Кнопка на панели «Прочитать сообщение».
- База повреждена:
- Попробуйте
- Если эти действия не помогли — придется обратиться к специалистам.
- Если исправить ошибку не удалось, звоните по телефону экстренной поддержки +7 (8512) 64-55-05.
- Наш специалист поможет вам, в каком бы городе вы не находились.
Эта ошибка является типичной для . Ошибка «Конфигурация узла распределенной ИБ не соответствует ожидаемой» является системной. В основном возникает из-за аварийного завершения работы во время обмена данными по УРИБ.
Решить это можно достаточно простым способом. Рассмотрим его.
Инструкция
1. Сделайте копии баз, над которыми будут производиться работы (В конфигураторе «Администрирование - Выгрузить информационную базу»).
2. Запустите конфигуратор главной базы узла РИБ.
3. Сохраните конфигурацию центрального узла в файл базы данных («Конфигурация — Сохранить конфигурацию в файл…»)
4. Откройте конфигуратор базы подчиненного узла.
Получите 267 видеоуроков по 1С бесплатно:
5. Снимите конфигурацию подчиненного узла с поддержки (Конфигурация — Поддержка — Настройки поддержки — Снять с поддержки):
6. Загрузите конфигурацию базы данных («Конфигурация — Загрузить конфигурацию из файла…»).
8. После реструктуризации необходимо зайти в режим предприятия и установить главный узел конфигурации. Это сделать можно с помощью специальной обработки — . Обработка работает как в режиме управляемого приложения, так и в режиме обычного приложения.
9. В обработке необходимо выбрать главный узел и нажать «Выполнить»:
10. Готово! Попробуйте запустить обмен, система должна корректно выполнить обмен.