Как исправить ошибку «Недопустимое значение параметра 2» при создании начального образа в 1С:Розница 2.2?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

Создание начального образа информационной базы для распределенной информационной базы (РИБ) — стандартный этап при открытии нового магазина или филиала в конфигурации 1С:Розница 2.2. Однако в процессе выгрузки администраторы и программисты нередко сталкиваются с аварийным завершением операции: «Не удаётся создать начальный образ по причине недопустимое значение параметра 2». При этом платформа может ссылаться на регистры накопления (например, Товары организаций) или регистры сведений (Цены номенклатуры).

Разберем детально, почему возникает данная неполадка, какие механизмы платформы дают сбой и какими практическими путями можно успешно развернуть периферийный узел.

Причины возникновения ошибки

Проанализируем техническую сторону формирования начального образа. Процесс опирается на вызов платформенного метода ПланыОбмена.СоздатьНачальныйОбраз(<Узел>, <СтрокаСоединения>), а также на внутреннюю регистрацию данных с фильтрацией по узлу. Сообщение о некорректном втором параметре может свидетельствовать о следующих проблемах:

  1. Баг конкретного релиза технологической платформы. В некоторых сборках платформы (в частности, 8.3.9.1818) были допущены ошибки в механизме оптимизации чтения наборов записей регистров накопления и сведений. При формировании начального образа узла с фильтрацией по магазину вызов внутреннего метода ПланыОбмена.ЗарегистрироватьИзменения(<Узел>, <Данные>) приводит к аварии, так как платформа некорректно обрабатывает второй параметр — набор записей с установленным отбором.
  2. Некорректная строка соединения. Вторым параметром системного метода СоздатьНачальныйОбраз выступает строка подключения к создаваемой базе. Ошибка может появиться, если в пути к файловой базе содержатся запрещенные спецсимволы, превышена максимальная длина пути файловой системы либо путь указывает на недоступный каталог. В клиент-серверном варианте сбой вызывают синтаксические ошибки в параметрах кластера (Srvr=...;Ref=...;).
  3. Нарушение ссылочной и логической целостности данных. Если в регистрах сведений («Цены номенклатуры») или регистрах накопления («Товары организаций») присутствуют битые ссылки вида <Объект не найден>, пустые значения Null в измерениях или некорректные отборы, алгоритм выгрузки порций данных завершается критической ошибкой.

Способ 1. Смена версии технологической платформы 1С

Если ошибка воспроизводится на проблемном релизе 8.3.9.1818, наиболее быстрым и проверенным решением является корректировка используемой платформы:

  1. Даунгрейд на рекомендованную версию: Установим стабильный релиз ветки 8.3.8, рекомендованный в паспорте используемого релиза «1С:Розницы» (например, 8.3.8.2197 или 8.3.8.2322). Как показывает практика, выгрузка начального образа в файловом режиме под этой платформой проходит штатно и без сбоев.
  2. Обновление на исправленный стабильный релиз: Если на сервере работают другие конфигурации (например, «1С:Бухгалтерия») и понижение версии нежелательно, выполним обновление платформы на более поздние стабильные сборки (старшие билды 8.3.9 или ветки 8.3.10 и выше), где ошибка работы с наборами записей была устранена разработчиками.

Способ 2. Проверка целостности и очистка регистрации

Перед повторной выгрузкой образа обязательно приведем информационную базу в согласованное состояние, устранив возможные повреждения данных:

  1. Запустим конфигуратор центральной базы в монопольном режиме и откроем меню Администрирование — Тестирование и исправление.
  2. Установим следующие флаги:
    • Реиндексация таблиц информационной базы;
    • Проверка логической целостности информационной базы;
    • Проверка ссылочной целостности (с установкой переключателя в режим Очищать ссылки);
    • Пересчет итогов (критично для регистра Товары организаций).
  3. Если узел уже пытался создаваться ранее, очистим зарегистрированные изменения, чтобы битые записи не препятствовали обмену. Для этого можно воспользоваться типовой обработкой «Регистрация изменений для обмена данными» или вызвать метод ПланыОбмена.УдалитьРегистрациюИзменений().

Способ 3. Создание узла РИБ без выгрузки начального образа (метод отвязки копии)

Если штатный механизм выгрузки по-прежнему завершается ошибкой или база данных имеет слишком большой объем, воспользуемся проверенным альтернативным способом — созданием периферийной базы из копии центральной.

Разберем по шагам весь порядок действий:

  1. Создадим полную копию центральной информационной базы (через выгрузку файла .dt, бэкап СУБД или копирование файла 1Cv8.1CD).
  2. Развернем полученную копию на рабочем месте, где планируется работа периферийного узла.
  3. Отвяжем базу от главного узла. Для этого запустим конфигуратор новой базы с ключом командной строки /ResetMasterNode либо в режиме «1С:Предприятие» выполним программный код: ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
  4. В открывшейся независимой базе полностью очистим очереди изменений для предотвращения коллизий: ПланыОбмена.УдалитьРегистрациюИзменений();
  5. Свяжем периферийную базу с центральным узлом с помощью кода:
    
    Главный = ПланыОбмена.РИБПоМагазину.НайтиПоКоду("ЦБ");
    ПланыОбмена.УстановитьГлавныйУзел(Главный);
    

    Вместо РИБПоМагазину укажем имя используемого в вашей конфигурации плана обмена, а вместо "ЦБ" — реальный код узла центральной базы.

  6. Запустим первый сеанс синхронизации. Данный способ позволяет полностью обойти метод СоздатьНачальныйОбраз и исключает связанные с ним системные ошибки платформы.
← На главную