Имя: Пароль:
1C
1С v8
Транформация запросов 1С в SQL
0 simol
 
25.11.11
14:42
Попросил товарищ помочь в MS SQL наваять запрос с итогами(термин 1С).
Я взял 1С, ззял профайлер MS SQL.
Наваял запросик


ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
   РеализацияТоваровУслугТовары.Количество КАК Количество
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ИТОГИ
   СУММА(Количество)
ПО
   Ссылка


В профайлере увидел:

SELECT
T1._Document450_IDRRef,
T1._Fld13391
FROM _Document450_VT13385 T1 WITH(NOLOCK)

Получилась простая выборка
То есть Итоги делает 1С-ка? SQL при этом не используется?
1 acsent
 
25.11.11
14:43
скл не умеет так делать
2 Axel2009
 
25.11.11
14:45
(1) умеет.
(0) да, итоги делает сама 1ска
3 simol
 
25.11.11
14:45
(2)А какая конструкция скуля это делать?
4 ДенисЧ
 
25.11.11
14:46
(1) Уметь-то умеет...
5 ДенисЧ
 
25.11.11
14:46
(3) group by ... with rollup например
6 aleks-id
 
25.11.11
14:47
7 simol
 
25.11.11
15:00
Задача усложнилась тем .что там не MS SQL, а Access. И rollup там нет
8 Maxus43
 
25.11.11
15:01
(7) где там? в скл смотриш профайлером а там Аксесс?))
9 shuhard
 
25.11.11
15:09
(7) для ACCESS надо UNION сложить детальные записи и сгруппированные
и с этим проблем нет,

а вот иерархический справочник в mdb штука сложная
10 kiruha
 
25.11.11
15:17
(0)
А зачем делать итоги на сервере ?
Оптимизация из за доступа к данным здесь не нужна, трафик увеличивается, сервер 1С может иметь больше свободных вычисл мощностей
11 vmv
 
25.11.11
15:19
адинэс - флагман обращения к данным посредством запросов, скулям и не снилось то, что она умеет, админы реляционок негодуют
12 simol
 
25.11.11
15:23
(11) :)
(8) У товарища из (0)
(9) Спасибо, по этому пути и пойдет
(5) Спасибо, буду знать
(10) Раньше не задумывался и думал, что это скуль делает
13 shuhard
 
25.11.11
15:25
(12) идите
и помни
подзапросы в mdb есть, но их нельзя строить в конструкторе
14 simol
 
25.11.11
15:27
(13) это намек на "У парня моей подруги"? ;)