Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) эффективное использование MSSQL (число прочтений - 7718 )
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
эффективное использование MSSQL
05. Декабря 2006 :: 08:05
Печать  
Прочитал "эффективное использование MSSQL". Появились некоторые вопросы:
1.В "Получение документа из регистра" написано:
ТекстЗапроса = "
|SELECT
|      Рег.IDDoc as [Док $Документ],
|      Рег.IDDocDef as Док_вид,
|      |$Рег.Товар as [Товар $Справочник.Номенклатура],
...
В "Виртуальные таблицы"
ТекстЗапроса = "
|SELECT
|      Рег.Товар as [Товар $Справочник.Номенклатура],
Вопрос:
Нужен ли знак $ перед Рег

2. Для регистра остатков есть
$Регистр.ХХХ – таблица движений регистра ХХХ
$РегистрИтоги.ХХХ – таблица итогов регистра ХХХ
Вопрос: а для регистра оборотов?

3. в "Виртуальные таблицы"  написано
|FROM
|      $РегистрОстатки.ОстаткиТоваров(:ВыбДата,,
|                               Склад = :ВыбСклад,
|                               (Товар), (Количество)) as Рег";

$РегистрОстатки- это еще одно название для регистра остатков в дополнение к $Регистр.ХХХ и $РегистрИтоги.ХХХ


4. И последний : каково правило записи этой конструкции
$РегистрОстатки.ОстаткиТоваров(:ВыбДата,,Склад = :ВыбСклад, (Товар), (Количество)) as Рег";
Т.е. интерисует синтаксис - что за чем должно идти, что  заключается в скобки и.т.д
                          
                           


  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #1 - 05. Декабря 2006 :: 08:15
Печать  
1. нет, в случае с ВТ знак '$' не нужен
2. для рег. оборотов - тоже самое
3. нет, $РегистрОстатки.ХХХ - это метаимя виртуальной таблицы регистра, а $Регистр.ХХХ и $РегистрИтоги.ХХХ - это метаимена двух физических таблиц региста
4. читай документацию: http://www.1cpp.ru/docum/html/ODBC.html#id33
  

1&&2&&3
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: эффективное использование MSSQL
Ответ #2 - 05. Декабря 2006 :: 09:07
Печать  
Прочитал. Попробовал составить запрос
Регист оборотов Тр
Измерения: Авто, Водитель
Ресурсы: Заправка, Пробег
нужно вычислить пробег по каждой машине за год.
|SELECT
|      ВесьПробег.Авто [Авто $Справочник.Авто],
|      ВесьПробег.ПробегОборот
|FROM
|      $РегистрОбороты.Тр(:ВыбДата,:ВыбДатаКон~,,,,
|(Авто),Пробег
|) as ВесьПробег
|";
На выходе 0 !
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


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

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #3 - 05. Декабря 2006 :: 11:58
Печать  
попробуй получить результат без фильтрации по периоду - может у тебя ошибка в установке дат (начала/конца)
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: эффективное использование MSSQL
Ответ #4 - 05. Декабря 2006 :: 12:16
Печать  
Попробовал - то же самое
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: эффективное использование MSSQL
Ответ #5 - 06. Декабря 2006 :: 10:36
Печать  
У меня эта база DBF. Вичитал, что виртуальные таблицы не применимы для DBF. Попробовал такой запрос
|SELECT
|      Рег.Авто [Авто $Справочник.Авто],
|      SUM(Рег.ПробегОборот) as Пробег
|FROM
|      $РегистрОбороты.Тр as Рег
|WHERE
|   (Рег.PERIOD BETWEEN :ВыбДата AND :ВыбДатаКон~)
|GROUP BY Рег.Авто 
|";
И опять ничего.
Помогите разобраться в чем дело!
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #6 - 06. Декабря 2006 :: 11:10
Печать  
А ты подправленную Vaicartana'ом версию этой статьи читал?
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: эффективное использование MSSQL
Ответ #7 - 06. Декабря 2006 :: 13:23
Печать  
Для DBF версии рекомендуется использовать объект “ OLEDBData”(для версии 1С++ 2.0.0.0 и выше)
а для версии 1.8 , что использовать?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #8 - 06. Декабря 2006 :: 13:49
Печать  
Использовать 2.0.3.1/2 или 2.5
Иначе никак.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: эффективное использование MSSQL
Ответ #9 - 06. Декабря 2006 :: 14:06
Печать  
Попробовал 2.0.3. 1
По запросу:
|SELECT
|      Спр.Code as Код,
|      Спр.Descr as Наименование
|FROM
|      $Справочник.Авто as Спр";

Выдает
: FAILED! ICommandText::Execute(): Cannot open file h:\logist\sc12.dbf.

Какие еще нужны условия, что бы получить доступ к таблице dbf?

  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #10 - 06. Декабря 2006 :: 14:11
Печать  
Небось, монопольно в 1С сидишь? Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #11 - 06. Декабря 2006 :: 14:11
Печать  
К сожалению, я прямыми запросами мало занимаюсь, время от времени что-нибудь в плане поиска/отбора делаю и все.

Сможешь представить простую тестовую конфу, в которой можно повторить твою ошибку, на разных релизах 1С++ ?
Плиз, сделай и в ветку выложи.
Тогда сможем разобраться и поправить
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #12 - 06. Декабря 2006 :: 14:12
Печать  
Uzhast писал(а) 06. Декабря 2006 :: 14:11:
Небось, монопольно в 1С сидишь? Улыбка

Да неужели ? Печаль
Но ведь говорит, что на старом релизе работает!
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: эффективное использование MSSQL
Ответ #13 - 06. Декабря 2006 :: 14:16
Печать  
artbear писал(а) 06. Декабря 2006 :: 14:12:
Uzhast писал(а) 06. Декабря 2006 :: 14:11:
Небось, монопольно в 1С сидишь? Улыбка

Да неужели ? Печаль
Но ведь говорит, что на старом релизе работает!


Вполне может быть. Он только-только на OLE DB перешел.
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: эффективное использование MSSQL
Ответ #14 - 06. Декабря 2006 :: 14:20
Печать  
Я подключил для 2.0.3.1 для пробы.

Точно ! В монопольном! Спасибо.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать