Снегопат https://snegopat.ru/forum/ |
|
Быстрый выбор типа XDTO https://snegopat.ru/forum/viewtopic.php?f=3&t=751 |
Страница 1 из 2 |
Автор: | demon_infernal [ 20 окт 2016, 00:15 ] |
Заголовок сообщения: | Быстрый выбор типа XDTO |
Здравствуйте. Последнее время часто и много приходится работать с XDTO-пакетами, в частности, с корявыми xsd-схемами. И постоянно случается такая ситуация: 1. загружаем в конфигуратор схему XSD. 2. Платформа создает новый пакет XDTO с именем ПакетXDTO1, в котором абы как перечислены свойства и типы. И дальше нужно мышкой клацать на каждое свойство каждого типа и выбирать его тип, зачастую, один и тот же для нескольких полей. А список выбора крайне неудобный, особенно при наличии большого количества различных пространств имен. И очень уж хочется иметь в этом месте такое же окно выбора, как при открытии окна отбора по подсистемам - чтобы со списком последних выбранных и быстрым поиском по вхождению строки. Делать нечего, копирую скрипт ChoseSubSystem.js, исправляю названия классов, заголовок, и упираюсь вот здесь: Код: var form = dlgInfo.form //Message("Сработал думодал"); //debugger; // вот тут не понятно, как понять, какая форма открыта var treeSubSystem = form.getControl('eMDTreeCtrl') var checkParents = form.getControl('eParentCheck') var checkChilds = form.getControl('eChildCheck') Откуда взялись вот эти имена eMDTreeCtrl, eParentCheck, eChildCheck ? Как вы их узнали? Если у кого то более опытного есть интерес к такому скрипту - напишите сами, буду очень благодарен. |
Автор: | orefkov [ 20 окт 2016, 00:24 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
Посмотри https://snegopat.ru/main/wiki?name=%D0% ... %201%D0%A1 Только там ссылка на исправленный derb устарела, бери https://snegopat.ru/downloads/derb-5-7.zip и ICU скачивай 5.7 А может за основу взять type_finder от прошлого снегопата и портировать под реборн? |
Автор: | demon_infernal [ 20 окт 2016, 00:46 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
orefkov писал(а): Посмотри https://snegopat.ru/main/wiki?name=%D0% ... %201%D0%A1 Только там ссылка на исправленный derb устарела, бери https://snegopat.ru/downloads/derb-5-7.zip и ICU скачивай 5.7 А может за основу взять type_finder от прошлого снегопата и портировать под реборн? спасибо за ссылку, посмотрю. я не понял о чем вы, но я только за) |
Автор: | orefkov [ 20 окт 2016, 01:24 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
А, что-то я затупил. Можно просто в цикле перебрать все контролы на форме и для каждого вывести name. Вот так и берём. А type_finder - это вот такой скрипт - https://snegopat.ru/video/type_finder Подобное надо? |
Автор: | demon_infernal [ 20 окт 2016, 01:30 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
orefkov писал(а): А, что-то я затупил. Можно просто в цикле перебрать все контролы на форме и для каждого вывести name. Вот так и берём. У меня очень плохо с яваскриптом, покажите пример кода, пожалуйста. Как обойти циклом все контролы формы, пришедшей мне в dlgInfo ? orefkov писал(а): Конечно надо, это везде надо, в любом месте, где происходит какой либо выбор из длинного списка, или я не прав? |
Автор: | demon_infernal [ 20 окт 2016, 22:03 ] | ||
Заголовок сообщения: | Re: Быстрый выбор типа XDTO | ||
Вроде получилось Скрипт ведет себя так же, как быстрый выбор подсистемы (ибо по сути тем же самым скриптом и является, только "список подсистем" заменен на "список типов XDTO"), при начале выбора типа XDTO появляется форма, в которой есть поиск по строке, и, ради чего, собственно, и затевалось - вверху списка находятся последние выбранные значения (по умолчанию их 5, настраивается в макросе "Настройка"). Лично мне кучу времени сэкономит.
|
Автор: | JohnyDeath [ 21 окт 2016, 12:00 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
Полезная вещь. Тоже мучаюсь каждый раз с этим. В официальный репо бы включить |
Автор: | demon_infernal [ 23 окт 2016, 01:21 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
JohnyDeath писал(а): Полезная вещь. Тоже мучаюсь каждый раз с этим. В официальный репо бы включить Стыдно в официальный репо включать такую сырую поделку, там куски от оригинального скрипта еще внутри, которые не выдавали мне ошибок, поэтому я их и не трогал.. И вобще, объединить бы оригинальный скрипт быстрого выбора подсистемы с этим, сделать некий скрипт "Универсальный выбор чего угодно откуда угодно"... Но сам я не смогу, простите уж. |
Автор: | demon_infernal [ 23 окт 2016, 01:31 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
orefkov писал(а): А type_finder - это вот такой скрипт - https://snegopat.ru/video/type_finder Подобное надо? Безусловно, надо, но 1. В относительно новых версиях платформы при выборе типа объекта уже есть поиск по вхождению строки, пусть и не такой удобный, как дает скрипт, и без запоминания последних вариантов выбора, но он там есть. 2. Касаемо конкретно данной ситуации и данной проблемы, которую скрипт решает - это же по сути не выбор типа объекта метаданных, это выбор типа ХДТО. По сути, просто оптимизация поиска в длинном дереве (даже не в списке, а в дереве). И, мне кажется, что type_finder эту проблему не решит.. ну или решит, если его так написать, что он будет понимать, где выбор типа объекта метаданных, а где выбор типа ХДТО. А какие еще бывают необычные списки выбора? Может, если уж делать, то сразу для всех? |
Автор: | orefkov [ 23 окт 2016, 15:09 ] |
Заголовок сообщения: | Re: Быстрый выбор типа XDTO |
Я в своё время начинал пробовать разработать "универсальный выбиратель", что угодно из чего угодно, но нашлись более приоритетные дела. А так то да, было бы хорошо иметь такую вещь. Например, таблицы и поля в конструкторе запросов. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |