Прямые запросы 1спп с наложением фильтров

16.09.09

Разработка - Инструментарий разработчика

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

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

Наименование Файл Версия Размер
-
.1251720351 39,00Kb
177
.1251720351 39,00Kb 177 Скачать бесплатно
-
.1251983587 8,00Kb
68
.1251983587 8,00Kb 68 Скачать бесплатно
-
.1251983595 10,44Kb
71
.1251983595 10,44Kb 71 Скачать бесплатно

Для примера выложена сохраненная таблица запросов для ТиС. Файл: ТЗапросов.Вн2.

Прим! Перед использованием запросов-примеров заполнить фильтр значениями из Вашей базы, иначе результат работы, само собой будет пустым.

Примечание2! Комментарии в TSQL ставятся как двойной дефис  --, если кто не в курсе.То есть если фильтровать не надо, закомментируйте "where".

Примечание3 Для баз в ДБФ формате требуется драйвер vfpoledb от Майкрософта (адрес ссылки меняется, искать, например яндексом  по строке "vfpoledb", для доп информации погуглить по инфостарту) и 1cpp версии 3.0.0.0 и выше. Конструкция УложитьСписокОбъектов() для ДБФ то ли работает, то ли нет, не знаю. 

 

Распаковать  все в одну папку, запустить. Желательно наличие в конфигурации обработки "ПодборОбъектов" 

Очень хочется отзывов о идее, либо ссылок на такое-же уже отлаженное.

 

Обработка предназначена для тестирования прямых запросов с помощью 1cpp
На закладке МФ можно указывать необходимые значения переменных [:Перем] или
временных таблиц [#TempTab]
 
Пример:
  select  * from
$Справочник.Номенклатура as Ном
 where Ном.id in
(sel ect val from #mytemp)

 На Закладке МФ выбирается тип/вид переменной #mytemp
   и в окне списка подбираются отбираемые значения.

Переменные :НачДата и :КонДата  выбираются на закладке Основная,

Пример:
--Отбор непроведенных заявок с НачДата
Sel ect
 Жур.IDDoc as [Заявка $Документ.ЗаявкаПокупателя],
 Жур.$ОбщийРеквизит.Проект [Агент $Справочник.Проекты],
 $Заявка.Контрагент [Контрагент $Справочник.Контрагенты],
 $Заявка.Сумма
FROM
 _1SJourn as Жур            
join $Документ.ЗаявкаПокупателя Заявка
on Заявка.iddoc=Жур.iddoc
WHERE
 Жур.Date_Time_IDDoc > :НачДата  AND
 Жур.IDDocDef = $ВидДокумента.ЗаявкаПокупателя and
    Жур.closed=0

И вот отчет по акциям:

 -- пример отбора Проведнных Реализаций с ценой товара <0,01
Sel ect
 Жур.IDDoc as [Реализация $Документ.Реализация],
-- Жур.$ОбщийРеквизит.Проект [Агент $Справочник.Проекты],
 $Реализация.Контрагент [Контрагент $Справочник.Контрагенты],
 --$Реализация.Сумма
$Докс.Цена Цена,
$Докс.Количество*
$Докс.Коэффициент  КоличествоБаз,
$Докс.Номенклатура [Номенклатура $Справочник.Номенклатура]
FROM
_1SJourn as Жур       (nolock)     
join $Документ.Реализация Реализация  (nolock)     
on Реализация.iddoc=Жур.iddoc
join $ДокументСтроки.Реализация Докс  (nolock)     
on Реализация.iddoc=Докс.iddoc
WHERE
 Жур.Date_Time_IDDoc > :НачДата  AND
 Жур.IDDocDef = $ВидДокумента.Реализация and
   Жур.closed & 1=1
and $Докс.Цена<0.01
and $Докс.Номенклатура in (sel ect val from #myTemp)

2009-09-03

 Добавил новые примеры запроса, убрал нек.баги, добавил новые.

2009-09-08

 Добавил кнопку, для того, чтобы удобнее было копипастить в код/из кода 1с.

2009-09-15

 Специально для не скажу кого, добавил работу с ДБФ форматом и возможность держать несколько таблиц запросов. Интерфейс мне теперь не нравится, буду думать переделать.

 

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21559    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165701    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32877    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21197    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18029    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36103    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34958    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ёпрст 1063 31.08.09 16:16 Сейчас в теме
Есть QA
Есть Консоль и Конструктор от Berezdetsky
3. dav405 103 31.08.09 16:22 Сейчас в теме
1,2) Подскажите, как в QA отобрать по конкретной группе номенклатуры?
А консоль отчетов - вообще супер, вот только там я тоже не разобрался, как втыкать конкретные значения из базы.
Вообще все началось с этих долбаных акций. Ну чего писать что-то отдельное, когда запрос набросать две минуты? А фильтр держать в мф.
4. CheBurator 3119 31.08.09 16:54 Сейчас в теме
и есть еще отдельный класс МФ, который реализует типовой МФ
5. JohnyDeath 301 31.08.09 17:00 Сейчас в теме
(4) фигасебе! Че, ты стал классами пользоваться? ;))))
7. CheBurator 3119 31.08.09 21:07 Сейчас в теме
(5) А ты думал!!! у меня уже один класс месяца три вертится! Но как всегда - руки у изготовителей кривые - пришлось допиливать по мелочи... и то одна ошибка выскакивает все время...
12. vandalsvq 1537 01.09.09 23:23 Сейчас в теме
(7) один класс... три месяца... хотя уже хорошо ))))))))))
Автору плюс за разбирательство с прямыми запросами. ;)
13. artbear 1448 02.09.09 08:38 Сейчас в теме
(7) У меня порядка 100 классов в свое время крутилось, и на некоторых зарплатных и бухгалтерских базах до сих пор крутится.

ЗЫ некоторые классы совсем простые и маленькие, но свое дело делают :)
6. dav405 103 31.08.09 21:01 Сейчас в теме
(4) Спасибо, только фильтр нифига нетипофой. Лучше бы плюс поставил, мне не хватает 3 плюса и никто не дает. Вот, например, вместо того, чтобы воткнуть хорошую и красивую печать ТЗ от Че. которую не могу скачать сегодня, поставил плохую и ужасТную свою.
А вообще, видимо буду доводить, жуть как удобно получается для ответов на редкие вопросы.
9. Donat 31.08.09 21:15 Сейчас в теме
Сделаешь свободный доступ, поставлю плюс :-)

Хотя, ладно, авансом...
10. dav405 103 31.08.09 21:32 Сейчас в теме
(9)Йееес.
А я сначала в свободный поставил - без энтузазизма восприняли. Тем более надобно доводить все равно до ума. Заторопился. бо сама идея парсить переменные для фильтра (да и типы) прямо из запроса меня утром очаровала, аж невтерпежж.
(8) http://www.infostart.ru/projects/386/
Да,были люди в наше время.... Буду посмотреть
11. CheBurator 3119 31.08.09 21:34 Сейчас в теме
(10) по (8) отпишись по факту внедрежа
14. rasswet 82 02.09.09 11:08 Сейчас в теме
толи я туплю, толи ленюсь.. с одной стороны тема конечно интересная
15. rasswet 82 02.09.09 11:17 Сейчас в теме
РекордСет.УложитьСписокОбъектов(Эл,Пар,Вид);
{\QUERY1CPPANDMF\ЗАПРОСПП_С_МФ.ERT(143)}: База данных не установлена
запустил, на множ фильтре очистил, тип указал справочник. хз что она ещё хочет. видимо для продвинутых.
16. dav405 103 02.09.09 11:23 Сейчас в теме
(15) Значения для фильтра выбери, либо убери # и поставь -- в начале строки, тогда будет по всем отбирать.
Хотя ты прав, похоже птичку включать-невключать надо будет добавить. Осталось придумать как.
17. rasswet 82 02.09.09 13:01 Сейчас в теме
(16) да ничего не получается. да не парься. фиг с ним.
18. dav405 103 03.09.09 17:15 Сейчас в теме
19. rasswet 82 04.09.09 08:58 Сейчас в теме
(18) хз где там ставить --. нет так нет. обожаю обработки в которых открываешь и нажимаешь сформировать и видишь хоть какие-то данные. а те где сначала надо заполнить 25 параметров причем хз как и без установки хоть одного не взлетает, такие в топку.
21. dav405 103 16.09.09 09:40 Сейчас в теме
(19) Не мог спать спокойно, добавил работу с ДБФ (! немонопольно)
22. rasswet 82 16.09.09 10:35 Сейчас в теме
(21)это в который файл? их три. и какой о чем не понятно(
23. dav405 103 16.09.09 11:18 Сейчас в теме
(22) Главный - первый файл. Второй - просто вывод таблицы результата на печать -необязателен. Третий - таблица примеров запросов. В Твоем случае, она все равно не сработает, потому что под скуль. Т.е. тебе, чтобы посмотреть хоть какой-то результат надо скачать первый файл, проставить на машину фоксовые дрова (vfpoledb), и написать в поле ввода (большое такое) что-то вроде sel ect * from $Справочник.Номенклатура, после чего нажать "Сформировать". А потом могешь более эксперементировать с запросами и результатами. Когда нажимаешь "сохранить" - запрос запоминается под именем, которое в "описании", т.е. можно по-очереди делать и проверять запросы, сохраняя их историю. //Черновики потом удаляешь. Я-то прикололся, но подозреваю, что интерфейс жутко кривой :).
После того, как запрос нравится - нажимаешь копипаст - и из окна сообщений копируешь текст запроса в код "настоящей" обработки.
20. dav405 103 04.09.09 09:23 Сейчас в теме
Забудь про прямые запросы, там многабукф )
24. rasswet 82 16.09.09 13:06 Сейчас в теме
3, 0, 1, 22
ОлеДБ.ПрисоединитьИБ(КаталогИБ());
{F:\_С ИНЕТА\ЗАПРОСПП_С_МФ2.ERT(180)}: FAILED! IDataInitialize::GetDataSource(): Класс не зарегистрирован
это из-за дров фоксовых?
25. Ёпрст 1063 16.09.09 14:06 Сейчас в теме
(24) Эту строчку нужно заремить..
+ нет строки подключения для дбф..
+ весьма забавный метод определения , что это файловая версия (при наличии спец. метода в самой компоненте)
Короче, в дбф не работает.
26. dav405 103 16.09.09 16:54 Сейчас в теме

(25) Уважаемый будет смеятся, однако работает.
(24) да, после установки должно заработать.
(25)+ Канэшно забавный, а вай нот, дело то в том, что версия мне понадобилась попозжее, ну и номер версии - если видишь, определяю странно, потому как в том 1срр, который у меня сейчас метод "версия()" возвращает непойму что. А теперича они(1срр) по умолчанию втыкают строку для подключения к текущей базе. Мало того, насколько я понимаю, (по изменяющейся документациина 1cpp.ru) авторы работают над поддержанием уложитьсписокобъектов() для дбф.
27. Ёпрст 1063 16.09.09 17:17 Сейчас в теме
(26) Работает, но медленно, ибо строка подключения в методе ПрисоединитьИБ устаревшая..
32. dav405 103 16.09.09 19:27 Сейчас в теме
(27) Ну, может медленно, у меня-то и клиентов на дбф не осталось, не гонял.
(30) Сохрани запрос - должен создавать таблицы,(в т.ч. и мф), но да, поправлю проверку.
36. rasswet 82 16.09.09 21:28 Сейчас в теме
(32) сохрани запрос-это не понял. (33) с AS понял. работает!
копипаст-тоже понял.
SEL ECT $АвансовыйОтчет.Сотрудник AS [Сотрудник $Справочник.Сотрудники]
, $АвансовыйОтчет.ПриложеноДок AS ПриложеноДок
, $АвансовыйОтчет.НаименованиеАванса AS НаименованиеАванса
FROM $Документ.АвансовыйОтчет AS АвансовыйОтчет
это работает.
на закладку всё равно не переходит. буду копипастить из конструктора.
in (sel ect val from #myTemp) это мне тогда не надо?
табл с рисунка 6406 не выводит. выводит в виде ТЗ.ВыбратьСтроку()
37. dav405 103 16.09.09 22:42 Сейчас в теме
(36) Там кнопка Добавить/обновить - она сохранят текст запроса в файл для дальнейшего использования, она же должна создавать МФ.
#MyTemp в дбф пока не работает
Табл с рисунка получается, если в каталог обработки положить второй файл (ПечатьТЗ2.ert)
С датой из общего журнала, смотрю пока неудобненько, переделаю завтра, чтобы для дбф клал дату по-другому.
35. dav405 103 16.09.09 20:47 Сейчас в теме
(27) Она еще и casesensitive, блин. Поменяю.
28. Ёпрст 1063 16.09.09 17:18 Сейчас в теме
>>>который у меня сейчас
Это какой ?
3.0.1.23 если что пользуй.
29. rasswet 82 16.09.09 18:20 Сейчас в теме
ругнулось на
ИмяФайлаТЗ=СписокСохраненныхТаблиц.ПолучитьЗначение(лТекПоз,);
{N:\СИНЕТА\ЗАПРОСПП_С_МФ2.ERT(318)}: Индекс не входит в границы списка значений.
30. rasswet 82 16.09.09 18:43 Сейчас в теме
на закладку множ фильт не переходит 29-ошибка.
но после установки фоксовых дров заработало. теперь можно дальше думать..что с этим делать))
залил
http://narod.ru/disk/13204508000/VFPOLEDBSetup.msi.html -фоксовые дрова
кому надо не ищите по инету. качайте по ссылкам
3.0.1.23 тут http://narod.ru/disk/13204616000/Icpp-latest-3.0.1.23.rar.html
31. rasswet 82 16.09.09 19:16 Сейчас в теме
сделал конструктором запрос
SEL ECT $АвансовыйОтчет.Сотрудник [Сотрудник $Справочник.Сотрудники]
, $АвансовыйОтчет.ПриложеноДок ПриложеноДок
, $АвансовыйОтчет.НаименованиеАванса НаименованиеАванса
FROM $Документ.АвансовыйОтчет AS АвансовыйОтчет
не сработало. а есть какой-то конструктор, которым можно запросы делать и в эту твою штуку вставлять?
пробовал http://infostart.ru/projects/1081/ этим делать
33. dav405 103 16.09.09 20:24 Сейчас в теме
(31) Глянь в той теме http://infostart.ru/projects/1081/ 4-й коммент от JonniDeath
34. dav405 103 16.09.09 20:26 Сейчас в теме
(31)+ Там, кстати выдернутые запросы из кода можно втыкать, потом кнопка копипаст - делает две версии - в поле ввода убирает "|", в окне сообщений - наоборот добавляет.
Конечно уродство, но удобно.
Оставьте свое сообщение