sapgui захватывает текст из полей только для чтения, не показывается в скрипте - PullRequest
0 голосов
/ 04 июня 2018

sap gui scripting, как вы получаете значение не редактируемого поля, которое не отображается в скрипте!

Код из сценария, который я могу извлечь, выглядит следующим образом!

session.findById("wnd[0]").resizeWorkingPane 175,31,false
session.findById("wnd[0]/usr/tabsTABSTR_2100/tabpTRMN/ssubSUBSCR_2100:SAPLCOKO:2110/cmbCAUFVD-TERKZ").setFocus
session.findById("wnd[0]/mbar/menu[4]/menu[0]/menu[2]").select
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_VBELN").text = ""
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_SCHEDMGR").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_SCHEDULER").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_DSGNMGR").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_DSGNTECH").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/cmbCOCI_AUFK-ZZBAM_FUNCA").key = "DATA"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZBAM_ID").text = "www"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/txtCOCI_AUFK-ZZBAM_VOL").text = "11121"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/txtCOCI_AUFK-ZZBAM_VOL").setFocus
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/txtCOCI_AUFK-ZZBAM_VOL").caretPosition = 5

Поле, которое мне нужно захватить в загруженном снимке экрана1, где написано, что это работает для других третьих лиц!

Я также хотел бы захватить информацию в строке состояния внизу, которая показывает коды успеха или неудачи активности!

! https://imgur.com/a/5CGvbnP

Спасибо

Пит

1 Ответ

0 голосов
/ 05 июня 2018

Такие поля могут быть представлены скриптом следующим образом:

  1. Щелкните мышью на поле только для чтения.
  2. Остановите запись скрипта в данный момент.
  3. Последнее нажатое поле только для чтения находится в последней строке скрипта и может использоваться.

Таким образом, вы также можете прочитать строку состояния.Должно быть следующее: msgbox session.findbyid ("wnd [0] / sbar"). Text

С уважением, ScriptMan

...