В локализованной версии Розница 2.1 (Розница для Кыргызстана) столкнулся со следующим явлением. При небольшой модернизации подсистемы печати, в Справочник Номенклатура решил добавить дополнительную Команду "ПечатьЭтикеток". Существующая команда "ПечатьЦенниковИЭтикеток" не устраивает тем, что открывает соответствующую обработку при печати из справочника в Режиме печати Ценников и Этикеток, и постоянно приходится это режим менять, что не очень удобно.
Скопировал существующую команду, подправил режим открытия обработки и...
После запуска новой команды в нужном месте (Печать) не оказалось. Странно, начал смотреть. Первое, что бросилось в глаза у бывших команд - это Реквизит Группа, установленный как: Панель навигации формы.Перейти, странно, что именно Перейти, а не Печать, хотя команды появляются в группе команд печати. Так как команду я скопировал, то у моей команды остались те же параметры, но она, как существующие в группе Печать появиться не захотела. Далее я установил у своей команды Командная панель формы.Печать и она, как и положено появилась там, где и следует. Ради эксперимента поменял это реквизит у ранее существовавших команд и как результат, эти команды в группе команд "Печать" появились дважды. Проблему я конечно решил оставив у своей команды Группу Печать, а тем, которые были, вернул прежние значения, и все прекрасно работает.
Но вот не дает покоя то обстоятельство, что я так и не понял сути явления, что есть не хорошо. Хотелось бы знать, почему в типовой сделано так, и каким образом команды появляются в нужном месте.
---
Вобщем разрешилась моя загадка. Все достаточно просто, я бы даже сказал, банально. Команда, добавляется не программно, а обычным способом в графическом интерфейсе конфигуратора. При этом если у команды свойство Группа выставить в значение: "Командная панель формы.Печать", то она без всяких дополнительных манипуляций попадает в соответствующую группу команд на форме. Собственно я всегда так и делаю, и поэтому за давностью событий совершенно забыл об этой особенности, а именно, если свойство группу группы присвоить другое значение (в моем случае это было "Панель навигации формы.Перейти"), то нужно еще произвести пару манипуляций с этой командой, чтобы она очутилась в нужном месте. А именно нужно в левом верхнем окне Дизайнера форм переключиться с вкладки "Элементы" на "Командный интерфейс", а на правом открыть "Команды" -> "Глобальные команды", и в окне "Параметризуемые" отыскать нужную команду и перетащить ее в левое окно в необходимое место. Эту манипуляцию проделать для всех форм, в которых необходимо отображение данной команды.
Но вот чего я так и не понял, так это того, что нафига так было извращаться разработчикам этой конфигурации, когда можно было просто бес всяких заморок сразу в свойствах команды Группа выставить значение "Командная панель формы.Печать". Может тот способ, который применили разработчики несет какие то дополнительные выгоды? Была же видимо причина сделать именно так.
---
Скорее всего в модуле менеджера в процедуре "ДобавитьКомандыПечати"
---
Ничего подобного я не нашел.
Модуль менеджера справочника Номенклатура содержит только эти нижеперечисленные функции:

```1c
    Функция РеквизитыНеРедактируемыеВГрупповойОбработке
    Функция ПроверитьИспользованиеХарактеристик
    Функция ПроверитьПринадлежностьХарактеристикиИУпаковкиВладельцу
    Функция ПолучитьБлокируемыеРеквизитыОбъекта
    Функция ПолучитьРеквизитыНоменклатуры
    Функция РеквизитыРедактируемыеВГрупповойОбработке
    Функция ИспользуютсяПодарочныеСертификаты
```

Ставил точки останова на Процедурах и Функциях Общего Модуля УправлениеПечатью

```1c
    Процедура ПриСозданииНаСервере
    Функция КомандыПечатиФормы
    Функция СоздатьКоллекциюКомандПечати
```
Не одна не сработала при открывании формы списка или элемента справочника. Кроме этого возникает вопрос, Если это делается кодом, то почему этот код игнорирует мою команду?
В общем пока ответа я не нашел и вопрос остается открытым.
---
Провел еще раз исследование всех потенциально возможных мест, откуда бы эти команды потенциально могли добавляться с расстановкой в этих местах точек останова, но ни одна из них не сработала.
Вот кстати версия БСП в этой конфигурации:2.2.5.31, если это чем нибудь поможет.
Также провел следующий эксперимент:
Переименовал существующую команду "ПечатьЦенниковИЭтикеток" -> "НеПечатьЦенниковИЭтикеток2",
Подправил синоним на - Нафигачить ценников и этикеток...,
Поставил режим "Остановка по ошибке" и ...
Опять все прекрасно отработало и команда появилась на своем прежнем месте без всяких приключений и возникновения ошибок. Если бы имя команды было жестко задано в коде, то возникла бы ошибка и команда бы не появилась на форме. Если допустим команда все же добавляется кодом, то имя ее задано явно не жестко. Если при этом этот код производит поиск команд и делает их добавление в командный интерфейс формы, то возникает резонный вопрос, почему переименованную команду он в этот интерфейс добавляет, а мою игнорирует? Что то тут явно не чисто...
---
Вобщем разрешилась моя загадка. Все достаточно просто, я бы даже сказал, банально. Команда, добавляется не программно, а обычным способом в графическом интерфейсе конфигуратора. При этом если у команды свойство Группа выставить в значение: "Командная панель формы.Печать", то она без всяких дополнительных манипуляций попадает в соответствующую группу команд на форме. Собственно я всегда так и делаю, и поэтому за давностью событий совершенно забыл об этой особенности, а именно, если свойство группу группы присвоить другое значение (в моем случае это было "Панель навигации формы.Перейти"), то нужно еще произвести пару манипуляций с этой командой, чтобы она очутилась в нужном месте. А именно нужно в левом верхнем окне Дизайнера форм переключиться с вкладки "Элементы" на "Командный интерфейс", а на правом открыть "Команды" -> "Глобальные команды", и в окне "Параметризуемые" отыскать нужную команду и перетащить ее в левое окно в необходимое место. Эту манипуляцию проделать для всех форм, в которых необходимо отображение данной команды.
Но вот чего я так и не понял, так это того, что нафига так было извращаться разработчикам этой конфигурации, когда можно было просто бес всяких заморок сразу в свойствах команды Группа выставить значение "Командная панель формы.Печать". Может тот способ, который применили разработчики несет какие то дополнительные выгоды? Была же видимо причина сделать именно так.