Ошибка 'Имя предопределенного элемента не уникально'

  оглавление  Ошибка 'Файл не содержит доступных обновлений'

Обновлятор-1с. Ошибка 'Невозможно выполнение обновления конфигурации в командном режиме'

Вот пример такой ошибки:

Причём если попытаться выполнить это же обновление из конфигуратора, то ошибок не возникает.

Давайте разбираться по порядку.

- О каком таком командном режиме идёт речь?

Командный (по-другому он ещё называется пакетный) режим предназначен для запуска платформы 1с в не интерактивном режиме. То есть из командной строки.

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

Вы ведь не думаете, что обновлятор действительно сам обновляет базы? :) На самом деле он всегда просит об этом саму платформу 1с через этот самый командный режим.

- Почему командный режим не работает для моей базы?

Причина может быть только одна - в базу вносились изменения через конфигуратор.

Не верите? Считаете, что ваша база полностью типовая и никакие изменения в неё вноситься не могли?

Ну тогда давайте откроем её в конфигураторе:

А затем выполним пункты из главного меню "Конфигурация"->"Открыть конфигурацию":

И перейдём в "Конфигурация"->"Поддержка"->"Настройка поддержки...":

Откроется окно, в котором, я уверен на 100%, будет написано - "Конфигурация... с возможностью изменения":

Это уже первый признак того, что в вашей базе кто-то копался через конфигуратор, потому что в полностью типовой базе изменения в конфигурации запрещены.

- Значит ли это, что для сохранения возможности обновления базы в командном режиме, базу нельзя менять вообще?

Вовсе нет. Просто это нужно делать с умом.

В сети есть множество рекомендаций по правильной доработке типовых баз, чтобы не было проблем с обновлениями.

Вкратце:

  • Все изменения, которые можно не делать в режиме конфигуратора - делать в нём не нужно. Те же печатные формы для многих баз можно редактировать в режиме пользователя. Те же дополнительные обработки можно добавлять через механизмы уже встроенные в базу в режиме пользователя. Ну и так далее...
  • Все изменения, которые вносятся в конфигуратор, по возможности не должны никак использовать уже имеющийся типовой функционал базы.

А так что же получается чаще всего:

  • администратор или программист по неопытности включает возможность изменения базы
  • включает возможность редактирования печатных макетов документа
  • меняет этот макет
  • затем поставщик решения (к примеру, фирма 1с) в своём обновлении также меняет этот макет
  • и вот при попытке накатить это обновление возникает конфликт и 1с выдаёт нам ошибку, что обновить эту базу в полностью автоматическом командном (пакетном) режиме, к сожалению, невозможно.

- Тогда почему её при этом можно обновить через конфигуратор?

Потому что там, в случае возникновения конфликтов и неоднозначных ситуаций, пользователю в интерактивном режиме будет выдан диалог, чтобы он сам в пользу того или иного варианта этот конфликт разрешил (окно сравнения и объединения конфигураций).

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

- Ну и как быть с данной базой?

Вариантов всего три:

  • Если это возможно - сделать все доработки для базы согласно рекомендациям, описанным мною выше, чтобы база вновь могла обновляться в командном режиме.
  • Всегда обновлять базу через конфигуратор в ручном режиме.
  • Обновлять базу через обновлятор используя один из следующих сценариев: сценарий №1 и сценарий №2.

Конечно, предпочтительней первый вариант, но он не всегда возможен и в любом случае требует участия опытного (и заинтересованного в нужном результате) программиста 1с.

С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:



Ошибка 'Имя предопределенного элемента не уникально'

  оглавление  Ошибка 'Файл не содержит доступных обновлений'