Снегопат

Обсуждение Снегопата
Текущее время: 28 апр 2024, 00:03

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




Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 03 июл 2012, 12:18 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Саш, я всегда рядом :) просто некогда скриптами заниматься :(

У меня проблема по первой задаче - открыть окно хранилища и вызвать команду Отбор с установкой нужного переключателя.
Не могу вызвать команду Отбор.
Следующий код при активном окне хранилища
Код:
SelfScript.self['macrosАнализ объектов формы'] = function() {
    view = windows.getActiveView();
    if (!view) return false;
    dlgInfo = view.getInternalForm() ;
    form = view.getInternalForm() ; //dlgInfo.form
   
      Message(dlgInfo.Caption);
      // Пример перебора контролов на форме
      //Message("HWND = 0x" + dlgInfo.form.hwnd.toString(16));
      for(var c = 0; c < form.controlsCount; c++)
      {
         var ctr = form.getControl(c)
         Message(ctr.name + ",   " + ctr.id + ",   " + ctr.value)
      }
    return true;
}

выдает трассировку
Цитата:
CmdBar, 1, undefined
DepotTree, 2, undefined

CurrentUserStatic, 7, Текущий пользователь:
CurrentUser, 8, Отладка
PathStatic, 9, Хранилище:
Path, 10, W:\ХранилищеКонфигураций_82\База_2012

в итоге ничего не могу сделать :(
ни запустить команду, ни к меню подключиться.
Может быть, посмотришь все-таки и научишь Снегопат разбирать такие формы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 03 июл 2012, 12:25 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Ну, в принципе значения вроде уже почти для всех контролов можно устанавливать, осталось научиться на кнопки нажимать и команды посылать.
Покопаю в этом направлении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 03 июл 2012, 12:27 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
А, ну еще итератор деревьев/таблиц надо бы сделать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 03 июл 2012, 12:28 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
orefkov писал(а):
Ну, в принципе значения вроде уже почти для всех контролов можно устанавливать.

А как же лог
Цитата:
CmdBar, 1, undefined
DepotTree, 2, undefined

т.е. мы не можем получить данные по контролам, ведь они точно есть на форме.
Т.е. нужно:
1. получать данные по все контролам - деревья (?табличное поле), командная панель, что еще не умеем получать ?
2. отправлять команды форм
3. ловить команды форм
4. нажимать кнопки - если научимся отправлять команды, то наверное, решится автоматом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 07 ноя 2012, 11:16 
Не в сети

Зарегистрирован: 02 ноя 2012, 08:40
Сообщения: 11
А можно еще и макросик обратно на помещение объекта в хранилище...? %)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 07 ноя 2012, 12:15 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
galich писал(а):
А можно еще и макросик обратно на помещение объекта в хранилище...? %)

Держи
Код:
SelfScript.self['macrosПоместить объект в хранилище'] = function() {

    try{ //иногда вылетают странные исключения :( при работе с элементами форм
        view = windows.getActiveView();
        if (!view || !view.mdObj || view.mdObj.container != metadata.current) return false;
       
       
        res1 = view.mdObj.activateInTree();
       
        isEventConnected = true

        res = stdcommands.CfgStore.StoreIntoCfgStore.send() // true если успешно

    }catch(e)
    {
        Message("Ошибка : " + e.description)
    }

    return true;
}

Добавить в файл CfgStore, код и будет макрос. Список команд можно посмотреть в core/std/scripts/2_commands.js

upd.: можешь даже взять готовый файл из http://snegopat.ru/scripts/artifact/1b722b873e0a8575108ff616e6674a427492f9aa я случайно закоммитил его в тестовой ветке.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 22 ноя 2012, 15:24 
Не в сети

Зарегистрирован: 02 ноя 2012, 08:40
Сообщения: 11
А можно макрос на помещение в хранилище сделать в основной ветке скрипта? И повесить на Ctrl+Alt+Shift+T :)
Удобная штука.
Плюс еще пожелание: если активно окно конфигурации, чтобы загружался/помещался в хранилище уже выделенный элемент, а то сейчас в таком случае происходит скачок на самый верх и захват конфигурации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 23 ноя 2012, 10:45 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
galich писал(а):
А можно макрос на помещение в хранилище сделать в основной ветке скрипта? И повесить на Ctrl+Alt+Shift+T :)
Готово. На сочетание клавиш думаю сам настроишь.
galich писал(а):
Плюс еще пожелание: если активно окно конфигурации, чтобы загружался/помещался в хранилище уже выделенный элемент, а то сейчас в таком случае происходит скачок на самый верх и захват конфигурации.
Я пока не знаю, как определить активно у нас окно конфигурации или же объекта конфигурации. Надо экспериментировать с перебором окон в конфигураторе, но у меня пока нет времени. Возможно позже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 23 ноя 2012, 13:49 
Не в сети

Зарегистрирован: 02 ноя 2012, 08:40
Сообщения: 11
Пасиба :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автодействия в окне Хранилища
СообщениеДобавлено: 23 ноя 2012, 15:52 
Не в сети

Зарегистрирован: 12 ноя 2012, 17:51
Сообщения: 160
А реально ли анализировать содержание окна хранилища?
Объясню зачем. В скрипте есть мега полезная фича, которая устанавливает галочку "Рекурсивно".
Так вот, было бы круто, если бы в случае захвата только корню конфигурации она не устанавливалась по умолчанию.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 8  След.

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


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

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB