Переключение на Главную Страницу Страницы: 1 ... 31 32 [33] 34 35 ... 60 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПрямойЗапрос" (число прочтений - 314082 )
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #480 - 26. Февраля 2010 :: 08:42
Печать  
Сегодняшний день должен сложиться хорошо... больше правок на горячую руку выпускать не буду. Лоб болит...

1.05.011 от 26.02.10 г.
- Исправлены некоторые ошибки при подготовке ключевых слов и функций языка запросов.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #481 - 27. Февраля 2010 :: 04:44
Печать  
Доделал кое-какие старые хотелки.

1.05.012 от 27.02.10 г.
- Добавлена возможность выборки из таблиц «Перечисление». Набор колонок описан в соответствующем разделе. Обратите внимание, обращение к данным таблицам в секции источников запроса (ИЗ, СОЕДИНЕНИЕ) осуществляется без использования спец. слова $nolock.
- Добавлен новый метод «СоздатьТаблицу». Особенность данного метода в том, что перед тем как выполнить запрос происходит специальная обработка текста запроса в целях подстановки типов колонок в зависимости от описанной типизации. Подробнее см. описание метода «СоздатьТаблицу».
- Для виртуальный таблиц ОстаткиОбороты и СрезПоследний в SQL формате БД добавлено выполнение «set nocount on» перед созданием, заполнением и пересчетом временных таблиц, и выполнение «set nocount off» после вышеописанных действий.
- Некоторая оптимизация работы метода «СброситьТаблицу».
- Изменен набор параметров дополнительного публичного метода «ПолучитьТипКолонки».

Пример текста запроса для метода СоздатьТаблицу().
Код
Выбрать все
create table #ИмяТаблицы(
Счет $Счет.Основной
,Контрагент $Справочник.Контрагенты
,Договор $Справочник.Договоры
,Сумма $Число.19.2
,Комментарий $Строка.100
,ВидКонтрагента $Перечисление.ВидыКонтрагентов
,Субконто3 $Субконто) 

  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #482 - 27. Февраля 2010 :: 06:57
Печать  
Плюс стотыщмильонов за создание таблиц!!
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #483 - 27. Февраля 2010 :: 10:18
Печать  
2 leshik, найдешь косяки пиши. А так, спасибо Подмигивание я всегда за то чтобы функционала было много и разного.
  

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


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #484 - 27. Февраля 2010 :: 11:53
Печать  
Как для ДБФ базы получить $ВидСправочника36? Если даже MetaDataWork не помогает - пишет "Нет справочника с видом %ВидСправочника%?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #485 - 27. Февраля 2010 :: 13:38
Печать  
А модификатор не поможет?
  

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


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #486 - 27. Февраля 2010 :: 13:44
Печать  
Хотел конструкцию типа
$Спр.Реквизит в (ВЫбрать $ВидСправочника36." + Вид + " + ПодСпр.ID ....) использовать. "Вид" заранее неизвестен.

Пока через Прав($Спр.Реквизит, 9)  (+ доп. условия на вид справочника) выкрутился, условие позволило.
В данной задаче подошло, но решение совсем не универсальное.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #487 - 27. Февраля 2010 :: 14:05
Печать  
Код
Выбрать все
$Спр.Реквизит в (ВЫбрать :ВидСправочника." + Вид + "~||ПодСпр.ID ....) 


?????
  

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


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #488 - 27. Февраля 2010 :: 19:04
Печать  
Спасибо, запомню на будущее. Эту задачу переделывать уже не буду, смысла нет - а потом обязательно пригодитсяУлыбка
  
Наверх
 
IP записан
 
sashas09
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #489 - 28. Февраля 2010 :: 22:40
Печать  
А вот к автору вопрос - а насколько кошернее (или наоборот) с точки зрения времени подготовки текста будет, если конструкции типа

     
Код
Выбрать все
Если Врег(ВтораяЧасть) = ... Тогда

	ИначеЕсли Врег(ВтораяЧасть) = ... Тогда

	ИначеЕсли Врег(ВтораяЧасть) = ... Тогда 



заменить на
Код
Выбрать все
 вРегВтораяЧасть=вРег(втораяЧасть);
	  Если вРегВтораяЧасть = ... Тогда

	ИначеЕсли вРегВтораяЧасть = ... Тогда

	ИначеЕсли вРегВтораяЧасть = ... Тогда 



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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #490 - 01. Марта 2010 :: 04:31
Печать  
Ну я думаю в целом 1-2 мс можно выиграть Улыбка. На самом деле такие "узкие" моменты давно пора подправить, как нибудь обязательно соберусь на оптимизацию. Но наврядли скоро.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #491 - 01. Марта 2010 :: 06:18
Печать  
Новый релиз:
1.05.013 от 01.03.10 г.
- Новый публичный атрибут РежимRPC. Имеет значение только для SQL формата БД. При установке значения = 1 выполнение запроса будет происходить с использованием хранимой процедуры sp_executesql. Подробнее можно почитать тут.
- Добавлена типизация $ВидСубконто в методе «СоздатьТаблицу».

В общем то ничего особенного.
  

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


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #492 - 01. Марта 2010 :: 09:14
Печать  
опять же к автору

а вот Эффективный способ конкатенации строк в 1С не поможет?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #493 - 01. Марта 2010 :: 10:38
Печать  
Спасибо за ссылку, почитал, подумал. Но главная проблема не в том что строки складываются долго, а в том что работа с метаданными длиться долго. Хотя какой-то выигрыш можно безусловно получить. Надо подумать Улыбка. А лучше замерить.  Подмигивание
  

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


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #494 - 01. Марта 2010 :: 11:13
Печать  
А кешировать работу с метаданными?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 31 32 [33] 34 35 ... 60
ОтправитьПечать