Переключение на Главную Страницу Страницы: 1 ... 20 21 [22] 23 24 ... 60 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПрямойЗапрос" (число прочтений - 304826 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #315 - 29. Октября 2009 :: 16:01
Печать  
ANik писал(а) 29. Октября 2009 :: 15:48:
Скучно. Без фильтра по номенклатуре запрос выигрывал у бухитогов. С фильтром медленнее в 3-4 раза. Что-то где-то у меня не так.

Скорее что-то где-то не так с подсистемой БухгалтерскийУчет у 1С. Работа с ними на самом деле и проблематична и не всегда быстрее штатной (в DBF формате БД).
Как вариант можно сваливать фильтрацию не на ВТ, а внешне ее накидывать. Может так будет выигрыш. Но для SQL это плохой вариант. Там конечно лучше в ВТ вставлять. Вроде.

Вообще я пока "на практике" мало с БИ посредством прямых запросов работал. Как будет время и возможность буду копать.

Пы.сы. в подсистеме БИ индексы как правило достаточно большие, т.е. много полей в них входит, и их использование весьма проблематично. Для SQL работа с ними сваливается на сам сервер, в DBF они указаны принудительно в условиях и соединениях. Поэтому часто дополнительные условия не попадают в индекс.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПрямойЗапрос"
Ответ #316 - 29. Октября 2009 :: 16:31
Печать  
А что со скоростью? Обратил внимание, что каждый раз выдает сообщение "Начало месяца:0" или "начало месяца:1". Где-то должно быть волшебное слово.
Прогнал в цикле за день специально в середине квартала расчет остатков по 41.1 по табличной части всех расходных накладных за день. Остатки вычислял за документ. Опять бухитоги быстрее в 3-4 раза.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #317 - 29. Октября 2009 :: 16:32
Печать  
ANik писал(а) 29. Октября 2009 :: 16:31:
А что со скоростью? Обратил внимание, что каждый раз выдает сообщение "Начало месяца:0" или "начало месяца:1". Где-то должно быть волшебное слово.
Прогнал в цикле за день специально в середине квартала расчет остатков по 41.1 по табличной части всех расходных накладных за день. Остатки вычислял за документ. Опять бухитоги быстрее в 3-4 раза.

Давай вместе разбираться. Только мне надо что и у тебя чтобы разговор был более "предметный". Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПрямойЗапрос"
Ответ #318 - 29. Октября 2009 :: 16:35
Печать  
Третий день всего изучаю - откуда с меня предметный разговор взять - тупое жевотное. Аська 413101666, если что.
  
Наверх
 
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПрямойЗапрос"
Ответ #319 - 11. Ноября 2009 :: 07:59
Печать  
Косяк с выгрузкой в СписокЗначений на DBF базе:
Код
Выбрать все
	ТекстЗапроса = "
	|ВЫБРАТЬ
		|$Спр.ТекущийЭлемент КАК [Объект $Справочник.Контрагенты],
		|$Спр.ЭтоГруппа КАК [ЭтоГруппа]
	|ИЗ Справочник.Контрагенты КАК Спр $nolock
	|ГДЕ $Спр.ЭтоГруппа=0
	|";

	глПрямойЗапрос.Текст = ТекстЗапроса;
	глПрямойЗапрос.РежимОтладки = 0;

	СЗ = глПрямойЗапрос.Выполнить("СписокЗначений");
	Сообщить(СЗ.РазмерСписка());

	ТЗ = глПрямойЗапрос.Выполнить("ТаблицаЗначений");
	Сообщить(ТЗ.КоличествоСтрок());
 



у меня выдает такой результат:
20072
10036

потому что в списке значений через 1 строку с данными строка с 0
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #320 - 11. Ноября 2009 :: 11:55
Печать  
Сча проверимс
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПрямойЗапрос"
Ответ #321 - 12. Ноября 2009 :: 07:09
Печать  
vandalsvq писал(а) 11. Ноября 2009 :: 11:55:
Сча проверимс

нукаг?  Подмигивание
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #322 - 12. Ноября 2009 :: 07:10
Печать  
Uncle писал(а) 12. Ноября 2009 :: 07:09:
vandalsvq писал(а) 11. Ноября 2009 :: 11:55:
Сча проверимс

нукаг?  Подмигивание

Исчо не в теме, был занят работой в ВТ по бухгалтерии Улыбка сча обновление выложу и эту проблему буду смотретьс Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #323 - 13. Ноября 2009 :: 08:59
Печать  
Обнаружил одну мааааленькую неприятность, оказывается в SQL формате ДБ есть индекс в таблице 1SENTRY (Проводки), содержащий ACCDTID (СчетДт) и ACCKTID (СчетКт) + Дата, время, документ... А вот в DBF такого индекса в таблице нет. Улыбка
А вот если бы даже был, ничего бы не изменилось.

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

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПрямойЗапрос"
Ответ #324 - 13. Ноября 2009 :: 09:13
Печать  
А с выгрузкой в СписокЗначений не прояснилось?  Плачущий
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #325 - 13. Ноября 2009 :: 09:22
Печать  
Выложена новая версия:
1.04.006 от 13.11.09 г.
- Исправлены некоторые ошибки при подготовке ВТ по бухгалтерскому учету. Проведены работы по оптимизации сбора данных.

Что касается списка значений, подтверждаю, счас посмотрю, но есть подозрение что дело все в 1sqlite..... что то тут не так.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #326 - 13. Ноября 2009 :: 09:28
Печать  
Uncle писал(а) 13. Ноября 2009 :: 09:13:
А с выгрузкой в СписокЗначений не прояснилось?  Плачущий

Слушай, в общем дело вот в чем. В твоем запросе два поля ТекущийЭлемент и ЭтоГруппа, вот тебе соответственно 0 во вторых строках после элементов и выходят Улыбка. Если ты еще колонки добавишь то получится в 3 и далее больше. Проверь Улыбка. Т.е. в твоем случае две колонки превращаются в две строки записей списка значений.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПрямойЗапрос"
Ответ #327 - 13. Ноября 2009 :: 10:03
Печать  
vandalsvq писал(а) 13. Ноября 2009 :: 09:28:
Uncle писал(а) 13. Ноября 2009 :: 09:13:
А с выгрузкой в СписокЗначений не прояснилось?  Плачущий

Слушай, в общем дело вот в чем. В твоем запросе два поля ТекущийЭлемент и ЭтоГруппа, вот тебе соответственно 0 во вторых строках после элементов и выходят Улыбка. Если ты еще колонки добавишь то получится в 3 и далее больше. Проверь Улыбка. Т.е. в твоем случае две колонки превращаются в две строки записей списка значений.


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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #328 - 13. Ноября 2009 :: 10:53
Печать  
Просто в объекте ODBCRecordSet есть такая фича:
Цитата:
Если передан ОбъектРезультатов типа СписокЗначений, то значения из первого поля результата помещаются в значения списка. Если существует второе поле результата и оно типа Строка, то значения этого поля помещается в представление списка. Если существует третье поле результата и оно типа Число, то значения этого поля помещается в признак пометки значений.

а в 1sqlite такого нет
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #329 - 13. Ноября 2009 :: 11:33
Печать  
Uncle писал(а) 13. Ноября 2009 :: 10:03:
Дык в SQL такого нету Ужас если это фича, то очень сомнительная, так что скорее баг  Озадачен

Это проблема в 1sqlite. Я Александру напишу об этом.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 20 21 [22] 23 24 ... 60
ОтправитьПечать