Не управляемая консоль запросов

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

Консоль запросов под 8.2. Совсем простенькая, как пример создания управляемых форм и как бонус - выполняющая запросы...

В процессе изучения 8.2 набросал консоль запросов и столкнулся с кучей различных проблем - от не правильного поведения элементов формы, до падения платформы с ошибкой. Стало интересно и немного повозившись сделал "стабильную" консоль запросов, которая не обрушивает платформу, покрайней мере предыдущие случаи падения платформы не воспроизводятся :). 

Замечания по работе консоли:
1. При выполнении первого запроса значения в списке не показываются из-за ошибки в платформе, обещали исправить.
Для того, чтобы данные отобразились, пока необходимо выполнить не корректный запрос :), например удалить букву ключевого слова "ГДЕ"
2. В толстом клиенте (управляемое приложение) не доступны поля динамического списка для отбора и т.п. (окно выбор поля пустое), в тонком все работает.
И самое забавное, поле отбор сохраняет предыдущее значение отбора, которое я установил в тонком клиенте, и отбор по нему работает, но в списке доступных полей пусто... надеюсь исправят.
3. Если изменить видимость/доступность настроек динамического списка, после выполнения запроса, и выполнить следующий запрос то появляется ошибка, но это связано с програмным созданием колонок списка.
4. Поля запроса типа Null не показывает. Более того, передача подобного поля в свойство ПутьКДанным колонки динамического списка вызывает падение платформы.

Еще есть замечания, не мои, по консоли на базе таблицы значений - при пролистывании списка платформа падает, тоже ошибка платформы и тоже будет исправлена...

Что интересного в этой консоли:

Динамический список
Результат запроса выводится в динамический список - это новый и весьма перспективный объект в 8.2 позволяющий отображать в форме данные любого практически произвольного запроса, указывать условное оформление данных, порядок сортировки, отборы и группировки данных. Однако на запросы налагается ряд ограничений.

Общие ограничения:
· динамический список не поддерживает работу с пакетными запросами;
· в случае если динамический список отображается в виде иерархического списка или дерева, запрос не должен содержать условий
отбора по родителю;
· При программном изменении свойств динамического списка не происходит автоматического перезаполнения
командных панелей, связанных с этим динамическим списком;

Если задана основная таблица:
· динамический список не поддерживает в запросе объединения, если задана основная таблица;
· динамический список не должен содержать секции УПОРЯДОЧИТЬ ПО, если задана основная таблица.
· в числе полей запроса нельзя использовать поля подзапросов, возвращающих множественное количество значений. Необходимо
использовать запрос без основной таблицы;
· запрос не может содержать группировок и агрегатных функций, если задана основная таблица.
· в случае указания основной таблицы динамического списка запрос не должен содержать инструкций ПЕРВЫЕ и РАЗЛИЧНЫЕ.

Соответственно в консоли нет основной таблицы, значит - не работают пакетные запросы, не происходит автоматического перезаполнения
командных панелей (оно и не надо вроде) и есть еще ограничение с отбором по родителю если динамический список отображается иерархически или в виде дерева.

Конструктор Запросов
Конструктор запросов работоет только в толстом клиенте, в режиме управляемых или обычных форм.

Директивы Компиляции
Директивы компиляции при не правильном размещении конфликтуют с инструкциями препроцессору, из-за того что обработка инструкций препроцессора выполняется до обработки директив компиляции. Теперь их лучше размещать в процедуре/функции. Я насчитал всего три явных комбинации директив и инструкций, одна из которых не правильная. Та, в которой сначала идет команда препроцессору, а потом директива компляции.

 

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

Наименование Файл Версия Размер
КонсольЗапросов
.1250122544 4,51Kb
25.09.09
355
.1250122544 4,51Kb 355 Скачать

См. также

Комментарии
1. dushelov (Душелов) 13.08.09 10:36 Сейчас в теме
Так их всех! ;)
Я тут как раз для 8.2 ВК начал осваивать. Забавные штукенции можно делать ;)
2. Евгений Люлюк (Evg-Lylyk) 1994 13.08.09 11:44 Сейчас в теме
Молодца
Я так и не победил проблему зупуска конструктора только под толстым, только одно непонятно нафига раром паковать 8 кб O_o добавлется лишней возни
3. Андрей (h00k) 43 14.08.09 02:52 Сейчас в теме
(1) Ага, мельком глянул ужаснулся и отложил для детального изучения.
Сама плптформа пока не изучена, какие уж тут внешние компоненты :).

Зато на партнерском форуме почти истерики: "Как ТЕПЕРЬ делать ЗАЩИТУ решений" :))))

(2) Блин, РЕФЛЕКС !!!! :)))

Кстати, если кто "уронит" платформу этой консолью, напишите в личку как и на чем, а то у меня тут маленький спор вышел :) Так что собираю информацию по падениям платформы от моей консоли...
4. Андрей (h00k) 43 14.08.09 03:09 Сейчас в теме
(1) Я пока не пробывал цеплять к 8.2 компоненту dynwrap, но боюсь что не прокатит. Так что для себя уже прикинул, что внешняя компонента возвращающая хэндл окна и т.п. у меня будет первой :), ну очень этого не хватает. Правда сейчас наверно уже не хватет знаний в области *nix платформ чтоб сделать "универсальную" компоненту - во время линуксомании, год так 97-99, активно игрался с новыми игрушками, но потом стало не до этого и я перестал юниксами интересоватся.
Это я к тому, что теперь можно как бы "кросс-платформенные" ВК делать :), вот это должно быть интересно многим.
5. Андрей (h00k) 43 14.08.09 03:15 Сейчас в теме
(2) А вспомнил, это на ваш вопрос я на форуме П. Чистова овечал :)
6. Евгений Люлюк (Evg-Lylyk) 1994 14.08.09 12:55 Сейчас в теме
(5) щас посмотрел форум спасибо я этого не видел. Как вы сами видели мне там ответили что НИКАК
Видимо придется делать свой конструктор
"Кстати, если кто "уронит" платформу этой консолью" твоей консолью пока не ронял, а так многократно. Хотел сделать один продукт для 8.2 заранее на перспективу, но забросил ввиду многочисленности глюков особенно на новых функциях дин.список, упр.формы.
7. Яков Коган (Yashazz) 1977 17.08.09 01:56 Сейчас в теме
Спасибо! Буду осваивать.
8. chuchund magen (chuchund) 26.09.11 09:52 Сейчас в теме