На примере поля ZZRTAXOBJ
1. В структуру CI_FAGLFLEX04 добавляете поле ZZRTAXOBJ. Активируете.
2. Проверяете, что таб. FAGLFLEX04 активна, если нужно активируете, если нужно адаптируете через тр. SE14.
3. В настройке "Присвоить сценарии и пользовательские поля регистрам" добавляете в свой регистр (например, 0L) поле ZZRTAXOBJ в разделе "Поля клиентов". Если через настройку нельзя, делаете Z-ракурс ведения для таб. FAGL_CUST_FIELDS и добавляете в нее поле. Должна быть запись типа такой
Code:
888 0L ZZRTAXOBJ PLANK 02.07.2014 00:00:00
4. В таб. FAGL_FIELD_MOVEC добавить запись
Code:
FAGLFLEXT ZZRTAXOBJ ACCIT_GLX ZZRTAXOBJ U90 SHMYTKO 09.05.2007 22:00:32 CI_FAGLFLEX04
Добавить можно через собственный Z-ракурс ведения для этой таблицы.
5. В тр GCX2 - "FI-SL: User Exits, завис.от манданта" для пула GIMV создаете (если не создана) свою программу, например ZGIMVU00. В программе создаете user-exit, например
Code:
FORM E90_MVC USING FROM_FIELD TO_FIELD.
...
CALL FUNCTION 'J_3RF_TAX_SELECT_OBJ_FI'
...
ENDFORM.
Номер user-exit (в данном случае E90_MVC) должен совпадать с указанным в FAGL_FIELD_MOVEC (U90)
6. Активируйте таблицу итоговых записей в тр. FAGL_GINS - "Инсталляция Главной книги", она все перегенерит. На всякий случай запустите программу RGZZGLUX для перегенерации всего и вся.
После этого при проводке документа вызовется ваш код, который с использованием ФМ J_3RF_TAX_SELECT_OBJ_FI (или чисто вашего) определит данные из иерархии и запишет в поле ZZRTAXOBJ нужные данные.
У меня нечто подобное работает.