Имя: Пароль:
1C
1С v8
Инструменты разработчика. Конструктор запроса
,
0 TormozIT
 
гуру
25.01.14
11:16
Продолжаю серию пиаров подсистемы "Инструменты разработчика" =)
Где то пол года назад я написал собственный конструктор запроса и все это время шла его отладка и доработка. Теперь кажется он достиг неплохого уровня качества.

Как выглядит в нем огромный запрос из ЗУП примерно 3200 строк можно увидеть здесь
http://forum.infostart.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=376720

Подробнее фичи описаны здесь
http://devtool1c.ucoz.ru/index/konstruktor_zaprosa/0-38

Кратко о главном.
- Пока не поддерживает расширение языка запросов для построителя и компоновки (этот текст выбрасывается при анализе)!
- Его использование включается в настройках компоненты "Контекстная подсказка"
- Поддержка звездочек как на входе так и на выходе
- Поддержка комментариев
- Открывает любые синтаксически правильные тексты, а штатный открывает только синтаксически и логически правильные тексты
- Поддержка синтаксиса различных диалектов/СУБД
- Опциональные автогруппировки
- Установка псевдонимов для полей всех выборок объединения, а штатный только у первой
- Естественно везде работает контекстная подсказка
- В редакторе выражения показываются вложенные запросы с возможностью открытия их в своем конструкторе
- Вложенный запрос можно выносить во временную таблицу
- Любую таблицу можно преобразовать в подзапроc
1 pumbaEO
 
25.01.14
11:27
в УФ будет работать? :)
2 pumbaEO
 
25.01.14
11:28
Можно как-то внешние метаданные передать? Т.е. есть пустая база с инструментами разработчика, вызвать конструктор запроса не для текущей базы данных, а для внешней?
3 NcSteel
 
25.01.14
11:31
(2) Геморой лечить через горло?
4 pumbaEO
 
25.01.14
11:32
(3) не умеешь не берись. Если получиться сделаю вызов конструктора запросов из конфигуратора.
5 TormozIT
 
гуру
25.01.14
11:32
(2) Ну вроде бы для баз 1С разумнее запускать в таком случае мобильный вариант инструментов. Возможности использовать внешние метаданные 1С нет.
6 pumbaEO
 
25.01.14
11:34
(5) я хотел из конфигуратора...
7 TormozIT
 
гуру
25.01.14
11:36
(1) Вопрос не совсем понятен. Если он про управляемое приложение, то работать будет только в толстом клиенте.
8 pumbaEO
 
25.01.14
11:37
(7) спрашивал про тонкий. Понятно.
9 NcSteel
 
25.01.14
11:42
(4) Мда..... не искоренить велосипедостроение на руси.
10 vde69
 
модератор
25.01.14
11:42
самый главный вопрос - комментарии в запросе поддерживаются?

собственно встроенному не хватает только 2х вещей
1. комментарии
2. звездочки

ну если по чесноку - то звездочки это зло, а вот коменты в запросах нужны...
11 NcSteel
 
25.01.14
11:45
(10) Еще "Имеющие" ))) А так действительно всего хватает.
12 TormozIT
 
гуру
25.01.14
11:46
(8) Т.к. компонента GoldParser является 32-битной, то она не работает внутри 64-битных процессов. Поэтому на сервере приложений, который в подавляющем большинстве случаев является 64-битным, даже при моем желании переписать все управляемую формы не получится парсить текст запроса моим методом. Есть правда альтернативные решения, но они еще более глубокой переработки потребуют и результативность их под сомнением.
13 TormozIT
 
гуру
25.01.14
11:47
(10) Я ж вроде написал в (0) "Поддержка комментариев" и "Поддержка звездочек как на входе так и на выходе". Или ты имеешь ввиду что то другое?)
14 vde69
 
модератор
25.01.14
11:50
(13) ну не внимательно читал :)

на самом деле вещь наверно будет востребована частью народа (хотя лично я ее и пробовать не буду, штатного в общем хватает)
15 zladenuw
 
25.01.14
11:58
(0)автору спасибо :) хоть кто то, делает что то для разрабов :)
16 oleg_km
 
25.01.14
12:12
(15) А Orefkov?
17 Jolly Roger
 
25.01.14
13:44
(0) пора уже книжку по инструментам выпускать...
18 TormozIT
 
гуру
25.01.14
14:11
(16)  Орефков в свое время сделал тоже очень много бесплатно. Кстати именно он меня вдохновил. Но сейчас он обеспечивает разработчиков уже в основном платными инструментами =) Для многих это барьер, отчасти даже психологический.
19 dervishsy
 
25.01.14
14:29
(0) Спасибо за это. Хоть и редко пользуюсь инструментами но штука приятная. Скриншот сразу взрывает мозг.)))) Нужно будет разобраться, думаю оно того стоит.
20 mikeA
 
25.01.14
14:48
(0) вот если бы всё это, да без изменения конфигурации...
21 TormozIT
 
гуру
25.01.14
18:56
(20) Попробуй мобильный вариант инструментов http://devtool1c.ucoz.ru/load/mobilnye_instrumenty_razrabotchika_dlja_1s_8_2/1-1-0-6
22 artbear
 
25.01.14
20:23
Вещь обалденная.
23 artbear
 
25.01.14
20:31
(2) Женя, у Сергея в справке написано:
"Поддержка извлечения метаданных (доступных таблиц и их полей) через API

ADO
WMI"
Может быть, нам подойдет?
24 TormozIT
 
гуру
25.01.14
20:37
(23) Нет. Внешние метаданные используются очень ограничено (там же только примитивные типы значений), т.е. никаких плюсиков не будет в доступных полях и подсказка не будет через точку от поля показывать и т.д.. В итоге убивается много удобств и теряется смысл юзать мой конструктор вместо штатного.
25 Sorm
 
25.01.14
20:43
(0) Ты уже где-нить мануал напиши по инструментам, а то функционала уже столько, что и ставить страшновато:)
26 TormozIT
 
гуру
25.01.14
20:59
(2) Заюзать ИР из снегопата предлагаю так. Нужно на лету поддерживать (синхронизировать) служебную базу по конфигурации, являющейся копией редактируемой в конфигураторе основной конфигурации с пустыми модулями и очищенными ссылками на методы. В снегопате звать COM объект v8*.application и работать с ним через мобильный ИР.
27 IamAlexy
 
25.01.14
21:02
(0) жуть жутчайшая..
проще забить, чем с этим инструментом разбираться..

http://yadi.sk/d/3Pm7WbktGhh7K

капец..
интересно, на разрешении отличном от 100500 х 100500 и в УФ оно вообще как?
28 TormozIT
 
гуру
25.01.14
21:08
(27) Согласен, что интерфейс сложнее чем в штатном конструкторе и потому не требовательным к функциональности инструмента разработчикам разумнее использовать штатный конструктор. Здесь традиционно приходится выбирать между эргономичностью и функциональностью. Некоторые операции в моем конструкторе по этой причине даже будут выполняться за большее число операций ввода пользователем.

В подсистеме нет ни одной УФ.
29 TormozIT
 
гуру
25.01.14
21:10
(28) Хотя про УФ все же приврал =) Одна легкая УФ все же есть.
30 IamAlexy
 
25.01.14
21:12
(29) а как разрабатывать разработчику для актуальных конфигураций БП там и УТ ? да и ЗУП уже подтянулся с ЕРП...
31 TormozIT
 
гуру
25.01.14
21:19
(30) Если речь использование подсистемы в конфигурациях, с основным режимом запуска "Управляемое приложение", то она уже давно ограниченно поддерживается.
Ограниченно потому, что конфигурации на базе БСП в некоторых отношениях не поддерживают работу в режиме обычного приложения. Вот полезная информация на эту тему http://devtool1c.ucoz.ru/forum/2-153-1
v8: О поддержке толстого управляемого клиента подписками на события БСП

Из описания подсистемы http://devtool1c.ucoz.ru/index/opisanie_podsistemy/0-4
Поддерживаются режимы запуска клиента 1С

    толстый клиент обычное приложение (основной режим)
    толстый клиент управляемое приложение c установленным свойством конфигурации "Использовать обычные формы в управляемом приложении"
    на стороне сервера доступно использование некоторых программных отладочных функций

Конфигурации под управляемое приложение часто вполне работоспособны и в режиме обычного приложения. У таких конфигураций установлен основной режим запуска "Управляемое приложение". Однако вы можете запустить для них обычное приложение любым их вариантов

    указав параметр командной строки /RunModeOrdinaryApplication
    установив пользователю базы свойство "Режим запуска" =  "Обычное приложение"
32 TormozIT
 
гуру
25.01.14
21:30
(27) Кстати рекомендую посмотреть на то, как выглядит тот же самый запрос в штатном конструкторе
http://infostart.ru/upload/iblock/cef/шот1.png
(взято из публикации http://infostart.ru/public/248559/). Не правда ли не смотря на "ужас" моего конструктора, он выглядит намного более информативно?
33 TormozIT
 
гуру
26.01.14
21:11
В мобильном варианте собственный конструктора запроса открывался очень долго. Эта проблема уже исправлена в новый версии 3.03.2
34 mikeA
 
26.01.14
21:31
(21) спасибо, попробую
35 TormozIT
 
гуру
27.01.14
09:42
В следующей версии подсистемы 3.04 уже будет реализовано распознавание текста расширений языка запросов 1С с привязкой к структуре запроса, т.е. не будет происходить потери текста в фигурных скобках.
36 also
 
27.01.14
15:54
TormozIT, в связи с этим http://v8.1c.ru/o7/201401query/index.htm мы наверное ждем вот вот релиз ИР под тонкого клиента? )))
37 TormozIT
 
гуру
27.01.14
16:45
(36) Релиза ИР даже под управляемые толстые формы не будет в ближайшем будущем, т.к. там нет подсветки синтаксиса языка запросов.
Под тонкие управляемые формы еще не будет потому, что GoldParser.dll не работает в 64-битном режиме. Хотя тут можно было бы через COM-суррогат (в отдельном 32-битном процессе) запускать ее, но это потребует относительно сложной установки.
38 also
 
27.01.14
16:50
(37) ну да, через Com обертку же можно
39 also
 
27.01.14
16:51
а подсветку на html не реально сделать?
40 TormozIT
 
гуру
27.01.14
17:00
(39) Я это делать пока не планирую. В принципе сделать наверное реально. Но трудозатраты здесь кажутся значительными.
41 be-may
 
29.01.14
08:59
(0) очень крутая штука. давно пользуюсь - спасибо огромное и низкий поклон за ваш труд.
--
Но, конечно, не хватает мануала. Многие "фишки" открыла для себя случайно или "старшие" товарищи подсказали.
42 EvgeniuXP
 
29.01.14
09:05
(41) так делились бы сами с фишками :), ждут только описание автора...
43 Cerera
 
29.01.14
09:09
(0)а как установить этот конструктор себе? У меня уже установлены ИР. нужно обновить их по инструкции?
44 be-may
 
29.01.14
09:14
(43) ??
еще разочек мысль сформулируйте. реально : 3 раза перечитала - не поняла.
45 TormozIT
 
гуру
29.01.14
09:32
(43) Для использования конструктора запросов (0) нужно установить версию инструментов 3.03+ и внимательно прочитать хотя бы первые 2 строки описания конструктора, ссылка на которое указана в (0).
46 be-may
 
29.01.14
10:46
(45) при попытке вызова синтакс-помощникаИР - 1С вылетает.
// 8.2.19.83, ИР 3.03 или лучше не сюда писать ?
47 TormozIT
 
гуру
29.01.14
11:04
(46) По этой проблеме лучше создать тему на форуме сайта подсистемы.
48 Cerera
 
29.01.14
14:08
(0)Одно не могу найти - где просматривать значения временных таблиц после выполнения пакетного запроса?
49 КРТЩ
 
29.01.14
14:41
(48)кинь запрос в консоль кода
50 Cerera
 
29.01.14
14:54
(49)на панели нет такого "консоль кода"
51 vhl
 
29.01.14
15:10
(0) Адский ад с трильоном кнопочек из которых 99% НИКОГДА не будут использоваться обычными разработчиками.
Единственно вижу удобство формирования подзапросов, но ради этого ставить комбайн смысла нет. Плюс в штатном все баги известны, а тут еще на своей шкуре все отлаживать придется
52 TormozIT
 
гуру
29.01.14
15:17
(51) Действительно, кнопочек много и они снижают юзабилити. Однако кому то они пригодятся. Я делал те, кнопочки (функции) которые мне когда либо требовались для решения трудовых задач.

Про баги логичное замечание, но оно применимо к любому новому альтернативному инструменту.
53 TormozIT
 
гуру
29.01.14
15:24
(48) Можно выполнять пакетный запрос в пошаговом режиме, т.е. поочередно каждый запрос пакета в режиме структурного редактирования текста запроса. Удобной возможности просматривать все созданные в пакете временные таблицы пока нет, есть только последнего запроса. Ее планируется добавить в будущем.
54 TormozIT
 
гуру
29.01.14
15:26
(53) Плюс в режиме структурного редактирования текста запроса можно удобно выводить содержимое любой временной таблицы, использованной в запросе в качестве источника данных, двойным кликом по ней.
55 mrbus
 
30.01.14
10:33
По крайней мере некоторые возможности весьма полезны.
А это: v8: Новый конструктор запросов как, не смотрел еще?
56 Адинэснег
 
30.01.14
10:35
для семерки лучше б чего-нить легкоперевариваемое запилили...
57 TormozIT
 
гуру
30.01.14
10:50
(55) Где его можно посмотреть?
58 vyaz
 
30.01.14
11:05
(0) Это отчет по налогам и взносам я так понимаю. Запрос на самом деле там примитивен, а в штатеом конструкторе просто неудобственно смотреть перечень таблиц на правой вкладке (но он особо и не нужен). Поддержу (27) жуть жутчайшая..
Интерфейс черезчур перегружен.
59 КРТЩ
 
30.01.14
11:16
(50)блин, ну не знаю как еще написать тебе
кнопка называется "Консоль кода (ИР)"
если мне надо посмотреть пакеты, то кидаю запрос туда, ручками прописываю параметры, и все временные таблицы там видны
60 КРТЩ
 
30.01.14
11:17
TormozIT, нормальный интерфейс, практически все используется, сама подсистема просто сказка
61 TormozIT
 
гуру
30.01.14
11:17
(58) Поддержу в очередной раз. Интерфейс перегружен. Особенно при первом взгляде на форму. Но решалась в первую очередь задача предоставления максимум возможностей и повышения наглядности представления информации. После реализации всех задуманных функций уже можно будет заняться и улучшением интерфейса.
62 КРТЩ
 
30.01.14
11:18
(60) + знаешь чего сильно не хватает? В консоли кода надо контекстные подсказки прикрутить и тогда можно ваще конфигуратор не открывать, ну и не мешало бы все это на УФ сделать - ну да ладно
63 TormozIT
 
гуру
30.01.14
11:19
(62) Исполняю. Проверяй.
64 КРТЩ
 
30.01.14
11:21
(63) вау! ща разгребу текучку и проверю
65 TormozIT
 
гуру
30.01.14
11:22
(64) Ты бы почитал сначала описание то http://devtool1c.ucoz.ru/index/konsol_koda/0-8
А то все просят мануал, а сами даже мини описание не читают...
66 КРТЩ
 
30.01.14
11:37
(65) не просил мануал, если чета мне неясно я сам читал на сайте. как раз у меня задачка нарисовалась чтоб проверить эту приблуду. отпишусь ближе к вечеру о юзабельности
67 TormozIT
 
гуру
31.01.14
08:14
(48) (50) (59)
По своему выполнить запрос в консоли запросов подсистемы, например методом ВыполнитьПакет(), и поработать с его результатом можно вызовом консоли кода на закладке обработчика "Перед выполнением запроса"
http://f-page.ru/lfp/s005.radikal.ru/i210/1401/94/ecdedf59444f.jpg/htm
68 КРТЩ
 
31.01.14
10:52
Вчера качнул обновление. Поставил на демку. Режим толстый клиент обычное приложение, 8.3.4

в  ирОтладка есть ссылка на

ирНеглобальный.ПолучитьТекстИзБуфераОбменаОСЛкс();

а сам ирНеглобальный отсутствует
69 КРТЩ
 
31.01.14
10:55
(68) + клиент серверная ИБ сервер х64
70 TormozIT
 
гуру
31.01.14
10:56
(68) На странице загрузки http://devtool1c.ucoz.ru/load/1-1-0-1 написано
"После обновления с версий 3.00 и ниже, если подсистема не ставилась на поддержку, то нужно удалить общий модуль ирОтладка."
71 КРТЩ
 
31.01.14
11:22
упс, сорри, не читал
72 aka MIK
 
31.01.14
11:25
(0) Круто, но юзабельно ли?
73 КРТЩ
 
31.01.14
11:32
(72) ты че? я уже года три юзаю
74 TormozIT
 
гуру
31.01.14
11:35
(73) Человек спрашивает про предмет темы, а не про подсистему в общем.
75 TormozIT
 
гуру
10.02.14
09:04
В версии 3.04 реализована поддержка расширений языка запросов для построителя и компоновки, исключая пока характеристики.
76 КРТЩ
 
10.02.14
13:53
(75) обновился, ошибки стали вылезать. откатил на предыдущую версию, так и не поюзал контекстную подсказку - печалька
77 TormozIT
 
гуру
10.02.14
15:56
(76) Не поделишься описанием ошибок то и заодно версией на которую обновился?
78 TormozIT
 
гуру
10.02.14
15:58
(76) А контекстную подсказку почему не поюзал? Если откатился на другую версию и все равно не смог ее поюзать, то получается там нет контекстной подсказки?
79 КРТЩ
 
10.02.14
16:11
(78) нету - у меня старая версия, еще 2 с чем то там. новую качнул обновился, конструктор не открывается, консоль кода не открывается - аларм и там и там, а надо быстро как обычно - вот и не поюзал - сам жалею
80 TormozIT
 
гуру
10.02.14
17:27
(79) Что за "аларм" то?
81 TormozIT
 
гуру
10.02.14
17:32
(79) Подозреваю, что ты так и не прошел (70), но почему то не признаешься.
82 КРТЩ
 
11.02.14
11:16
(81) - щас разгребу текучку и попробую по новой. по резалту отпишусь обязательно
83 TormozIT
 
гуру
14.02.14
15:02
(82) Ну что все разгребаешь? =)
84 КРТЩ
 
14.02.14
16:33
(83) ща попробую на "чистую" последний релиз поставить
85 КРТЩ
 
14.02.14
16:58
(80) взял чистую демку, поставил через сравнение объединение ПОДСИСТЕМА ИНСТРУМЕНТЫ РАЗРАБОТЧИКА 1С 8.2 V3.04
модуля ирОтладка не наблюдал - то есть (70) незачем

аларм такой

Ошибка инициализации модуля: Обработка.ирИнтерфейснаяПанель.Форма.Форма.Форма
по причине:
{ОбщийМодуль.ирОбщий.Модуль(13317)}: Метод объекта не обнаружен (ПолучитьОбщуюКартинкуЛкс)

Ошибка инициализации модуля: Справочник.ирАлгоритмы.Форма.ФормаЭлемента.Форма
по причине:
{ОбщийМодуль.ирОбщий.Модуль(9071)}: Метод объекта не обнаружен (ПолучитьМенеджерТипаМетаданныхЛкс)

ну и так далее по панельке

ЧЯДНТ?
86 КРТЩ
 
14.02.14
16:59
(85) + уточню, что платформа 1С:Предприятие 8.3 (8.3.4.428)
87 TormozIT
 
гуру
14.02.14
17:04
(85) Ну а какую операцию ты выполнял (кнопку нажал) и в какой форме?
88 TormozIT
 
гуру
14.02.14
17:05
(86) Ясно. Проблема известна. Она будет исправлена в 3.05. Проявляется только в режиме совместимости "Не использовать" на 8.3
89 TormozIT
 
гуру
16.02.14
17:09
(85) Исправлено в 3.05
90 КРТЩ
 
20.02.14
17:13
(89) ты крут. жаль пока не могу поюзать. но обязательно отпишусь как время появится
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан