Показывать по
10
20
40
сообщений
Новая тема
Ответить
SVGS
Дата регистрации: 23.12.2010
Сообщений: 276
Была РИБ на 8.1 (2.0.22.2). Нужно, чтобы две базы («Центр» и «Склад») работали на 8.2 (2.0.23.9)<br> <br>Сделал так:<br>1) Конвертировал БД «Центр» в формат 8.2<br>2) Конвертировал БД «Склад» в формат 8.2<br>3) Выполнил обмен данными между ними, проверил — все ОК<br>4) Выполнил обновление БД «Центр» до версии 2.0.23.9<br> <br>5) Попытался выполнить обмена с БД «Склад» получил диагностику<br>Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Данные принимаются от узла, для которого зарегистрированы изменения конфигурации.Необходимо произвести перенос изменений конфигурации в узел.Чтение данных из файла обмена завершено с ошибками!<br> Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> т.е. файл изменениями для БД «Склад» сформировался успешно<br><br>6) Попытался выполнить обмен данными в БД «Склад» с этим файлом. Получил ошибку<br>Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Конфигурация узла распределенной ИБ не соответствует ожидаемой!Чтение данных из файла обмена завершено с ошибками!<br><br> <br>Что я делаю не верно? И как должно быть сделано правильно?
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20834
Нужно на БД «Склад» зайти конфигуратором и применить изменения конфигурации.
SVGS
Дата регистрации: 23.12.2010
Сообщений: 276
А поподробнее можно?<br>Я в Бух 8.1 делал так:<br>выбирал в меню «Конфигурация» пункт «Обновить конфигурацию базы данных»<br>Если под словами <br>> применить изменения конфигурации<br>именно это имеется ввиду, то у меня этот пункт почему-то в Бух 8.2 недоступен ![]()
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20834
Зайти конфигуратором и нажать F5, потом опять сделать обмен. Вроде так, пишу на память.
SVGS
Дата регистрации: 23.12.2010
Сообщений: 276
Попробовал. F5 — начать отладку — запустилась программа — выполнил обмен — результат тот же.<br>Завтра буду пробовать еще что-то сделать. Пока нахожусь в полном недоумении:<br>почему в 8.1 у меня «Склад» легко обновлялся таким способом, а в 8.2 нет???
SVGS
Дата регистрации: 23.12.2010
Сообщений: 276
Еще раз прошел по тому же пути — результат тот же.<br>»Центр» обновляется — передать выполненное обновление в БД «Склад» не получается.<br>Пункт меню «Обновить конфигурацию базы данных» в конфигураторе не доступен.<br> <br>Пошлите меня куда-нибудь.
<br>(Где прочитать про различия при обновлении РИБ в 8.1 и 8.2?)
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20834
— Сделать обмен в «Центре»<br> — Сделать обмен в «Склад»<br> — Зайти в конфигуратор «Склад»<br> — Если не открыто дерево конфигурации, то открыть его<br> — Посмотреть стоит ли знак вопроса на конфигурации<br> — Нажать F5<br> — Еще раз сделать обмен в «Склад» (не надо приэтом делать обмен в «Центр»)
SVGS
Дата регистрации: 23.12.2010
Сообщений: 276
Prikum, если коротко, то я все так и делал. Эту механику освоил еще на 8.1. Попробую запротоколировать все, что я делаю при переходе на 8.2.<br> <br>1. Устанавливаю платформу 8.2. Отказываюсь от переустановки драйвера.<br> <br>2. Копирую каталог «Центр» 8.1 в каталог «Центр» 8.2<br> <br>3. Запускаю «Центр» 8.2 в режиме «Конфигуратор». Получаю вопрос:<br>Формат файла информационной базы не соответствует версии «1С:Предприятия». Выполнить преобразование?<br>Отвечаю «Да», получаю еще один вопрос:<br>Структура информационной базы несовместима с текущей версией программы.Произвести конвертацию информационной базы?<br> Отвечаю «Да». Получаю «Конвертация информационной базы завершена»<br> <br>4. Нажимаю «Конфигурация-Поддержка-Обновить конфигурацию».<br>Выбираю 2.0.23.9 (обновление) — Продолжить обновление<br>Обновление завершается сообщением:<br>После изменения режима совместимости рекомендуется выполнить перезапуск конфигуратора.<br> <br>5. Перезапускаю конфигуратор. Выбираю пункт меню «Конфигурация — Обновить конфигурацию базы данных»<br>При нажатии на кнопку «Принять» получаю вопрос:<br>При обработке данных выдано 2 предупреждений! Принять изменения?<br> Поскольку я не понимаю о каких предупреждениях идет речь, нажимаю кнопку «Да»<br>Пропадает <!> рядом со словом «Конфигурация»<br> <br>6. Нажимаю F5. Идут запросы от Firewall на обращение к сайтам 1С. Я все разрешаю и подтверждаю легальность получения обновления. Получаю сообщения:<br>Выполнено обновление информационной базы с версии 2.0.22.2 на версию 2.0.22.1<br>Выполнено обновление информационной базы с версии 2.0.22.1 на версию 2.0.23.9<br> <br>7. Выполняю настроенную еще в 8.1 процедуру «Выполнить обмен с узлам РИБ по организации». Получаю сообщения:<br>Не найден входящий файл обмена данными.<br>Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> <br>8. Повторяю пункты 2 и 3 с БД «Склад». Нажимаю F5 и пробую «Выполнить обмен с узлам РИБ по организации». Получаю сообщения:<br>Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): <br>Конфигурация узла распределенной ИБ не соответствует ожидаемой!<br>Чтение данных из файла обмена завершено с ошибками!<br>Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> <br>ЗДЕСЬ НЕТ ТРЕБОВАНИЯ ПЕРЕЙТИ В КОНФИГУРАТОР И ЗАВЕРШИТЬ ОБНОВЛЕНИЕ,<br>которое я видел в 8.1…<br> <br>9. Вхожу в конфигуратор. Убеждаюсь, что в БД «Склад» стоит версия 2.0.22.2<br>Открываю окошки «Конфигурация» и «Конфигурация базы данных» и вижу, что пункты меню<br>»Обновить конфигурацию» и «Обновить конфигурацию базы данных» заблокированы.<br> <br>10. Перехожу к пункту 1 и повторяю эти развлекательные циклические упражнения 3 раза подряд.
<br> <br>В каком месте я ошибаюсь и не могу выйти из этого цикла?
))
SVGS
Дата регистрации: 23.12.2010
Сообщений: 276
С задачей справился. Источник информации: http://infostart.ru/public/65456/<br>К сожалению, на этой конференции я нужной информации не получил. ![]()
Показывать по
10
20
40
сообщений
Распределенная база (РИБ) – часто используемый вариант работы.
Пример – розничная сеть магазинов. Из центральной базы в магазины передаются товары, штрихкоды, цены. Обратно – продажи за смену.
И в таких базах также могут использоваться расширения. А с ними возникают нюансы…
Проблема с распространением расширений в распределенных информационных базах
До выпуска 8.3.12 на уровне платформы не было обмена расширениями в РИБ.
Поэтому, если в центральной базе мы добавили расширение – нужно было еще распространить его во все периферийные узлы.
Для этого приходилось изобретать свои решения, например, веб-серверы во всех магазинах, обмен через веб-сервисы и т.п.
Что изменилось в 8.3.12?
В редакции 8.3.12 обмен расширениями в территориально распределенных базах реализован на уровне платформы.
Теперь не нужны доработки по синхронизации самих расширений, можно не использовать дополнительное ПО, типа веб-серверов.
А когда в типовых конфигурациях появится новый режим совместимости, использование данного функционала станет еще проще – не нужно будет для его реализации устанавливать режим совместимости вручную.
Видео – как передать расширения в периферийные узлы распределенной базы начиная с версии платформы 8.3.12
Мы подготовили для вас 10-минутное видео. Посмотрев его, вы узнаете:
- Как настроить план обмена, чтобы платформа самостоятельно передавала расширения в подчиненные узлы РИБ
- Какие свойства у расширения нужно задать
- Какие данные при этом выгружаются в файл обмена
- Как происходит процесс обмена расширениями через файл
- Какие ограничения существуют у расширений в периферийном узле.
Для тех, кто хочет идти в ногу со временем
Разработка расширений – центральное направление, в котором 1С развивает платформу. И если начать изучение новых технологий уже сейчас, это даст вам явные преимущества 🙂
Наш курс поможет освоить все возможности расширений буквально за пару месяцев.
Более того – его можно купить в рассрочку (оплатить по частям), в том числе без лишних процентов.
Конфигурация узла распределенной ИБ не соответствует ожидаемой. Одна из самых популярных ошибок РИБ. Приведены стандартная методика устранения (уже публиковалась ранее) и расширенная (для сложных случаев).
Для начала привожу список используемых мной сокращений:
- РИБ — распределенная информационная база
- ЦБ — центральная база, корневой узел РИБ
- УБ — удаленная база, БД удаленного узла РИБ
По собственному опыт могу сказать, что сталкивался с двумя причинам возникновения ошибки:
- во время приёма файла сообщения в УБ «упала» база, в связи с чем, видимо, и произошла разсинхронизация между конф. ЦБ и УБ;
- под MSSQL клиент загрузил копию рабочей базы и не выключил в копии регл. задания автообмена, в результате часть сообщений в удаленные узлы формировалась из рабочей БД, а часть из копии, что и привело рассинхронизации конфигураций
Есть также мнение, что к этой ошибке приводит использование механизма динамического обновления базы. Здесь есть сомнения, потому как с одной стороны динамическое обновление никогда не затрагивает структуры БД, а механизмы РИБ всё-таки работают именно со структурой БД, а не с прикладной её частью, тем не менее в РИБ используется механизм формирования цифровой подписи версии конфигурации (в дальнейшем буду называть её для сокращения хэшем), и при изменении прикладной части хэш естественно обязан пересчитаться. Не буду ни отрицать этого, ни утверждать, т.к. если и сталкивался с этой ситуацией, то явных доказательств этого не нашел.
Для исправления использую 2 методики, в зависимости от ситуации.
ПЕРВАЯ МЕТОДИКА
Первая (самая распространенная) неоднократно упоминается и в партнерской конференции, и на прочих интернет-ресурсах связанных с 1С. Применяется в большинстве случаев, когда несмотря на сообщение о расхождених конфигураций, при сравнении вручную выдается, что они идентичны.
Последовательность действий:
- выгружаем из ЦБ cf-файл;
- отвязываем УБ от РИБ (метод УстановитьГлавныйУзел, готовую обработку можно найти в приложении или в других публикациях);
- заменяем конф. УБ на выгруженный в первом шаге cf-файл, для этого пользуемся меню «Загрузить конфигурацию из файла» (а не сравнением-объединением!!!);
- восстанавливем признак РИБ для УБ.
В большинстве случаев этих действий более чем достаточно, что восстановить обмен, но не всегда…
ВТОРАЯ МЕТОДИКА
Применяется в случае, если первая методика не сработала, а выгрузить заново узел не представляется возможным.
Предыстория: у клиента настраивали каскадную РИБ и ошибка возникла в первом уровне каскада (второй уровень всё это время работал безупречно). Разработка конфигурации велась совместно с IT-службой клиента и с момента возникновения ошибки конфигурация ЦБ успела несколько раз поменяться. Вариант с откатом изменений не рассматривался даже в принципе, т.к. потеря части данных и остановка работы нескольких подразделений были совершенно неприемлимы. Первый вариант исправления ошибки каких-либо ощутимых результатов не дал. В связи со чем пришлось искать другие пути решения.
Пришла мысль попробовать подменить хэши файлов конфигураций непосредственно в XML-файлах обмена. Описание структуры файла обмена из книги «Профессиональная разработка в системе 1С:Предприятие 8» дало слабое представление о формировании цифровых подписей конфигураций и изменений в них, но определило направление поиска: значения Digest1 и Digest2. Всё остальное выяснял чисто эмпирическим путём (то бишь методом проб и ошибок), но закономерность установить таки получилось.
Тестовые эксперименты прошли удачно. На рабочих базах тоже всё прошло благополучно.
Итак, последовательность действий:
- выполняем действия 1 — 4 первой методики;
- выгружаем из УБ файл обмена, но не загружаем его в ЦБ;
- выгружаем из ЦБ файл обмена, но не загружаем его в УБ;
- в файле обмена из ЦБ заменяем блок, содержащий информацию об изменениях конфигурации и хэши (Digest1 и Digest2), на блок хэшей из файла УБ (пример см. ниже)
- производим загрузку файла из 4-го пункта в УБ;
- обязательно перезаписываем файл обмена из УБ (2-й пункт)! этот файл не должен быть загружен при обмене в ЦБ!
- для проверки делаем несколько последовательных обменов.
Если при обмене используется сжатие данных, то либо отключаем сжатие, либо сначала распаковываем файл, меняем, потом запаковываем обратно и отправляем.
Блок файла обмена из ЦБ
<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">
<v8de:Version>106.0</v8de:Version>
...здесь идут блоки описания изменений конфигурации...
<v8de:Digest1>1cf680807e97a5dc0d1ed7f901b07392</v8de:Digest1>
<v8de:Digest2>038211651cf680807e97a5dc0d1ed7f9</v8de:Digest2>
</v8de:Config>
нужно заменить на блок файла обмена из УБ (обратите внимание Digest1 у файла из УБ всегда равен «00000000000000000000000000000000»!!!)
<v8de:Config xmlns:v8md="http://v8.1c.ru/metadata/2005/08">
<v8de:Version>106.0</v8de:Version>
<v8de:Digest1>00000000000000000000000000000000</v8de:Digest1>
<v8de:Digest2>11651cf680807e97a5dc0d1ed7f901b0</v8de:Digest2>
</v8de:Config>
Перечисленные действия необходимо выполнять с предельной осторожностью, некорректная последовательность чревата полной неработоспособностью РИБ. Поэтому перед этими действиям создание резервных копий ОБЯЗАТЕЛЬНО!
В остальном могу только пожелать удачи!