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

16.11.10

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

 В связи с необходимостью переноса ПО с платформы 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    196590    1085    409    

1006

Инструментарий разработчика Запросы Программист 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

QueryConsole1C — расширение, включающее консоль запросов с поддержкой исполняемых представлений — аналогов виртуальных таблиц, основанных на методах программного интерфейса ЗУП. Оно позволяет выполнять запросы с учётом встроенной бизнес-логики, отлаживать алгоритмы получения данных и автоматически генерировать код на встроенном языке 1С.

1 стартмани

16.05.2025    3328    73    zup_dev    15    

57

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

В данной публикации рассказывается о решении, которое позволяет находить сразу все ошибки в тексте запроса за раз, а не только самую первую.

2 стартмани

05.03.2025    2882    10    XilDen    12    

23

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

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

2 стартмани

06.02.2025    2802    22    XilDen    26    

36

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

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

03.12.2024    6881    artemusII    11    

24

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

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

18.10.2024    14914    sergey279    18    

68

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

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

11.10.2024    9580    XilDen    38    

101

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

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

20.08.2024    3947    PROSTO-1C    0    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
После полной отладки "Связи Метаданных. Простой построитель запросов." процедура определения типа колонки будет перенесена в данную обработку. Не успеваю за всем.
Оставьте свое сообщение