Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема SvcSvc::FilterValue(). Небольшой улучшайзинг. (число прочтений - 5687 )
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
SvcSvc::FilterValue(). Небольшой улучшайзинг.
08. Июля 2013 :: 06:55
Печать  
Коротко: добавлена возможной обратной связи (обновление списка при изменении фильтра); обновление списка не при каждом нажатии клавиатуры, а по таймауту.
Небольшой демо-пример прилагается.

- SetContext(1C_context) - устанавливает контекст, в котором будет вызываться
коллбэк FilterValue_OnFilterChange(стрНовыйФильтр). Для получения COM-объекта
из контекста используестя следующая метода:
Если ПустоеЗначение(стрКонтекст_Объект) = 1 Тогда
     оСистема = СоздатьОбъект("Система");
     //!!! Сериализовать(Контекст) необходимо кэшировать, потому что при повторных сериализациях всё ломается !!!
     стрКонтекст_Объект = оСистема.Сериализовать(Контекст);
КонецЕсли;

WSH = createObject("MSScriptControl.ScriptControl");
WSH.language = "javascript";
//!!! Вот это самая главная фишка !!!
Объект = WSH.Eval("GetObject("""+стрКонтекст_Объект+""")");
     
svcsvc = CreateObject("svcsvc.Service");
svcsvc.SetContext(Объект);    //теперь будет работать коллбэк FilterValue_OnFilterChange()

- AddString(стр), RemoveAll()  - методы для заполнения списка значений, альтернатива
передачи списка одной большой строкой.

- KeyboardTimeout - таймаут, в миллисекундах, для обновления списка по фильтру.
По умолчанию равен 0, и список обновляестя при каждом изменении фильтра.
  

svcsvc-bin.rar ( 41 KB | Загрузки )
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Исходники
Ответ #1 - 08. Июля 2013 :: 06:56
Печать  
Исходники
  

svcsvc-src.rar ( 52 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #2 - 08. Июля 2013 :: 07:26
Печать  
AddString(стр)

это круто
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #3 - 23. Сентября 2013 :: 01:44
Печать  
Было бы круто еще реализовать какое-нить попуп окошко для отображения информации о длительном процессе.
Использую объект в скриптах не в 1С, где нет строки состояния.
И по этому такой функционал требуется.
Как это реализовать пока не знаю.
  
Наверх
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #4 - 23. Сентября 2013 :: 03:07
Печать  
посмотри  http://vxplib.sourceforge.net/
Правда, там все окошки со стилем TOPMOST. Но зато есть исходники, можно под себя переделать.
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #5 - 24. Сентября 2013 :: 08:59
Печать  
ADirks писал(а) 23. Сентября 2013 :: 03:07:
посмотри  http://vxplib.sourceforge.net/
Правда, там все окошки со стилем TOPMOST. Но зато есть исходники, можно под себя переделать.

благодарю!
  
Наверх
IP записан
 
MrDen
Junior Member
**
Отсутствует



Сообщений: 50
Местоположение: Краснодар
Зарегистрирован: 19. Ноября 2008
Пол: Мужской
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #6 - 24. Октября 2017 :: 14:24
Печать  
Добрый день! Спасибо за доработку!

При использовании метода SelectInTree столкнулся с такой ситуацией:
1. Курсор не становится в начало дерева (ветки все при этом раскрыты) при создании формы.
2. При передаче параметра ByVal OnlyItems As boolean=True все равно отображается иконка Box у корневых ветвей и ее можно выбрать.
3. При передаче модификаторов в верхнем регистре нет никакой реакции метода.

Если найдется возможность исправить, то было бы удобнее.

Зато обнаружился и интересный момент: если при передаче корневой ветки в названии указывать "|e" и не переводить строку, то она будет раскрыта и помечена одновременно.
  
Наверх
ICQ  
IP записан
 
David1C
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 16. Февраля 2023
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #7 - 16. Февраля 2023 :: 21:05
Печать  
Последняя версия svcsvc.dll не регистрируется в windows 10 x64. Как поправить?
  
Наверх
 
IP записан
 
nicesc
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Зарегистрирован: 13. Июня 2009
Пол: Мужской
Re: SvcSvc::FilterValue(). Небольшой улучшайзинг.
Ответ #8 - 31. Мая 2023 :: 08:17
Печать  
David1C писал(а) 16. Февраля 2023 :: 21:05:
Последняя версия svcsvc.dll не регистрируется в windows 10 x64. Как поправить?


Надо библиотеки VC поставить, без них система не регистрировала.
Положил в облако:
https://cloud.mail.ru/public/ag9s/PtU75rKqL
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать