Текущее время: Пн, июл 21 2025, 23:23

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Создание скрипта для удаления из списка заказы ТОРО
СообщениеДобавлено: Ср, апр 04 2012, 16:19 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 07 2010, 07:21
Сообщения: 116
Откуда: Astana
Пол: Мужской
Добрый день, коллеги!

Требуется после технического и коммерческого закрытия заказов присвоить статус МТКУ.

Запуская транзу iw38 в селективном экране указываю все необходимые номера заказов.
Выгружается список необходимых заказов.
Далее запуская "наст.лок.форма." - "Запись и воспроизведение скрипта".
Нажимаю записать скрипт, указываю лок. файл.
Выполняю следующие действия для двух первых заказов: проваливаюсь в заказ - заказ-функции-метка удаления - установить.
после запуска скрипта, он выполняет записанные действия только для первых двух заказов.
ВОПРОС: КАК ИЗМЕНИТЬ СКРИПТ, ЧТОБЫ ОН ВЫПОЛНЯЛ ЗАПИСАННЫЕ ДЕЙСТВИЯ ДЛЯ ВСЕХ ВЫБРАННЫХ ЗАКАЗОВ????

Код скрипта:
If Not IsObject(application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
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]/usr/cntlGRID1/shellcont/shell").currentCellRow = 1
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/mbar/menu[0]/menu[8]/menu[13]/menu[0]").select
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").currentCellRow = 2
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/mbar/menu[0]/menu[8]/menu[13]/menu[0]").select

Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание скрипта для удаления из списка заказы ТОРО
СообщениеДобавлено: Чт, апр 05 2012, 09:24 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Ср, окт 05 2005, 12:13
Сообщения: 2032
Откуда: Москва
Пол: Мужской
Ну видимо добавить еще блоки:
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").currentCellRow = 3, потом 4, потом 5 итд
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/mbar/menu[0]/menu[8]/menu[13]/menu[0]").select


А вот сколько блоков добавлять - или сделать цикл по "всем" думаю этот инструмент не умеет.

_________________
Наверное, Боги сошли с ума.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание скрипта для удаления из списка заказы ТОРО
СообщениеДобавлено: Чт, апр 05 2012, 12:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 07 2010, 07:21
Сообщения: 116
Откуда: Astana
Пол: Мужской
Левон написал:
Ну видимо добавить еще блоки:
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").currentCellRow = 3, потом 4, потом 5 итд
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/mbar/menu[0]/menu[8]/menu[13]/menu[0]").select


А вот сколько блоков добавлять - или сделать цикл по "всем" думаю этот инструмент не умеет.


таким методом мне и пришлось воспользоваться, ручками копировать строки и менять номер строки.
такой метод сразу показал на сколько он не эффективен.
захотелось узнать как можно обработать нужной код в цикле.

Неужели в этом языке отсутствуют операторы циклов..??????


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание скрипта для удаления из списка заказы ТОРО
СообщениеДобавлено: Чт, апр 05 2012, 12:55 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Ср, окт 05 2005, 12:13
Сообщения: 2032
Откуда: Москва
Пол: Мужской
В этом да.
Можно, как вариант, использовать или GuiXT или eCATT которые умеют запускать эти скрипты, при этом там можно уже писать свои циклические обработчики.

_________________
Наверное, Боги сошли с ума.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание скрипта для удаления из списка заказы ТОРО
СообщениеДобавлено: Пн, апр 09 2012, 15:50 
Ассистент
Ассистент

Зарегистрирован:
Вт, авг 14 2007, 13:31
Сообщения: 47
Хм... если какая-то разовая задача, то как вариант - запустить SARA с объектом PM_ORDER и проставить на этапе предварительной обработки поставить "галочку" в соответствующем поле экрана.
Не скрипт, конечно же, но метод прекрасно отрабатывает - метка проставляется.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание скрипта для удаления из списка заказы ТОРО
СообщениеДобавлено: Чт, май 31 2012, 12:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 07 2010, 07:21
Сообщения: 116
Откуда: Astana
Пол: Мужской
оказывается ларчик просто открывается:
Visual Basic Scrip это язык программирования сценарий, а в каждом языке существуют циклы ...
соответственно задача решается следующим образом:
Dim x
For x = 0 To 96
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").currentCellRow = x
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
session.findById("wnd[0]/mbar/menu[0]/menu[8]/menu[13]/menu[0]").select
Next


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB