Skip to content

При удалении команды остаются ссылки на неё #35

Description

@BarinovIN

Описание ошибки

Ошибка в том что в конфигурации остаются ссылки на команды, которые удалены. Проблема становится известна только при передаче изменений в ИБ, в виде:

Неизвестная команда - <Путь к команде>

При этом неочевидно где именно осталась ссылка на команду.

Случаи с оставшимися ссылками:

  1. При удалении формы обработки в командном интерфейсе подсистемы остаётся стандартная команда открытия обработки.
  2. При отключении стандартных команд у объекта, в формах остаётся стандартная команда. Например, ввод на основании.

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

Как воспроизвести

Команда в подсистеме при удалении формы обработки.

  1. Создайте новую подсистему, добавьте две обработки "Первая" и "Вторая", добавьте обработкам формы.
  2. Включите обработки в состав подсистемы, установите порядок команд в командном интерфейсе подсистемы, сначала "Первая", потом "Вторая".
  3. Очистите основную форму у обработки "Первая", удалите форму у обработки "Первая". В форме "Удаление объекта" нажмите "Далее".
  4. В таблице "Вносимые изменения" отображается единственное действие "Удалить Форма". Нажмите "Готово".
  5. Запустите проект на выполнение. Появится сообщение об ошибке:

Неизвестная команда - DataProcessor.Первая.StandardCommand.Open.

  1. При этом, если у обработки отключить стандартные команды до удаления формы, то ссылка на команду будет удалена из командного интерфейса подсистемы автоматически.
  2. После удаления формы ни отключение стандартных команд, ни исключение обработки из подсистемы не удаляет ссылку на команду из командного интерфейса подсистемы.

Команды в формах при отключении стандартных команд.

  1. Загрузите проект из демобазы БСП с включенной возможностью изменения. Например, БСП 3.1.4.
  2. У бизнес-процесса "Задание" снимите флаг "Использовать стандартные команды".
  3. Запустите проект на выполнение. Появится сообщение об ошибке:

Неверное имя команды элемента формы. - BusinessProcess.Задание.StandardCommand.CreateBasedOn

  1. При этом из нескольких подсистем ссылка на команду удалена автоматически, а в формах ссылка осталась.

Скриншоты

No response

Ожидаемое поведение

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

Лог рабочей области

log.zip

Версия 1С:EDT

2021.2.10.2

Операционная система

Windows

Установленные плагины

Нет плагинов

Дополнительная информация

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    formВалидация модели формы

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions