gifts2017

Компоновщик прямых запросов 7.7 (Выборка документов)

Опубликовал Михаил Ефименко (942644) в раздел Программирование - Инструментарий

Компоновщик прямых запросов позволяет делать выборки документов из SQL базы данных 1C 7.7 любой конфигурации

В составе Компоновщика Прямых Запросов (КПЗ) два файла: обработка и класс 1С++

Возможности:

  1. С помощью обработки можно делать выборки документов, указав интерактивно на форме:
    • Вид документа
    • Перечень полей, которые должны войти в выборку
    • Отборы
    • Группировки

    (см. рис 1-4)

  2. На форме обработки, в отборах можно указывать отношения:

    =, <>, IN, NOT IN, LIKE в зависимости от типа реквизита документа

  3. С помощью класса можно делать выборки программно и использовать в качестве значений отбора результаты другой выборки (см. пример кода рис 5) 

Ограничения:

Использование в качестве Полей, Отборов или Группировок реквизитов типов:

Неопределено, Справочник, Документ (без указания конкретного вида)

ВидСубконто, ВидРасчета, ПланСчетов, Календарь

Требования:

Для работы необходимо подключение внешних компонент 1С++, FormEx

Установка:

Обработка использует класс "Объект1С", поэтому для того чтобы она заработала необходимо чтобы этот класс был подключен. Поэтому, кроме подключения 1cpp.dll, нужно

  • Cоздать в каталоге базы папку Классы, положить туда файлы Object1C.ert, Object1C.prm
  • В каталоге базы положить файлик с именем DefCls.prm, где прописать строку

    //#include "<КаталогИБ>\Классы\Object1C.prm"

Более подробно про возможности 1cpp можно прочитать тут http://kb.mista.ru/article.php?id=233

Делал для пресейла, развивать не планирую. Кого заинтересовало, буду рад поделиться ;)

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

Наименование Файл Версия Размер
Класс "Объект1С"
.ert 14,50Kb
17.09.15
0
.ert 1 14,50Kb Скачать
Object1C.prm
.prm 0,04Kb
17.09.15
0
.prm 0,04Kb Скачать
Обработка
.ert 197,00Kb
17.09.15
0
.ert 1 197,00Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Денис Чумак (dchumak) 18.06.15 08:21
Как видно по скриншотам:
1. Можно делать запросы только по 1 таблице, никаких JOIN'ов, UNI ON'ов использовать нельзя.
2. Если добавить группировку по одному или нескольким полям, как указать агрегирующие функции (sum count) и т.д.?
В чем смысл данной обработки? Быстрее набить запрос, просто скопировав ранее созданный и поправив поля после sel ect, from, where, group by, order by...
2. Михаил Ефименко (942644) 18.06.15 10:07
1. Это решение немного для другого. На тему построения запросов с Join-ами есть решение http://infostart.ru/public/14933/
2. Если добавить группировку, в таблице полей появляется возможность выбора функций (см. рис 3)
Смысл в том что эту обработку можно дать не программисту и он выберет себе сам какие надо документы.
Также для программиста может быть интересно комбинировать выборки программно (см. рис. 5)