gifts2017

Конструктор запроса для 7.7

Опубликовал Андрей Чибидин (andrewbc) в раздел Программирование - Инструментарий

Visual quest - это обработка под 1с v7.7 компоненту "Оперативный учет"
для визуального построения запросов по справочникам, документам и регистрам.

Новая версия. Изменен в главную очередь способ работы с условиями. Пока тянет только на "бэту". Поэтому хотелось бы больше комментариев.

В архиве "FormEx" - библиотека, которая использовалась при написании и отладке,
"vq1", "vq2" - обработки  по версиям.

Для функционирования необходимо скопировать FormEx.dll в папку "bin" 1С-а или
в папку, где располагается база данных.

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

Наименование Файл Версия Размер Кол. Скачив.
Конструктор запроса для 7.7
.rar 29,85Kb
21.02.12
547
.rar 29,85Kb 547 Скачать
vq1.rar
.rar 20,00Kb
21.02.12
8
.rar 20,00Kb 8 Скачать
FormEx.rar
.rar 188,83Kb
21.02.12
17
.rar 188,83Kb 17 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алексей Плутенко (Noy) 03.11.09 15:49
Замечательная обработка!
Еще советую сделать похожий реестр документов, а то все (во всяком случае я не нашел) предложенные на этом портале универсальные реестры не могу вывести мне реестр расходных накладных не с названием клиента, а с его телефоном например....
2. Андрей Чибидин (andrewbc) 03.11.09 16:03
идея понятна. проблемка в том, что телефон клиента хранится в одном из трех справочников "ЮрЛица", "СвоиЮрЛица" и "ФизЛица". а в справочнике "Контрагенты" "ЮрЛицо" - это реквизит "Справочник" неопределенного вида. но подумать можно...
3. Алексей Плутенко (Noy) 03.11.09 16:06
4. Епрст (Ёпрст) 03.11.09 16:10
Если Запрос.Выполнить(тз) = 0 Тогда
{\VISUAL QUEST.ERT(1050)}: <<?>>
Запрос[1] : Пустой запрос
5. Епрст (Ёпрст) 03.11.09 16:15
Добавь возможность корректировки текста запроса.
6. Альтаир (Altair777) 03.11.09 16:21
(0) Интересно :)
Мне кажется, что будет удобнее "Текст запроса" и "Результат" разместить на отдельных закладках. И заодно избавиться от слоя "Дополнительный".

Кстати, вот обнаружил - при двойном клике на переменной запроса и последующем нажатии на "ОК" к имени переменной добавляется "1", хотя ничего не поменялось
Прикрепленные файлы:
7. Александр Рытов (Арчибальд) 03.11.09 16:29
Думаю, что это хорошо. А баги отловятся со временем. :)
8. Альтаир (Altair777) 03.11.09 16:33
(7) Главное, что бы они не просто отлавливались, а и исправлялись :)
9. Андрей (Свой) 03.11.09 19:22
спасибо, красиво, еще бы прямые запросы прикрутить
как то можно сохранять сконструированные запросы ? а возвращаться в панель настройки после выполнения запроса ?
10. Андрей (Свой) 03.11.09 19:30
"а возвращаться в панель настройки после выполнения запроса ?"
- снят, это есть в обработке
11. Андрей Чибидин (andrewbc) 03.11.09 21:43
Ёпрст 03.11.2009 16:10:59
Если Запрос.Выполнить(тз) = 0 Тогда
{\VISUAL QUEST.ERT(1050)}: <<?>>
Запрос[1] : Пустой запрос

это откуда?
12. Андрей Чибидин (andrewbc) 03.11.09 21:44
Ёпрст 03.11.2009 16:15:35
Добавь возможность корректировки текста запроса.

а это правильно
13. Андрей Чибидин (andrewbc) 03.11.09 21:54
Кстати, вот обнаружил - при двойном клике на переменной запроса и последующем нажатии на "ОК" к имени переменной добавляется "1", хотя ничего не поменялось

Это отловил. спасибо за баги.
14. Андрей Чибидин (andrewbc) 03.11.09 23:02
для (6. Altair777) FormEx надо ограничивать. Слишком сильная вещь.
15. Андрей Чибидин (andrewbc) 03.11.09 23:12
для 6. Altair777
если что-то изменил, то не гони на разработчика. У МЕНЯ ЗАКЛАДОК НЕ БЫЛО. (учти написно для 1С, а не для С или Delphi)
16. Андрей Чибидин (andrewbc) 03.11.09 23:35
лучше бы посоветовали где можно структуру запросов 1с-скую найти (чтобы в обратку разобрать)
17. shard (shard) 04.11.09 01:36
Не сочтите за рекламу, но более простая (хотя бы в плане оформления и функционала) обработка: http://infostart.ru/public/16692/

Если же будет желание прикрутить прямые запросы, то могу подкинуть примеров и помочь с идеями по реализации (стучаться в личку).
18. Андрей Чибидин (andrewbc) 04.11.09 02:02
для "упрощения" выложил еще одну обработку. хотелось покрасивее и поудобнее.
19. Василий (boev) 04.11.09 10:35
Понравилось,
при созраннении в ехель дало ошибку,хочет так :)
ПолноеИмяФайла = КаталогИБ()+"select.xls";
20. Альтаир (Altair777) 04.11.09 10:43
(15)
> если что-то изменил, то не гони на разработчика. У МЕНЯ ЗАКЛАДОК НЕ БЫЛО. (учти написно для 1С, а не для С или Delphi)

Да, я изменил для себя, добавил закладки, потому что так удобнее
А я разве где-то гнал? Глюки Вы написали сами, без меня :)

Кстати, может Вы не в курсе... 1С умеет рабоатть с закладками. Хотя она и не С и не Delphi.

P.S. снял плюс
P.P.S. А версию Формекса можно было и по-свежее выложить. (в архиве 93, у меня 95)
21. Vasily Kushnir (vasilykushnir) 04.11.09 10:55
(1) Для этого есть Новейший Отчет :)
Делает практически ВСЕ.
22. Альтаир (Altair777) 04.11.09 11:02
(17) > Не сочтите за рекламу, но более простая (хотя бы в плане оформления и функционала) обработка: http://infostart.ru/public/16692/

вот! Это лучше :)
И редактор текста запроса есть, и закладки.
23. Алексей Плутенко (Noy) 04.11.09 11:32
(17),(22) Че-то я не разобрался, а как в http://infostart.ru/public/16692/ сделать группировку по Регистр.ОстаткиТоваров.Товар.ТорваяМарка?
А в (0) можно. Именно это считаю главным достоинством данной обработки.
Автору респект!
24. Альтаир (Altair777) 04.11.09 11:45
(23) хм... в этом ты прав
Но автору не респект за отношение к критике :)
например, за 15 коммент
25. Руслан Харисов (fAngel) 04.11.09 12:29
Можно еще добавить журнал расчетов для более полной картины
26. Alexandr (maloi_a) 04.11.09 14:45
Все хорошо, только параметров не хватает.
27. Андрей Чибидин (andrewbc) 04.11.09 17:45
извинения для Altair777. но я придерживаюсь мнения, что комментировать надо оригинальную разработку, а не измененную. у меня был вариант с закладками, но я их не очень люблю за то, что они убивают свободное место на форме. если монитор у разработчика 22'', а у пользователя 15'', то нужно это учитывать. хотя это не предмет для спора. кому что нравится.
28. Андрей Чибидин (andrewbc) 04.11.09 17:50
редактор запроса будет. дело времени и загруженности на работе. так же будут расширены варианты условий (В списке, не В списке). еще будут добавлены условия "Когда" для функций. планирую использовать внешние переменные и функции.
вопрос для (26) Все хорошо, только параметров не хватает. - о каких параметрах идет речь?
29. Андрей Чибидин (andrewbc) 04.11.09 17:52
еще раз извинения за резкий тон, тяжелый день на работе был. всем спасибо за конструктивную критику.
30. Альтаир (Altair777) 04.11.09 18:12
(27) Я комментировал оригинальную разработку.
Или Вы не нашли в ней глюк, описанный в (6)? :D

И насколько же процентов закладка уменьшает место? :)

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

Извинения приняты.
Прикрепленные файлы:
31. Андрей Чибидин (andrewbc) 04.11.09 18:25
(30) я нашел глюк и сразу исправил (выложено вчера). может прекратим пикировку? лучше констуктивно. сохранять запросы тоже будем. хорошая мысль. хотелось бы в этой области спросить - может уже есть наработки по интерпретации текста запроса? не хотелось бы изобретать велосипед и тратить лишнее время. а сохранять запрос во внутреннем формате глупо - разные платформы и конфигурации...
32. Альтаир (Altair777) 04.11.09 18:35
(30) Вот еще глюк:
В Текст и Результаты попадают только те переменные запроса, у которых выставлен флажок "Группировка". Мне кажется, это не есть хорошо :)
33. Андрей Чибидин (andrewbc) 04.11.09 19:04
в принципе так было задумано. хотя можно установить дополнительный флаг. просто я в результатах запроса пользуюсь только значениями группировок и функций. переменные обычно не несут корректной информации об итогах или движениях по группировкам. (в них находятся значения последнего движения, но не по группировке, а просто по движению регистра). если мне нужно, я добавляю группировку. но коль есть потребность, можно добавить.
34. Андрей Чибидин (andrewbc) 04.11.09 19:16
кстати,

(17) > Не сочтите за рекламу, но более простая (хотя бы в плане оформления и функционала) обработка: http://infostart.ru/public/16692/

с нее все и началось (спасибо автору за идею), но для меня были нужны 2 вещи:
- (23) как в http://infostart.ru/public/16692/ сделать группировку по Регистр.ОстаткиТоваров.Товар.ТорваяМарка?
- для одной переменной назначить несколько объектов конфигурации (номенклатура = регистр.остатки.номенклатура, регистр.партииналичие.номенклатура).
по поводу второго пункта хотелось бы получить замечания по поводу правильности совмещения типов.
35. Альтаир (Altair777) 04.11.09 19:17
(33) А если запрос по справочнику делается или по реквизитам документов? Тогда переменные еще ой как несут в себе информацию ;)

И, как я понимаю цель подобных разработок - это с минимальными потерями времени и не создавая внешних отчетов, получить результат.
Иначе проще в стандартном конструкторе сделать.
Вот и хотелось бы иметь действительно универсальный инструмент, не требующий дополнительных усилий для программирования :)
36. Альтаир (Altair777) 04.11.09 19:18
(34) А это можно и в Описании указать... Выразить благодарность автору за идею :)
37. Андрей Чибидин (andrewbc) 04.11.09 19:22
сделаю при следующем обновлении. пока не очень ориентируюсь в корректности ссылок.
38. shard (shard) 04.11.09 20:05
(23) действительно, у меня (буду так называть) нет развертки по реквизитам реквизита. как вариант ручками, но это только для тех кто понимает как запросы пишутся. но согласитесь, обработки подобного класса явно не для операторов/кассиров/расчетчиков предназначены ;)

теперь по сути - использование formex я бы убрал, тк не всегда внешние библиотеки можно использовать (к примеру при первом запуске при отсутствии прав на запись в реестр). и подключение библиотеки производить при условии что она в каталоге обработки лежит (а то вдруг опять же что с правами).
39. Андрей Чибидин (andrewbc) 04.11.09 20:13
с использованием FormEx'а согласен, сам не раз попадал с правами в терминальном клиенте. есть задумка реализовать дерево без ВК. но пока это тестируется как отдельная разработка.
40. Андрей Чибидин (andrewbc) 04.11.09 20:19
(38) кстати, 1с даже на server 2008 x64 требует полные права на папку с ИБ. поэтому записать туда FormEx.dll не проблема. но с идеей на проверку наличия ВК в папке обработки согласен. будет учтено.
41. Андрей Чибидин (andrewbc) 04.11.09 20:20
больно удобно и красиво с FormEx'ом... :)
42. Alexandr (maloi_a) 05.11.09 03:48
(28) Речь идет о параметрах в запросе. В 7.7 это переменная, в 8.0 это &параметр, получающие значение при выполнении запроса.
43. Андрей Чибидин (andrewbc) 05.11.09 07:52
44. АЛьФ (АЛьФ) 05.11.09 10:36
2(38) Чушь какая! FormEx (в отличие от других внешних компонент) как раз не требует регистрации в реестре. Уж года два как не требует.
Altair777; +1 Ответить
45. Buxxter (Buxxter) 05.11.09 16:17
Какой из двух файлов для чего нужен? Какой качать? (Лучше в шапку добавить инфу)
46. Андрей Чибидин (andrewbc) 05.11.09 16:20
качать первый. второй сейчас убью. это старая версия.
47. Brr (brr) 07.11.09 14:34
Неплохо бы проверять, что Formex уже загружен.
48. Brr (brr) 07.11.09 14:44
Пе,Гр,БГ,НО,Пр,Рс,КО,См - расшифруйте. Гр - это группировка, БГ - без групп. А остальное? Пе - надо думать, переменная. А сортировка будет?
49. Андрей Чибидин (andrewbc) 07.11.09 17:12
(47) а есть смысл? надо проконсультароваться у АЛьФ'а.
(48) НО - НачОст, Пр - Приход, Рс - Расход, КО - КонОст, См - Сумма.
с сортировкой - вопрос времени. в перспективе - полный синтаксис 1с-запроса (по возможности).
50. Raider (raider-rec@ya.ru) 09.11.09 09:35
+1 Мне понравилось! Пригодицца когда нибудь. Спасибо!
51. sanches (sanches) 10.11.09 11:44
Неплохо было бы при открытии делать проверку на то, что FormEx уже загружен. А то получается, что он у меня при запуске базы подгружается, а когда запускаю отчет, то выдает что нельзя загрузить Formex и закрывается, при этом в окне сообщений пишет что он уже загружен
52. Аркадий Кучер (Abadonna) 10.11.09 13:20
(51)>делать проверку на то, что FormEx уже загружен. А то получается, что он у меня при запуске базы подгружается.
Вот как раз и не надо! ;) Ежели уж есть FormEx, то и надо его использовать на всю катушку, т.е. как раз и грузить вначале.
А из обработки ЗагрузитьВнешнююКомпоненту убрать вообще.
53. Андрей Чибидин (andrewbc) 10.11.09 16:04
(51) это сделано в новой версии. но она пока в отладке и не выложена. пока можно внести исправления вручную:

Процедура ПриОткрытии()
Попытка
Тест = СоздатьОбъект("Сервис");
Тест = "";
Исключение
Если ЗагрузитьВнешнююКомпоненту("FormEx.dll") = 0 Тогда
Предупреждение("Невозможно загрузить внешнюю компоненту FormEx.dll.
|Выполнение обработки прервано.");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецПопытки;
..........
КонецПроцедуры

54. Александр Смоленский (Alex_Smolensky) 14.12.09 12:40
55. GSoft. (GSoft) 14.12.09 14:29
единственно я бы добавил проверку загрузки Formex
у многих файл библиотеки не лежит в корне ИБ

	Попытка                             
		Сервис = СоздатьОбъект("Сервис")
	Исключение
		//Formex не загружен
		Если ЗагрузитьВнешнююКомпоненту("FormEx.dll") = 0 Тогда
			Предупреждение("Невозможно загрузить внешнюю компоненту FormEx.dll.
			|Выполнение обработки прервано.");
			СтатусВозврата(0);
			Возврат;
		КонецЕсли;
	КонецПопытки;
...Показать Скрыть
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа