Снегопат https://snegopat.ru/forum/ |
|
Скрипт "Навигатор по метаданным" (mdNavigator.js) https://snegopat.ru/forum/viewtopic.php?f=3&t=138 |
Страница 1 из 10 |
Автор: | JohnyDeath [ 27 фев 2012, 00:34 ] | ||
Заголовок сообщения: | Скрипт "Навигатор по метаданным" (mdNavigator.js) | ||
Решился-таки написать что-то до конца на JScript. Встречайте простейший скрипт "Навигатор по метаданным". Работает примерно также как работал аналогичный скрипт из 7.7, т.е. открывается список объектов метаданных в svcsvc со всеми преимуществами данного объекта: фильтр по подстроке и по нескольким словам (через пробел). За возможный карявость кода и возможные ошибки сильно не ругайте, до этого ничего на js не писал. Критика приветствуется. Я у себя повесил на "ctrl+~"
|
Автор: | orefkov [ 27 фев 2012, 08:00 ] |
Заголовок сообщения: | Re: Работа с метаданными |
JohnyDeath писал(а): Встречайте простейший скрипт "Навигатор по метаданным". Я сейчас добавлю его в репозитарий и дам тебе права на коммиты. Надо дорабатывать! Сходу первые хотелки - на больших конфах список строится долго. Как-то бы кэшировать и обновлять по другому макросу. Фильтрует тоже медленновато. Но это уже к svcsvc скорее вопрос. |
Автор: | JohnyDeath [ 27 фев 2012, 08:14 ] |
Заголовок сообщения: | Re: Работа с метаданными |
Да, дорабатывать там есть куда. Про кэширование тоже сразу хотел сделать, но просто тупо не успел разобраться с тонкостями снегопата и js. Про медленность фильтрации: была мысль убрать из основного списка выбора все формы и ТЧ объектов и добавлять их после выбора конкретного объекта. Так основной список будет заметно меньше и соответственно фильтровать должен быстрее. Но тогда мы теряем в других местах: 1) Для открытия или перехода к конкретной форме нам надо будет тыкаться уже в 3-х списках 2) Ту же форму сразу не найдешь из первого списка, а именно к ним чаще всего и идет обращение (по крайней мере у меня). Про репозитарий даже не знаю. Наверняка у Кунташова есть в заначке более мощная и продвинутая штука по этой теме, ведь именно он делал Навигатор для ОпенКонфа. Может перенести 3 последних поста в новую ветку по теме "навигации"? |
Автор: | kuntashov [ 27 фев 2012, 08:25 ] |
Заголовок сообщения: | Re: Работа с метаданными |
А почему бы не отстраниться от svcsvc и не реализовать список на формах 1С? Это более гибкий вариант, потому что в поле ввода формы 1С можно перехватить событие АвтоПодборТекста и "подгружать" в список выбора необходимые элементы динамически. Алгоритм может быть приблизительно таким: 1. При открытии списка выводить в него только метаданные объектов (константы, справочники, документы и т.п.) 2. При наборе первых символов фильтровать список объектов, и если в списке осталось N объектов, то добавлять в список подчиненные объекты метаданных тех объектов, кто остался в списке (через точку). Конечно же, менее удобно, т.к. нельзя будет набрав "Товары" увидеть в списке все объекты, у которых есть табличная часть с таким именем, но лучше, чем долгая работа. Например, по умолчанию Тогда можно строить с |
Автор: | orefkov [ 27 фев 2012, 08:32 ] |
Заголовок сообщения: | Re: Работа с метаданными |
да, svcsvc фильтрует после каждого нажатия клавиш. Если штатные формы позволяют фильтровать "с задержкой", имхо этого уже будет достаточно. |
Автор: | JohnyDeath [ 27 фев 2012, 08:37 ] |
Заголовок сообщения: | Re: Работа с метаданными |
Изначально я начал делать в направлении использования формы скрипта и деревом с полем ввода. Но для меня было очень важным фильтрация по подстроке и по нескольким словам (через пробел). Например до формы элемента справочника Контрагенты я могу дойти вот такой подстрокой: "Контр элем" |
Автор: | orefkov [ 27 фев 2012, 08:42 ] |
Заголовок сообщения: | Re: Работа с метаданными |
JohnyDeath писал(а): Но для меня было очень важным фильтрация по подстроке и по нескольким словам (через пробел). Так вроде обработка события АвтоПодборТекста и позволяет полностью кастомзировать поведение. |
Автор: | JohnyDeath [ 27 фев 2012, 08:45 ] |
Заголовок сообщения: | Re: Работа с метаданными |
Сомневаюсь что будет быстрее svc, но попробую, как будет свободное время. |
Автор: | orefkov [ 27 фев 2012, 08:53 ] |
Заголовок сообщения: | Re: Работа с метаданными |
Еще раз - фишка в том, что svcsvc фильтрует после каждого нажатия. А тут можно организовать фильтр как в ТП в 1С++ - после окончания набора. Т.е. если в svcsvc набираешь "Товар", то там 5 раз будет весь список фильтроваться, а это не надо, достаточно один раз. |
Автор: | JohnyDeath [ 27 фев 2012, 09:02 ] |
Заголовок сообщения: | Re: Работа с метаданными |
Почему ж не надо? Как раз-таки возможно и не все слово "ВзаиморасчетыСАгентамиПоПериодамВРазрезеЧегоНибудь" придется набирать, а только три/две/пять букв |
Страница 1 из 10 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |