Начинаю цикл статей про извращения в 1С 80.
Заказчик потребовал, чтобы в расходной накладной в УПП был новый вид операции - "возврат".
Ну логику работы программы менять не хотелось, добавил флажок флВозврат, который указывает что это возврат, при этом вид операции стоит прежний "ПродажаКомиссия".
Но чтобы угодить заказчику, извращаюсь так - добавляю в поле вид операции новое действие возврат и если пользователь выбирает его, устанавливаю флажок возврат, а вид комиссии оставляю "ПродажаКомиссия".
Изменения затронули три или четыре места в форме. Вот так.
То бишь для заказчика это выглядит как новый вид операции, для программиста - как флажок на возврат с нормальным видом операции.
Новая кнопка вставляется, к примеру, кодом (имитируется объект метаданных):
ТмпМассив=Новый Массив();
ТмпМассив.Добавить(Новый Структура("Имя,Синомим","Возврат","возврат через реализацию"));
УстановитьПодменюВыбораВидаОперации(ЭлементыФормы.ДействияФормы.Кнопки.ПодменюВидаОперации,
ТмпМассив,
Новый Действие("ДействияФормыДействиеУстановитьОперацию"));