| Имеется таблица ракурсов. Количество ракурсов для каждого материала может достигать примерно 20-22 ракурса. Ракурс в таблицу ракурсов добавляется в последовательном порядке, т. е. если первым создан ракурс Основные данные, то Классификация 2 уже нельзя поставить на первую строчку в таблице ракурсов. А мне нужно чтобы скрипт выбирал именно ракурс под названием Классификация 2. Но он не во всех материалах под одной и той же строкой создается. При записи скрипта через SAP GUI Scripting ракурс Классификация 2 был под 19 строчкой в таблице ракурсов, поэтому для остальных материалов скрипт также просматривает 19 строчку. Но не всегда на 19 строчке находится ракурс Классификация 2. Поэтому возникает ошибка и дальнейшая загрузка плановых цен прекращается
 session.findById("wnd[1]/usr/tblSAPLMGMMTC_VIEW").getAbsoluteRow(19).selected = true
 
 Подскажите, пожалуйста (очень нужно), кто знает , как можно исправить код таким образом, чтобы ракурс находился не по строке 19, а по названию ракурса «Классификация 2»?
 
 Вот собственно сам скрипт:
 
 If Not IsObject(connection) Then
 Set connection = application.Children(0)
 End If
 If Not IsObject(session) Then
 Set session    = connection.Children(0)
 End If
 If IsObject(WScript) Then
 WScript.ConnectObject session,     "on"
 WScript.ConnectObject application, "on"
 End If
 '
 'Развернуть основное окно (можно удалить строку)
 session.findById("wnd[0]").maximize
 ' запуск транзакции
 session.findById("wnd[0]/tbar[0]/okcd").text = "MM02"
 'Нажатие клавиши [Enter]
 session.findById("wnd[0]").sendVKey 0
 
 ' запуск Excel
 Set objExcel = CreateObject("Excel.Application")
 Set objWorkbook = objExcel.Workbooks.Open ("C:\Documents and Settings\44kd\Мои документы\sap_script\НСИ\24.06.2013\2 Список материалов без ракурса Калькуляция2.xls")
 
 '1000
 
 intRow = 2
 A="wnd[0]/usr/ctxtIMRG-IDATE"
 
 Do Until objExcel.Cells(intRow,1).Value = ""
 
 ' Указываем № материала
 session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").text = objExcel.Cells(intRow, 1).Value
 
 session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").caretPosition = 8
 session.findById("wnd[0]").sendVKey 0
 session.findById("wnd[0]").sendVKey 0
 session.findById("wnd[1]/usr/tblSAPLMGMMTC_VIEW").verticalScrollbar.position = 8
 
 session.findById("wnd[1]/usr/tblSAPLMGMMTC_VIEW").getAbsoluteRow(19).selected = true
 
 session.findById("wnd[1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT[0,14]").setFocus
 session.findById("wnd[1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT[0,14]").caretPosition = 0
 session.findById("wnd[1]/tbar[0]/btn[0]").press
 session.findById("wnd[1]/usr/ctxtRMMG1-WERKS").text = "1000"
 session.findById("wnd[1]/usr/ctxtRMMG1-WERKS").caretPosition = 4
 session.findById("wnd[1]").sendVKey 0
 
 'Указываем плановую цену
 session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP27/ssubTABFRA1:SAPLMGMM:2000/subSUB3:SAPLMGD1:2952/txtMBEW-ZPLP1").text = objExcel.Cells(intRow, 2).Value
 
 session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP27/ssubTABFRA1:SAPLMGMM:2000/subSUB3:SAPLMGD1:2952/ctxtMBEW-ZPLD1").setFocus
 session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP27/ssubTABFRA1:SAPLMGMM:2000/subSUB3:SAPLMGD1:2952/ctxtMBEW-ZPLD1").caretPosition = 0
 session.findById("wnd[0]").sendVKey 4
 
 'Указываем дату
 session.findById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").selectionInterval = "20130101"
 session.findById("wnd[0]").sendVKey 0
 session.findById("wnd[1]/usr/btnSPOP-OPTION_CAN").press
 session.findById("wnd[0]/tbar[0]/btn[11]").press
 
 intRow = intRow + 1
 
 Loop
 
 '1000
 
 objExcel.Quit
 
 
 
						
							|   |  |