Текущее время: Вт, июл 22 2025, 09:33

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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