Общая Форма Списка, построенная на Запросе

16.11.10

Разработка - Запросы

С целью оптимизации обмена данными с сервером БД была создана общая форма списка, строящаяся на базе запросов к БД и позволяющая пользователю визуально строить условия выборки данных исходя из структуры взаимосвязей объектов Метаданных .

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Информационная БД 8.1. Общая Форма Списка
.dt 513,33Kb
34
34 Скачать (1 SM) Купить за 1 850 руб.
Что нового
.txt 0,89Kb
8
8 Скачать (1 SM) Купить за 1 850 руб.

 В связи с необходимостью переноса ПО с платформы Powerbuilder на платформу 1C предлагается выкладывать базовые объекты работы с данными. Основным объектом PowerBuilder является Datawindow. Он включает в себя описание данных, методы редактирования данных и визуальное представление. Представлена попытка переноса данного объекта на платформу 1С.

Представленное решение эмулирует частично Datawindow и включает в себя:
- Справочник Datawindow,  с описанием графического интерфейса Табличного Поля Формы (состава колонок, порядок, характеристики Табличного Поля). Справочник включает описание параметров для выборки и записи отредактированных данных (Текст Запроса, Главная таблица, режим удаления данных, Первичный Ключ), cостав процедур дополнительных Кнопок Командной Панели и Панели Основных Действий Формы, вид визуального представления/редактирования колонок и их характеристики - флажок, список выбора на базе запроса, список выбора на базе перечисления, вызов формы выбора, зависимые колонки.
- Справочник зависимостей между таблицами, который формируется автоматически и содержит данные о связях таблиц. Обрабатываются взаимосвязи объектов Метаданных: Справочники(табличные части и владельцы), Документы,  Регистры Накопления, Регистры Сведений, Регистры Бухгалтерии,  Регистры Расчета, Журналы Документов (Регистрируемые Документы и Графы).
- На базе Справочника зависимостей в состав ОбщейФормыСписка включен визуальный построитель запроса, в котором вы можете построить условие ГДЕ в соответствии с таблицей взаимосвязей. Автоматически будет строиться  запрос с исправленным условием ИЗ и ГДЕ. Построитель поддерживает все Виды Условий стандартного конструктора запросов. Дополнительно можно указывать скобки и связывать отдельные условия запроса по И/ИЛИ.
- ОбщееОкноСписка содержит стандартные функции фильтрации/сортировки записей
- ОбщееОкноСписка поддерживает режимы - редактирование табличных данных построенных на базе запроса, просмотра, просмотра с выбором значений колонки или ТаблицыЗначений из выделенных строк.
- Построение запроса не требует предварительной выборки данных, а строится на базе текста запроса и Справочника СвязейДанных. Выборка данных через запрос производится после построения запроса.

Состав : Информационная БД в формате 8.1 . Пользователь:shishkin, пароль:sog

Пример вызова:
// Открыть для редактирования в табличном виде справочник СвязиДанных
Процедура ОткрытьСправочникСвязиДанных() export
  Форма = ПолучитьОбщуюФорму("ОбщаяФормаСписка", ,Новый УникальныйИдентификатор());
  Форма.DatawindowName = "Справочник СвязиДанных";
  Форма.Mode = "EDIT";
  Форма.Открыть();
endprocedure

// Процедура просмотра Справочника Номенклатура в режиме просмотра и редактирования через форму Элемента
Процедура ОткрытьСправочникНоменклатура() export
  Форма = ПолучитьОбщуюФорму("ОбщаяФормаСписка", ,Новый УникальныйИдентификатор());
  Форма.DatawindowName = "Справочник Номенклатура";
  Форма.Mode = "VIEW";
  Форма.Открыть();
endprocedure

// Пример вызова просмотра результатов запроса без указания Datawindow
Procedure ОткрытьЗапросБезDatawindow() export
  Форма = ПолучитьОбщуюФорму("ОбщаяФормаСписка", ,Новый УникальныйИдентификатор());
  Форма.QueryText = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура КАК Номенклатура";
  Форма.DatawindowProperties.UpdateTable = "Номенклатура";
  //Форма.РежимВыбора = true;
  //Форма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Нормальное;
  Форма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
  Форма.Открыть();
endprocedure 

Цель разработки - устранение лишних (неконтролируемых) запросов к серверу БД со стороны клиента. Полный переход на работу с сервером через запросы. Перенос задачи построения различных выборок данных с разработчика на пользователя. Изживание механизма ОТБОРА (полной выборки данных с последующей фильтрацией всей выборки) и переход на выбор данных через правильные и оптимальные запросы.
Критика приветствуется !!!

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    184726    1029    403    

968

Обновление 1С Запросы Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данный инструмент помогает анализировать доработанную конфигурацию после обновления на новый релиз и находить «битые» тексты запросов, в которых участвуют несуществующие в новом релизе метаданные.

2 стартмани

06.02.2025    2200    17    XilDen    26    

36

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

В статье приведена удобная возможность отладки исполняемого запроса динамического списка.

03.12.2024    5733    artemusII    11    

23

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    13140    sergey279    18    

66

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    8220    XilDen    36    

90

СКД Механизмы типовых конфигураций Запросы Программист Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    3192    PROSTO-1C    0    

23

Запросы Программист Запросы Бесплатно (free)

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

16.08.2024    10801    user1840182    5    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kote 537 12.11.10 16:50 Сейчас в теме
Цели.. перенос задачи построения различных выборок данных с разработчика на пользователя..
==
.. мечты, мечты. Пользователю нужна одна кнопка приводящая к нужному результату, если этот пользователь не программист, ИМХО.
2. shishkin1966 99 12.11.10 17:02 Сейчас в теме
(1)
Я работаю разработчиком филиального банковского ПО. Система построена на аналогичных объектах (но только не 1с). Нас вообще никто не мучает вопросами о разработке каких-то отборов, выборок и прочей ерунды :) Все строится самими пользователями.

3. Збянтэжаны Саўка 245 17.11.10 11:10 Сейчас в теме
(1)
Пользователю нужна одна кнопка приводящая к нужному результату

это да, и то после того как он нажал ее у него вся спина мокрая :D
4. shishkin1966 99 01.12.10 10:39 Сейчас в теме
После полной отладки "Связи Метаданных. Простой построитель запросов." процедура определения типа колонки будет перенесена в данную обработку. Не успеваю за всем.
Оставьте свое сообщение