Раскрашивание текста запроса

Опубликовал Евгений Люлюк (Evg-Lylyk) в раздел Программирование - Инструментарий

Пример раскрашивания текста запроса
Производит раскрашивание аналогично конструктору запросов 8.х
Две обработки для платформ 8.1, 8.2

Обработка преобразует строку текста запроса

Например:

 ВЫБРАТЬ
    1,2, &Параметр,
    1 КАК Поле1 // Поле1
ГДЕ
    1 = 1
    И &Параметр ИЛИ "СТРОКА" = "СТРОКА"

в форматированную строку HTML (вставляя нужные тэги для раскраски текста)

 

 ВЫБРАТЬ
1,2, &Параметр,
1 КАК Поле1 // Поле1
ГДЕ
1 = 1
И &Параметр ИЛИ "СТРОКА" = "СТРОКА"

Обработка будет полезна для вставки текста в раскрашенном виде в статьи, сообщения и т.д.. В платформе 8.2 вообще нет раскраски текста запроса так что можно использовать для консоли 8.2.

p.s. Сделано все средствами 1С 8.х + Регулярные выражения (RegExp)

Буду благодарен если кто подскажет по оптимизации получения отформатированного HTML и функции разбора запроса на части

 

Скачать файлы

Наименование Файл Версия Размер
РаскраскаТекстаЗапроса82.epf
.epf 11,07Kb
22.04.10
173
.epf 11,07Kb 173 Скачать
РаскраскаТекстаЗапроса81.epf
.epf 10,84Kb
22.03.10
49
.epf 10,84Kb 49 Скачать

См. также

Комментарии
1. Евгений (wirg) 07.12.09 12:50 Сейчас в теме
2. Дмитрий Глеков (glek) 111 07.12.09 13:09 Сейчас в теме
3. Герман (German) 924 07.12.09 14:53 Сейчас в теме
Да 1 мил раз. Писали раскраску встроенного языка, а о запросах никто не подумал.
подскажет разбор запроса на части

В Ei работает на GoldParser.
4. Игорь Исхаков (Ish_2) 961 07.12.09 15:21 Сейчас в теме
5. Артур Аюханов (artbear) 855 07.12.09 16:06 Сейчас в теме
(3)+ ГолдПарсер вроде бы также юзается в подсистеме ИР от TormozIt, если я не ошибаюсь.
6. Герман (German) 924 07.12.09 16:35 Сейчас в теме
(5) да словарь одинаковый (почти), но системы разбора различаются. В Ei основе запроса SQL можно получить запрос 1С (детализация выше)
7. Евгений Люлюк (Evg-Lylyk) 1998 07.12.09 17:14 Сейчас в теме
(3) Gold Parser пробовал еще давно, но обнаружил что не все конструкции корректно отрабатывает (пробовал на коде из ИР), а разбираться тяжело. Плюс его нужно регистрировать (напугало количество комментариев про регистрацию GoldParser) так что я к этому решению не возвращался.
8. Герман (German) 924 07.12.09 17:30 Сейчас в теме
(7) :!:
но обнаружил что не все конструкции корректно отрабатывает (пробовал на коде из ИР)

с тех пор многое изменилось
так что я к этому решению не возвращался
но это пока единственное рабочее
на RegExp убится можно ... смотря какая детализация нужна, если тупо показать вложенный запрос тогда и RegExp пойдет, а если поля разбирать ... то тут только GoldParser 8-)

9. Ярослав Радкевич (WKBAPKA) 200 07.12.09 18:31 Сейчас в теме
чито то у меня не открывается эта обработка ваще в 8.2...
10. Ярослав Радкевич (WKBAPKA) 200 07.12.09 18:36 Сейчас в теме
короче, в сконвертированной базе из 8.1 открываться не будет, открывается только если с нуля конфигурация написаная...
11. Андрей Скляров (coder1cv8) 3283 08.12.09 12:14 Сейчас в теме
Позанудствую немного )
Кавычки внутри строки не понимает, т.е. сдвоенные кавычки:
" строка с "" кавычкой "
12. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 12:38 Сейчас в теме
(8) разбор полей пока был не нужен. Было бы желание разбор полей примитивен.
(9) даже не знаю что сказать :)
(11) Спасибо. Должно работать (отрабатывал этот вариант), проверю.
13. Ярослав Радкевич (WKBAPKA) 200 08.12.09 13:33 Сейчас в теме
все же странно, я установил галочку "Управляемое приложение", но обработка не открывается. Открывается только в созданной пустой базе... к чему бы это?
14. Герман (German) 924 08.12.09 15:15 Сейчас в теме
(12)
Было бы желание разбор полей примитивен.

О :!: правда :?:
Выбрать 1 В (Выбрать Выразить(Истина как Число(1,0))) как Поле1
15. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 15:49 Сейчас в теме
(14) :D правда, а что там такого?
16. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 15:51 Сейчас в теме
(14) 15+
если тема интересна могу сделать разбор выражений на 1С типа 1+Х / 7 *(43-5) с функциями. Интересно?
17. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 15:59 Сейчас в теме
(13) даже не знаю делал на платформе 8.2.9.356
18. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 16:05 Сейчас в теме
(13) 17+ версия для 8.2 сделана на управляемых формах
19. Герман (German) 924 08.12.09 16:14 Сейчас в теме
(15) я к тому что разбор поля сложнее разбора запроса... только потому что запрос может входить в поле(а его тоже разбирать нужно). 8-)
20. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 16:17 Сейчас в теме
(19) Я с тобой согласен. Я про то что многих задач не нужно (обязательно) разбирать поля.
21. Евгений Люлюк (Evg-Lylyk) 1998 08.12.09 16:45 Сейчас в теме
(11) поправил ситуацию с "строк""а"
22. Сергей Лунев (luns) 08.12.09 21:13 Сейчас в теме
(19) А где твоя версия, которая это делает?
Нету? :D Жаль...
Значит будем юзать это... ;)
23. Герман (German) 924 09.12.09 09:25 Сейчас в теме
24. Сергей Лунев (luns) 09.12.09 09:27 Сейчас в теме
(23) Что то ссылка не открывается. :(
25. Евгений Люлюк (Evg-Lylyk) 1998 09.12.09 14:50 Сейчас в теме
(23) напиши подробней что и как там сделать чтобы получить аналогичный результат
26. Яков Коган (Yashazz) 1987 10.12.09 00:37 Сейчас в теме
О! То самое, на что у меня времени не хватило... Полезное начинание.
27. Александр Хомяк (logarifm) 963 10.12.09 10:35 Сейчас в теме
Я ничего не ставлю запросы не нужно раскрашивать - но это мое ИМХО, м.б. это дело привычки смотреть на текст
28. Евгений Люлюк (Evg-Lylyk) 1998 10.12.09 11:03 Сейчас в теме
(27) Раскраска кода применяется везде... понятно что можно без нее обойтись, но с ней как то легче воспринимать информацию;)
29. Трактор Трактор (Трактор) 1112 25.03.10 11:31 Сейчас в теме
Что-то обработка для 8.2 виснет :-(
30. Евгений Люлюк (Evg-Lylyk) 1998 25.03.10 12:02 Сейчас в теме
(29) :o На 8.2. делал на движке 8.2.10.73
31. Трактор Трактор (Трактор) 1112 25.03.10 13:08 Сейчас в теме
Проверял на 8.2.10.77 в виндовой клиент-серверной версии.
32. Евгений Люлюк (Evg-Lylyk) 1998 25.03.10 13:25 Сейчас в теме
(31) даже не знаю... сейчас проверить не могу все работало клиент сервер так вообще негде проверить