Такую же задачу решал на конфигурации 1С:Комплексная автоматизация 2 (2.5.22.99). Так сложилось что у заказчика помимо такой странной хотелки была хотелка в отношении того после которого пункта в меню ввода на основании должен стоять добавляемый нами пункт. Чтобы решить вопрос с последовательностью пунктов мне пришлось уже ломать БСП через коленку добавляемым расширением. Сам пункт то я добавлял штатно, но перехватывал формирование меню в модуле ПодключаемыеКоманды
В
&ИзменениеИКонтроль("ВывестиКоманды")
Процедура ТДП_ВывестиКоманды(Форма, Команды, ПараметрыРазмещения)
между
ПриВыводеКоманд(Форма, ПодключенныеКоманды);
и
Команды.Колонки.Удалить("СочетаниеКлавиш");
был вставлен фрагмент. Приведу окончательный вариант под задачу. Почему окончательный? Сначала был код которым я перемещаю пункт добавленный штатным кодом в нужное место, а потом я осознал что могу в расширении в форме добавить свою команду и переопределить в том же фрагменте штатную кнопку на собственную команду
Если Форма.ИмяФормы = "Документ.ЗаказНаВнутреннееПотребление.Форма.ФормаДокумента" Тогда
СледКоманда = Неопределено;
ТекКоманда = Неопределено;
Для Каждого Команда из Форма.Команды Цикл
Если СтрНайти(Команда.Имя,"ПодменюСоздатьНаОснованииОбычное_") <> 0 Тогда
Если Команда.Заголовок = "Заказ на перемещение" Тогда
СледКоманда = Команда;
КонецЕсли;
Если Команда.Заголовок = "Отбор (размещение) товаров" Тогда
ТекКоманда = Команда;
КонецЕсли;
КонецЕсли;
КонецЦикла;
грПодменю = Неопределено;
Для Каждого Элемент из Форма.Элементы Цикл
Если Элемент.Имя = "ПодменюСоздатьНаОснованииОбычное" Тогда
грПодменю = Элемент;
Прервать;
КонецЕсли;
КонецЦикла;
СледЭлемент = Неопределено;
ТекЭлемент = Неопределено;
Для Каждого искЭлемент из грПодменю.ПодчиненныеЭлементы Цикл
Если искЭлемент.Имя = СледКоманда.Имя Тогда
СледЭлемент = искЭлемент;
КонецЕсли;
Если искЭлемент.Имя = ТекКоманда.Имя Тогда
ТекЭлемент = искЭлемент;
КонецЕсли;
КонецЦикла;
ТекЭлемент.ИмяКоманды = "ТелсиВводНаОсновании";
Форма.Элементы.Переместить(ТекЭлемент,грПодменю,СледЭлемент);
КонецЕсли;