abas-ERP (FO-Language)/AJO: Получение обязательных полей экрана

Есть ли какая-либо функция FO или функция AJO для получения обязательных полей, объявленных в редакторе экрана?


person P4JS    schedule 08.04.2016    source источник


Ответы (2)


Насколько я знаю, в ФО такой функции нет. Мне самому понадобилась эта информация некоторое время назад, и я собрал информацию из файла описания экрана xml.

Обязательные поля выглядят так

<erpfield dimX="20" mandatory="yes" s3Name="0:ymyvar"/>

Ваш FOP должен выглядеть примерно так:

.type text xtmask xtsys xtmandatory
.file -TEMPNAME U|xtmandatory
.formula U|xtmask = "screens/screen_" + 'G|evtmaske' + "/" + G|evtmaskprio' + "/*"
.formula U|xtsys  = "grep -ri " + G|dblquote + "mandatory=\" + G|dblquote + "yes\" + G|dblquote + G|dblquote + " " + 'U|xtmask' + " > " + 'U|xtmandatory'
.system 'U|xtsys'

Теперь вы можете перебрать каждую строку файла в xtmandatory и извлечь имя переменной из обязательных полей.

person Alexander Baltasar    schedule 11.04.2016

Базовый протокол EDProtocol не поддерживает такую ​​информацию. См. код запроса GFV.

Так что весьма вероятно, что abas ERP вообще не поддерживает такую ​​функцию, ни в FOP, ни в AJO.

Также следует учитывать, что abas ERP по-прежнему использует старые описания масок. Это означает, что трюк Александра Балтасара сработает не во всех случаях.

И вы должны учитывать, что "feldaustritt" (отпуск на поле) и/или "masken prüfung" (проверка по маске) ​​могут перезаписывать любые "обязательные" флаги.

Так что «обязательный» флаг мне кажется несколько бесполезным.

person stefan bachert    schedule 03.05.2017