Имя: Пароль:
1C
1С v8
ПОдскажите. получить нумерацию строк в запросе
,
0 zladenuw
 
04.02.13
16:17
Пробовал. но что то не то.
Книга знаний: v8: Нумерация строк в запросе

Мне надо получить вот по такому запросу.

Получаю нумерацию. но не по порядку.

ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 50
   РеализацияТоваровУслуг.Контрагент КАК Контрагент
ПОМЕСТИТЬ ВремТЗ
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
   РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2

УПОРЯДОЧИТЬ ПО
   Контрагент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВремТЗ.Контрагент КАК Контрагент,
   КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК Ссылка
ИЗ
   ВремТЗ КАК ВремТЗ
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
       ПО ВремТЗ.Контрагент.Наименование >= Контрагенты.Наименование

СГРУППИРОВАТЬ ПО
   ВремТЗ.Контрагент

УПОРЯДОЧИТЬ ПО
   ВремТЗ.Контрагент.Наименование
1 zladenuw
 
04.02.13
16:19
(0) вообщем номера не по порядку. а начиная с 17 и пошло 56 и т.д.
2 Rovan
 
гуру
04.02.13
16:21
помещай в ВТ, а потом при выборке сортируй по №
3 zladenuw
 
04.02.13
16:22
(2) ой не так написал. номер идет не с 1 а с 17. потом следующия запись и там не 18. а 56.
скрин. сейчас сделаю
4 zladenuw
 
04.02.13
16:23
5 zladenuw
 
04.02.13
16:23
Если делаю просто соединение к справочнику. то все красиво. именно лажа с документов. что не так ?
6 Kashemir
 
04.02.13
16:31
(5) А кто тебе сказал что наименование уникально ?
7 zladenuw
 
04.02.13
16:33
Даже если так. то все равно чуда нету.
      ПО ВремТЗ.Контрагент.Наименование+ВремТЗ.Контрагент.Код >= Контрагенты.Наименование+Контрагенты.Код
8 Ёпрст
 
04.02.13
16:33
(0)
ПО ВремТЗ.Контрагент>= Контрагенты.Ссылка
9 Ёпрст
 
04.02.13
16:34
УПОРЯДОЧИТЬ ПО
   ВремТЗ.Контрагент
10 zladenuw
 
04.02.13
16:35
(9) Спасибо.
11 zladenuw
 
04.02.13
16:36
(8) а почему в примере.
Книга знаний: v8: Нумерация строк в запросе  
идет соединение по Наименованию ? почему по ссылке не показывали ?
12 Kashemir
 
04.02.13
16:37
Если с упорядочиванием по наименованию то лучше так

ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 50
   РеализацияТоваровУслуг.Контрагент КАК Контрагент,
   РеализацияТоваровУслуг.Контрагент.Наименование КАК КонтрагентНаименование
ПОМЕСТИТЬ ВремТЗ
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
   РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2

УПОРЯДОЧИТЬ ПО
   Контрагент

ИНДЕКСИРОВАТЬ ПО
   КонтрагентНаименование,
   Контрагент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВремТЗ.Контрагент,
   КОЛИЧЕСТВО(ВремТЗ1.Контрагент) КАК Контрагент1
ИЗ
   ВремТЗ КАК ВремТЗ
       ЛЕВОЕ СОЕДИНЕНИЕ ВремТЗ КАК ВремТЗ1
       ПО (ВремТЗ.КонтрагентНаименование > ВремТЗ1.КонтрагентНаименование
               ИЛИ ВремТЗ.КонтрагентНаименование = ВремТЗ1.КонтрагентНаименование
                   И ВремТЗ.Контрагент >= ВремТЗ1.Контрагент)

СГРУППИРОВАТЬ ПО
   ВремТЗ.Контрагент

УПОРЯДОЧИТЬ ПО
   Контрагент1
13 zladenuw
 
04.02.13
16:46
(12) спасибо. буду знать
14 Ёпрст
 
04.02.13
16:48
(12) да пофик по чему, главное, чтоб было уникальное поле.
15 zladenuw
 
04.02.13
16:50
(14) ясно. всем спасибо. главное что понял как :)
16 Infsams654
 
04.02.13
17:14
(15) учти, что при больших объемах нумерация в запросе будет гораздо длительнее, чем получить в ТЗ и пронумеровать
17 Kashemir
 
04.02.13
17:22
(16) Пронумерованная тз требует программной обработки. А если это нужно в пределах большого запроса, это крайне неудобно
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший