Цитата(vadim007 @ 14.08.12, 8:48)
Удалось победить с помощью процедуры ОбработкаВыбораЗначения(..).
Так что получается:
- при работе с подбором для справочников система вызывает процедуру ОбработкаПодбора(..)
- при работе с подбором для журналов система вызывает процедуру ОбработкаВыбораЗначения(..)
Странно...
Не странно. Потому что совсем все не так. Не следует путать "выбор" с "подбором" - это, как говорят в Одессе, "две большие разницы".
При нажатии на кнопку выбора значения срабатывают:
1) ПриНачалеВыбораЗначения - перед началом открытия формы для выбора (стандартной формы списка для агрегатных данных)
2) ОбработкаВыбораЗначения - при завершении выбора (без отказа от выбора).
При программном(!) вызове системной процедуры "ОткрытьПодбор" - открывается указанная в параметрах форма (вообще, в принципе, любая - прикольно, можно даже форму документа открыть или обработки; для агрегатных данных открывается указанная форма списка или стандартная). Если в такой форме списка выполнить выбор - вызывается процедура ОбработкаПодбора модуля формы, из которой был открыт подбор.
В вашем случае "более идеальным" было бы использование следующего приема (прием "подмена штатной формы выбора").
1. Не открывать никаких подборов.
2. В процедуре ПриНачалеВыбораЗначения:
2.1. Обнулить флаг стандартной обработки (второй параметр процедуры).
2.2. Принудительно открыть для выбора нужную форму нужного журнала.\
При этом после выбора система отработает точно так, как будто вы выполнили штатный выбор (не путать с подбором!) - получит выбранное значение "куда надо" и передаст управление в ОбработкаВыбораЗначения.
added:п.2.2. -
"Принудительно открыть для выбора нужную форму нужного журнала" - в смысле программно, тут же, с помощью "ОткрытьФорму" - она откроется в режиме выбогра значения.