0. jan-pechka 234 21.12.17 12:30 Сейчас в теме

Консоль запросов со встроенным Конструктором запросов для 1с8.3 (8.2) своими руками

Мы можем сами создать свою консоль запросов - именно такую, которая подходит для наших нужд. Кроме того, создав собственную Консоль запросов, Вы не только получаете удобный для себя инструмент, а также получаете навык программирования в среде 1с8, что очень полезно будет начинающим программистам 1С.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. rpgshnik 2216 22.12.17 04:08 Сейчас в теме
Вряд ли кто-то переплюнет "инструменты разработчика", но за теорию плюс!
jaroslav.h; Liris; DrAku1a; jan-pechka; Morkhe; +5 Ответить
2. DrAku1a 1314 22.12.17 10:37 Сейчас в теме
(1) Инструменты разработчика - только под обычные, неуправляемые формы, если не ошибаюсь...
jan-pechka; +1 Ответить
3. Amur_MVS 127 22.12.17 10:50 Сейчас в теме
Спасибо, мне интересно
jaroslav.h; jan-pechka; +2 Ответить
4. boln 1012 22.12.17 10:54 Сейчас в теме
Если Конструктор.ОткрытьМодально()=Истина Тогда
Уже не комильфо. В типовых конфигурациях на сегодня по умолчанию запрещено открытие модальных окон и другие НСВ. Будет ошибка. Авторессе - уделить внимание асинхронному программированию :)

А вообще чувства авторессы мне близки. Лет 50 назад, когда я собрал в пионерском радиокружке свой первый детекторный приемник, я испытывал примерно такой же восторг, целый новый мир открылся :)
Serj1C; DrAku1a; BigB; jan-pechka; +4 Ответить
5. jan-pechka 234 22.12.17 11:02 Сейчас в теме
(4)Если Вы работаете над конфигурацией,то у Вас уже априори есть возможность на момент разработки открыть себе в управляемых формах режим модальности (см.рис,прикрепленный к ответу)

А вообще можно и без всякой консоли запросов писать с тем же успехом сложные запросы с использованием встроенного конструктора запросов прямо внутри конфигуратора - но чтобы посмотреть промежуточный результат - постоянно сохраняться и выходить в пользовательский режим - это утомительно...Консоль ускоряет процесс разработки.
Прикрепленные файлы:
6. boln 1012 22.12.17 11:05 Сейчас в теме
(5)
Если Вы работаете над конфигурацией,то у Вас уже априори есть возможность на момент разработки открыть себе в упоравляемых формах режим модальности (см.рис,прикрепленный к ответу)
Однако для профессиональных разработок это не прокатит. В настоящее время предполагается обязательная возможность работы из веб-клиента, а там никакие НСВ не разрешаются.
7. Boneman 262 22.12.17 11:05 Сейчас в теме
конструктор запроса в тонком клиенте давно уже работает.
Gendelf; JohnConnor; jan-pechka; boln; +4 Ответить
8. boln 1012 22.12.17 11:08 Сейчас в теме
(7)
конструктор запроса в тонком клиенте давно уже работает.
Кстати, верное замечание. Правда, плохонький, тормозит сильно и многие функции не так удобны, как в обычном. Но для веб-клиента сойдет.
9. jan-pechka 234 22.12.17 11:36 Сейчас в теме
(7)В этой статье я попробывала рассказать как соорудить для себя инструмент и при этом так же пройти этап обучения азам языка 1с8...мне вот это дается не просто - справка восьмерки просто убивает напрочь!)) Но когда сильно захотелось хотя бы что-нибудь сделать,например,простенький прототип мультика (https://infostart.ru/public/714992/ ) на 1с8 , то потихонечку начала разбираться в справке 1с8 - там просто все функции в одной большой куче свалены: и под управляемые формы и под обычные....

Если Вы очень хорошо уже разобрались в предоставленной схеме кодирования своей Консоли запросов под толстым клиентом, то вот добавьте тогда,пожалуйста, вот этот код
для управляемых форм вызов Конструктора Запроса под тонким и веб клиентом.

И тогда наша простенькая,но восхитительная Консоль запросов будет вообще на вес золота!)).Спасибо за интерес к теме!

Процедура КонструкторЗапроса(Команда)
	//вызов стандартного Конструктора запроса возможен только под толстым клиентом
	////#Если ТолстыйКлиентУправляемоеПриложение Тогда
	////	Конструктор=Новый КонструкторЗапроса;
	////	Если не ПустаяСтрока(Объект.ТекстЗапроса) Тогда
	////		Конструктор.Текст=Объект.ТекстЗапроса;
	////	КонецЕсли;
	////	Если Конструктор.ОткрытьМодально()=Истина Тогда
	////		Объект.ТекстЗапроса=Конструктор.Текст;
	////	КонецЕсли; 
	////		#Иначе
	////	      Сообщить("Вызов Конструктора запросов возможен только под толстым клиентом");
	////		  Возврат;
	////# КонецЕсли
	
		Конструктор = Новый КонструкторЗапроса();
		
		ПараметрыКонструктора = Новый Структура("Конструктор, ТекстЗапроса", Конструктор,Объект.ТекстЗапроса);
		ОповещениеКонструктора = Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияКонструктора", ЭтаФорма, ПараметрыКонструктора);
		
		Конструктор.Показать(ОповещениеКонструктора);

	КонецПроцедуры
	
	&НаКлиенте
Процедура ВыполнитьПослеЗакрытияКонструктора(Результат, ПараметрыКонструктора)  Экспорт
	ТекстЗапроса = СокрЛП(Результат);
	Если ЗначениеЗаполнено(ТекстЗапроса) Тогда  
		ПараметрыКонструктора.ТекстЗапроса = ТекстЗапроса;
		Модифицированность = Истина;
	Иначе
		Модифицированность = Ложь;
	КонецЕсли;	
КонецПроцедуры
Показать


п.с.единственное, что мне ну как-то не привычно - Конструктор запросов под тонким клиентом как гвоздей наелся - никак его в маленькое скромненькое окошко не свернуть))) Но зато чисто под тонким и веб клиентом работает.
Прикрепленные файлы:
10. boln 1012 22.12.17 11:48 Сейчас в теме
(9) Как сказал бы незабвенный Владимир Ильич, "правильной дорогой идете, товарищ!".
Вы - настойчивая и упорная, со временем достигнете высочайших вершин в 1С, если не надоест, конечно :)
jan-pechka; +1 Ответить
11. boln 1012 22.12.17 11:51 Сейчас в теме
(9)
справка восьмерки просто убивает напрочь!
Справка - она и есть справка, по ней учиться нельзя (хотя я 20 лет назад учился VBA по справке, там она была как учебник). Справка - это вспомнить то, что забылось из уже постигнутого.

Лучше книжечки почитывать, и безплатных курсов сейчас в сети полно, и вообще инфы всякой ценной. Я вот последнее время только в Интернете и учусь.
jan-pechka; +1 Ответить
13. jan-pechka 234 22.12.17 15:11 Сейчас в теме
(12)Очень хорошие инструменты Вы показали!!!
Но ни каждый разработчик вот так сходу может открыть готовый профессиональный продукт и сказать:"ааа,я знаю теперь как это работает"

на скринах - частичка всего того,что находится в проф.консоли...но уже может закружиться голова!!! Вызывают Конструктор для тонкого кл.стандартно(сравните скрин и код выше), только вот разобраться что да как трудновато...
Прикрепленные файлы:
15. jan-pechka 234 22.12.17 15:31 Сейчас в теме
(12)не крепятся к предыдущему посту еще скрины, приклею их тут, вот посмотрите на скрин - столько работы запутанной на тонны страниц провели профессионалы с Консолью,на которую Вы дали ссылку, а она все равно выдает баг....

Потом в конструкторе запросов, вызванном под тонким или веб клиентом - нет возможности создать и описать поля Временной таблицы...А это ой как надо!!!

И как же чертовски тормозит профессиональная разработка!!!! Даже если возьмете указанный мною чуть выше код для конструктора запросов под тонкий клиент и установите на образец, который мы создавали здесь своими руками,то наша разработка вообще легкая и не тормозит!!!
Прикрепленные файлы:
17. boln 1012 22.12.17 16:28 Сейчас в теме
(12) Вот чем мне не нравится Консоль для УФ от 1С, так это тем, что ее файл списка запросов (q1c) не совместим с файлом до сих пор очень популярной Консоли запросов для обычного режима (sel).

Я, когда делал свою Консоль запросов для УФ в 2010 году, сделал файл списка запросов аналогичным формату sel. Многим нравится.
14. Liris 39 22.12.17 15:19 Сейчас в теме
(0) Прошу прощения, вопрос не по теме статьи.
На всех снимках экрана, которые содержат код, заметил "не типовой" шрифт текстов модулей. Понравился шрифт, напишите его название, пожалуйста.
16. jan-pechka 234 22.12.17 15:33 Сейчас в теме
(14)Georgia, 12
Прикрепленные файлы:
18. boln 1012 22.12.17 16:35 Сейчас в теме
(15)
Потом в конструкторе запросов, вызванном под тонким или веб клиентом - нет возможности создать и описать поля Временной таблицы...А это ой как надо!!!
Почему же нет, есть:
Прикрепленные файлы:
jan-pechka; +1 Ответить
19. jan-pechka 234 23.12.17 21:46 Сейчас в теме
Здесь продолжаю искать варианты как к моей простой Консоли запросов добавить механизм в котором в запрос будут передаваться в виде параметров Временные таблицы.
https://forum.infostart.ru/forum9/topic183700/#message1903300
ivangrant; +1 Ответить
20. JohnConnor 39 16.01.19 13:20 Сейчас в теме
статья интересная, но отформатирована так что "Вырви глаз"
21. ivangrant 18.02.19 13:04 Сейчас в теме
Какой запрос написан в процедуре ОчиститьПараметры ?
22. Romario_ 14.08.19 13:38 Сейчас в теме
Статья понравилась, спасибо). Вы молодец, я вот уже около года изучаю разработку в 1С, пока самому не удается что либо написать. Как прийти к тому, чтобы писать самому?))
23. jan-pechka 234 14.08.19 16:10 Сейчас в теме
(22)самостоятельно сложно себя мучать к обучению....а вот если попасть на дикую проблему у клиента,то сразу проявляются все навыки и программирования и бухгалтерии))))....Злой,конечно,такой метод обучения, но оч.быстрый.
Оставьте свое сообщение
Вопросы с вознаграждением