Добрый день. Была похожая разработка. Путём долгой и мучительной отладки определил, что fieldselection_header запускается только для z-полей.
Чтобы закрыть стандартное поле на ввод , использовал метод fieldselection_header_refkeys.
Код примерно такой :
Code:
METHOD if_ex_me_process_po_cust~fieldselection_header_refkeys.
* Если поле zzcrdnr заполнено, то скрываем партнёра
CHECK im_header->get_data( )-zzcrdnr IS NOT INITIAL.
* Подставляем ключ, настроеный на скрытие поля партнёр после всех заполненных ключей
IF ch_key0 IS INITIAL.
ch_key0 = mc_key.
ELSEIF ch_key1 IS INITIAL.
ch_key1 = mc_key.
ELSEIF ch_key2 IS INITIAL.
ch_key2 = mc_key.
ELSEIF ch_key3 IS INITIAL.
ch_key3 = mc_key.
ELSEIF ch_key4 IS INITIAL.
ch_key4 = mc_key.
ELSEIF ch_key5 IS INITIAL.
ch_key5 = mc_key.
ELSEIF ch_key6 IS INITIAL.
ch_key6 = mc_key.
ENDIF.
ENDMETHOD.
Ключ (mc_key) - это ID настройки экрана, задаваемой в SPRO по пути:
управление мат. потоками -> Закупки -> Заказ на поставку -> Определение структуры экрана на уровне документа