Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Источник ТабличногоПоля (число прочтений - 4113 )
ac86
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Источник ТабличногоПоля
06. Сентября 2007 :: 08:08
Печать  
Доброго времени суток, знатоки!

Подскажите, пожалуйста, что не так делаю.
Создаю табличное поле, и ему источник:
Источник = СоздатьОбъект("ODBCDataProvider.MSSQL");
База = СоздатьОбъект("ODBCDatabase");
Источник.БазаДанных = База;
А если в запросе использую "distinct", он говорит, что такого не знает, хотя в QA запрос прекрасно отрабатывает.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Источник ТабличногоПоля
Ответ #1 - 06. Сентября 2007 :: 08:59
Печать  
Табличное поле  полностью не поддерживанет T-SQL  смотри в справку.
Попробуй использовать подзапрос, может сработает
  
Наверх
ICQ  
IP записан
 
ac86
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Re: Источник ТабличногоПоля
Ответ #2 - 06. Сентября 2007 :: 09:07
Печать  
Nick писал(а) 06. Сентября 2007 :: 08:59:
Табличное поле  полностью не поддерживанет T-SQL  смотри в справку.
Попробуй использовать подзапрос, может сработает


почему? ведь я использую внешний драйвер через который источник получает данные!
group by тоже не будет работать?
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Источник ТабличногоПоля
Ответ #3 - 06. Сентября 2007 :: 09:11
Печать  
ac86 писал(а) 06. Сентября 2007 :: 09:07:
Nick писал(а) 06. Сентября 2007 :: 08:59:
Табличное поле  полностью не поддерживанет T-SQL  смотри в справку.
Попробуй использовать подзапрос, может сработает


почему? ведь я использую внешний драйвер через который источник получает данные!
group by тоже не будет работать?


Это вопрос к DmitrO. Вообще у меня работают довольно сложные запросы вот както так Улыбка :

     |SELECT
     |   Данные.ИД as ИД,
     |      Данные.Заказчик as [Заказчик $Неопределенный],
     |      Данные.Количество as Количество,
     |      Данные.ДокЗаявка as [ДокЗаявка $Документ.ЗаявкаОкончательная],
     |      Данные.Распределено as Распределено,
     |      Данные.Нераспределено as Нераспределено, 
     |   ROUND(ISNULL(case Данные.Количество
     |      when 0 THEN 0
     |      else (Данные.Распределено/Данные.Количество)
     |      end, 0)*100,0) as Процент,
     |      Данные.Приоритет as Приоритет
     |
     |FROM (
     |            SELECT 
     |                   $Заяв.Заказчик + Заяв.IDDoc as ИД,
     |                $Заяв.Заказчик as Заказчик,   
     |                ISNULL(SUM(Ном.Количество),0) as Количество,
     |                Заяв.IDDoc as  ДокЗаявка,
     |                SUM(Ном.Распределено) as Распределено,
     |                SUM(Ном.Количество - Ном.Распределено) as Нераспределено,
     |                 ЗаявРаспред.Priority as Приоритет
     |            FROM CurRequest as ЗаявРаспред (nolock)
     |            INNER JOIN $Документ.ЗаявкаОкончательная as Заяв (nolock) on Заяв.IDDoc  =  ЗаявРаспред.IDDoc
     |            Left join (
     |               SELECT
     |                        SUM($ЗаявC.КолвоКг) as Количество,      
     |                           ЗаявC.IDDoc as  ДокЗаявка,
     |                           0 as Распределено
     |               FROM CurRequest as ЗаявРаспред (nolock)
     |               INNER JOIN $ДокументСтроки.ЗаявкаОкончательная as ЗаявC (nolock) on  ЗаявРаспред.IDDoc = ЗаявC.IDDoc
     |               Left  JOIN $Справочник.Номенклатура as СпрНом  (nolock) on  ($ЗаявC.Номенклатура = СпрНом.ID)
     |               WHERE  ($СпрНом.PLU = ЯзыкLU)
     |               GROUP BY  ЗаявC.IDDoc
     |               
     |                  UNION ALL
     |
     |               SELECT
     |                        0 as Количество,      
     |                           Заяв.IDDoc as  ДокЗаявка,
     |                           SUM(Distr.NetWeight)  as Распределено
     |               FROM CurRequest as ЗаявРаспред (nolock)
     |               INNER JOIN $Документ.ЗаявкаОкончательная as Заяв (nolock) on  Заяв.IDDoc = ЗаявРаспред.IDDoc      
     |               LEFT  JOIN Distribution as Distr  (nolock) on (Distr.IDDocRequest = Заяв.IDDoc)
     |               Left  JOIN $Справочник.Номенклатура as СпрНом  (nolock) on  (Distr.IDNOM= СпрНом.ID)
     |             WHERE ($СпрНом.PLU = ЯзыкLU) and (Distr.isMark = 0)
     |               GROUP BY  Заяв.IDDoc
     |                  ) as Ном on Ном.ДокЗаявка = Заяв.IDDoc
     |            GROUP BY $Заяв.Заказчик, Заяв.IDDoc, ЗаявРаспред.Priority) as Данные
     |";
  
Наверх
ICQ  
IP записан
 
ac86
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Re: Источник ТабличногоПоля
Ответ #4 - 07. Сентября 2007 :: 08:34
Печать  
А подскажите еще, пожалуйста, как при сделать, чтобы при автоматическом обновлении ТабличногоПоля у меня оставалась активна записи которая была активна до обновления, а то он все время ставит на первую запись, что не есть хорошо.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Источник ТабличногоПоля
Ответ #5 - 07. Сентября 2007 :: 11:39
Печать  
Если ты про обновление иточника данных, то:
Цитата:
Синтаксис: Обновить(ТекущаяСтрока)

Параметры:

ТекущаяСтрока - тип: любой. Необязателен. Зависит от установки идентифицирующего поля.
Описание: Если параметр не указан, то происходит начальное заполнение табличного поля, учитывая значение свойства табличного поля НачальноеПредставление. Если указан параметр, то начальное заполнение табличного поля произойдет с активизацией переданной текущей строки.
  
Наверх
 
IP записан
 
ac86
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Re: Источник ТабличногоПоля
Ответ #6 - 07. Сентября 2007 :: 12:06
Печать  
JohnyDeath писал(а) 07. Сентября 2007 :: 11:39:
Если ты про обновление иточника данных, то:
Цитата:
Синтаксис: Обновить(ТекущаяСтрока)

Параметры:

ТекущаяСтрока - тип: любой. Необязателен. Зависит от установки идентифицирующего поля.
Описание: Если параметр не указан, то происходит начальное заполнение табличного поля, учитывая значение свойства табличного поля НачальноеПредставление. Если указан параметр, то начальное заполнение табличного поля произойдет с активизацией переданной текущей строки.


У табличного поля есть свойство "ТаймаутОбновления" я устанавливаю его равным 5, соответственно каждые 5 секунд оно обновляется без какого либо участия пользователя и активирует перую строку, а мне нужно, чтобы осталась активна таже что и была активна до момента обновления.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Источник ТабличногоПоля
Ответ #7 - 07. Сентября 2007 :: 12:40
Печать  
А св-во "НачальноеПредставление" у тебя установлено?
  
Наверх
 
IP записан
 
ac86
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Re: Источник ТабличногоПоля
Ответ #8 - 07. Сентября 2007 :: 14:16
Печать  
JohnyDeath писал(а) 07. Сентября 2007 :: 12:40:
А св-во "НачальноеПредставление" у тебя установлено?


На сколько я понимаю это свойство определят на начало или на конец выборки быдет спозициирован элемент, а мне нужно не совсем это ведь.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Источник ТабличногоПоля
Ответ #9 - 07. Сентября 2007 :: 14:53
Печать  
Ну вот я и подумал, что оно у тебя было установлено, т.к. идет активация первой строки.
  
Наверх
 
IP записан
 
ac86
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Re: Источник ТабличногоПоля
Ответ #10 - 07. Сентября 2007 :: 15:08
Печать  
JohnyDeath писал(а) 07. Сентября 2007 :: 14:53:
Ну вот я и подумал, что оно у тебя было установлено, т.к. идет активация первой строки.


Да это свойство никак не влияет на это.
А как же сделать, чтобы он оставался именно на той записи на которой и был?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Источник ТабличногоПоля
Ответ #11 - 08. Сентября 2007 :: 07:54
Печать  
Ты разделом форума ошибся Печаль
Тебе нужно в соседний - 1С++, ТурбоМД и прочие расширения.
Также пользуйся поиском
  

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 23. Июля 2007
Re: Источник ТабличногоПоля
Ответ #12 - 10. Сентября 2007 :: 06:31
Печать  
artbear писал(а) 08. Сентября 2007 :: 07:54:
Ты разделом форума ошибся Печаль
Тебе нужно в соседний - 1С++, ТурбоМД и прочие расширения.
Также пользуйся поиском


Спасибо. Пойду туда спрашивать.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать