Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Класс "РасшЗапрос" (прямые запросы) (число прочтений - 7032 )
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Класс "РасшЗапрос" (прямые запросы)
07. Февраля 2007 :: 14:41
Печать  
Класс в основном предназначен для подмены класса "Запрос" в типовых конфигурациях (я ориентировался на ТиС 9.2), можно конечно и простые запросы ваять, но функционал пока довольно узко заточен именно под отчетики из типовой (буду расширять, когда появится время)

Возможности:
1) Реализует основной интерфейс стандартного класса 1С "Запрос", а также дополнительные параметры для прямого запроса
2) Выполняет иерархические группировки справочников, используя для группировки временные таблицы

Ограничения:
1) Пока работаем только с dbf под управлением VFPOLEDB в разделенном режиме разумеется (для SQL у меня этот класс был, но при рефакторинге потерял актуальность, доделаю, как будет таковая рабочая база)
2) Работает с 1С++ начиная с Nightly build 2007-01-31, т.е. там, где исправлена передача неопределенного числа параметров более 30 http://www.1cpp.ru/forum/YaBB.pl?num=1170137838

Ну собственно трудно что-то добавить - прошу потестировать - прилагаются 2 отчета для типовой ТиС 9.2 "ВедомостьПоКонтрагентам" и "ВедомостьПоПартиямТМЦ"

Описание запостю тоже чуть позже - когда появится чуток времени...
« Последняя редакция: 09. Февраля 2007 :: 11:54 - DrACe »  

Query.zip ( 110 KB | Загрузки )
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #1 - 07. Февраля 2007 :: 16:59
Печать  
Беспорно удобно, только данные не совсем корректные на выходе получаются:
Попробуй "Ведомость по партиям" развернуть по группировка "Фирма,Мол,Договор,ДокументыДвижения",
смысл в том что по документам движения не развернет и итоговую сумму возметь предыдущую сумму (в данном
случае сумму по договору)
  
Наверх
wwwICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #2 - 07. Февраля 2007 :: 17:50
Печать  
А можно описание класса заюзать в тэгах для als файла (и Телепата)?
геморой наверное?  Улыбка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #3 - 08. Февраля 2007 :: 03:21
Печать  
noprogrammer писал(а) 07. Февраля 2007 :: 16:59:
Беспорно удобно, только данные не совсем корректные на выходе получаются:
Попробуй "Ведомость по партиям" развернуть по группировка "Фирма,Мол,Договор,ДокументыДвижения",
смысл в том что по документам движения не развернет и итоговую сумму возметь предыдущую сумму (в данном
случае сумму по договору)

1) в отчете "Ведомость по партиям" нет группировки "Договор"! Может что-то другое?
2) на форме отчетов есть крыжик "Отладка" - он формирует запрос стандартным способом для того, чтобы можно было сверить результаты - у меня вроде пока все сходится...
3) Класс пока что находится на тестировании, по мере доработки буду вносить исправления
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #4 - 08. Февраля 2007 :: 03:22
Печать  
lustin писал(а) 07. Февраля 2007 :: 17:50:
А можно описание класса заюзать в тэгах для als файла (и Телепата)?
геморой наверное?  Улыбка

честно говоря хочется это сделать, но мне нужен формат такого описания
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #5 - 08. Февраля 2007 :: 08:51
Печать  
Немного исправил класс(проверка дублирования текста запроса), а также скорректировал тексты запросов в примерах (приведение значений NULL к $ПустойИД) - так более понятно вроде.

Брать обновленный вариант в первом посте.
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #6 - 09. Февраля 2007 :: 12:00
Печать  
Очередные исправления/дополнения:
Цитата:
(-) ошибка иерархической группировки справочника (в случаях, когда группировка выполняется серией запросов)
(+) в метод Группировка() добавлено обращение к группировке по имени


Добавлен отчет "Ведомость по остаткам" из типовой ТиС 9.2 (в котором реализован новый подход к составлению структуры запросов)

Напоминаю, что пока что все прилагаемые отчеты формируют остатки 1 раз, т.е. один остаток зависит от рассчитанного другого, Прихода и Расхода http://www.1cpp.ru/forum/YaBB.pl?num=1170911211
« Последняя редакция: 12. Февраля 2007 :: 03:33 - DrACe »  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #7 - 09. Февраля 2007 :: 12:25
Печать  
А какой остаток ты расчитываешь, а какой из запроса?
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "РасшЗапрос" (прямые запросы)
Ответ #8 - 12. Февраля 2007 :: 03:05
Печать  
мне было удобнее рассчитывать запросом Конечный остаток, Приход и Расход, а Начальный остаток вычисляется арифметически

на самом деле ничто не мешает реализовать любой другой расчет этим классом - ведь это все делается ручками, ручками...  Подмигивание

PS кстати, никто не может скинуть формат тэгов для описания класса?..
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать