Имя: Пароль:
1C
 
Нумерация строк запроса
0 Кондидат В
 
23.05.11
13:07
Всем привет. Подскажите пожалуйста, Как выбрать данные из таблицы, добавив еще поле "НомерСтроки" к результирующему запросу
1 Ненавижу 1С
 
гуру
23.05.11
13:08
кОндидат, блин!
2 lxs
 
23.05.11
13:08
(1) +100500
3 lxs
 
23.05.11
13:09
(0) Обрабатывай результат.
4 Кондидат В
 
23.05.11
13:10
(1) А ты наблюдательный, молодец.
(3) Не, у меня задание сделать запросом
5 also
 
23.05.11
13:10
6 Ненавижу 1С
 
гуру
23.05.11
13:10
(4) от кого задание?
7 Кондидат В
 
23.05.11
13:11
Курс. Язык запросов :)
8 Megas
 
23.05.11
13:11
Ну для начала создать в ТЗ номер строки ... а дальше запрос к ТЗ

МВТ = новый менеджервременныхтаблиц()
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.Текст() =
"Выбрать * из &Тз как ТЗ поместить ВремТаб "
Запрос.УстановитьПараметры("Тз",Тз);

и тд...
9 Кондидат В
 
23.05.11
13:12
ОК
10 Ненавижу 1С
 
гуру
23.05.11
13:12
в общем случае этого сделать нельзя
11 ДенисЧ
 
23.05.11
13:13
(10) вообще-то можно...
12 Fragster
 
гуру
23.05.11
13:15
(11) только дооооолго и если в таблице, в которой ищем, нет того, что можно взять за ключевое поле, то не получится
13 ДенисЧ
 
23.05.11
13:15
14 Megas
 
23.05.11
13:19
(13) Чё то типо того в МайСкуле делал
Причём тут 1с?

declare i int
set i=0

select 0 as id, Name, Comm
into #temp
from MyTable

update #temp set i=id=i+1

select * from #temp

drop table #temp
15 Ненавижу 1С
 
гуру
23.05.11
13:19
(11) нельзя, если типовыми методами языка запросов 1с
когда в таблице нет первичного (или любого уникального) ключа
16 Megas
 
23.05.11
13:20
Да проще в тз вывалить и пронумеровать... чем забивать гвозди микроскопом
17 Fragster
 
гуру
23.05.11
13:20
(15) баян
18 Immortal
 
23.05.11
13:21
(15) ключ может быть создан вручную, виртуально
кроме того, ключ может быть составным
19 Fragster
 
гуру
23.05.11
13:22
(18) пронумеруй строки в таблице:


ааа
ааа
ааа
ббб
ббб
ббб
20 Ненавижу 1С
 
гуру
23.05.11
13:22
(17) но тем не менее
(18) ну вот может быть, это уже другое дело, а просто если в запрос например передать ТЗ с одним столбцом:
0
0
0
0
0
0
...
21 Fragster
 
гуру
23.05.11
13:22
(19)+ запросами 1с, естесственно
22 Fragster
 
гуру
23.05.11
13:23
(20) почетный баян :Р
23 Ненавижу 1С
 
гуру
23.05.11
13:23
(22) печатай, котэ, печатай ))
24 Fragster
 
гуру
23.05.11
13:25
(23) у меня обработина запущена на минут 20 еще - делать нефиг :(
25 Immortal
 
23.05.11
20:25
(19)готовим таблицу с числами(есть аналог с датами в БЗ, примерно также)
ну и дальше - все зависит от твоего воображения
26 rs_trade
 
23.05.11
20:44
27 Immortal
 
23.05.11
20:45
(26)ты топик почитай=)
28 rs_trade
 
23.05.11
20:55
(27) ну так в тему же
29 Immortal
 
23.05.11
21:01
(28)наверное
30 Immortal
 
23.05.11
21:02
кажется, с СКД эту задачку проще решить и эффективнее
31 rs_trade
 
23.05.11
21:07
даешь ROW_NUMBER() в язык запросов 1С ))
32 Кондидат В
 
24.05.11
09:35
Доброго утра! (по крайней мере у меня) Вот что у меня получилось:

ВЫБРАТЬ
   ПродажиОбороты.Период КАК Период,
   ПродажиОбороты.СуммаОборот
ПОМЕСТИТЬ ТС
ИЗ
   РегистрНакопления.Продажи.Обороты(, , День, ) КАК ПродажиОбороты

ИНДЕКСИРОВАТЬ ПО
   Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   КОЛИЧЕСТВО(ТС2.Период)+1 КАК Номер,
   ТС.Период,
   ТС.СуммаОборот
ИЗ
   ТС КАК ТС
       ЛЕВОЕ СОЕДИНЕНИЕ ТС КАК ТС2
       ПО ТС.Период > ТС2.Период

СГРУППИРОВАТЬ ПО
   ТС.Период,
   ТС.СуммаОборот
   
УПОРЯДОЧИТЬ ПО ТС.Период
33 Ненавижу 1С
 
гуру
24.05.11
10:13
(32/) справился, молодец
34 Megas
 
24.05.11
10:23
(32) Спасибо
35 SiAl-chel
 
24.05.11
12:37
(14) Потому что в запросах 1С нет Update, есть только Select, такое не прокатит.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.