Имя: Пароль:
1C
1С v8
гуру запросов, подскажите)
0 Stim213
 
26.09.11
19:31
Есть простейший запрос, возвращающий упорядоченную таблицу, типа:

Молоток
Молоток
Молоток
Пила
Пила
Топор
Топор
Топор
Топор
Гвозди
Гвозди

Как в запросе(!) к этой таблице присоединить доп поле, которое обеспечивало бы "чередование" своих значений(0 и 1) в зависимости от значений колонки. Т.е. должно получится в итоге:


Молоток    1
Молоток    1
Молоток    1
Пила       0
Пила       0
Топор      1
Топор      1
Топор      1
Топор      1
Гвозди     0
Гвозди     0

(это нужно для условного оформления)

Такую таблицу возможно получить из запроса??
1 rinatru
 
26.09.11
19:32
Упорядочить ПО
2 Stim213
 
26.09.11
19:33
(1) это я знаю) мне колонку из 1 и 0 нужно добавить в запросе, я заранее не знаю номенклатуру
3 kuromanlich
 
26.09.11
19:35
доп таблицу какую нибудь с завязкой на четность бы... только вот номера как в нее бухнуть?..
4 Eugeneer
 
26.09.11
19:35
(2) в запросе не знаю. Но можно было б после формирования ТЗ после выгрузки запрос по всем нечетным строкам проставить 1. ну и соответственно это решит твою задачу. Не думаю что это будет трудозатратно.
5 kuromanlich
 
26.09.11
19:36
(4) вот вот... что я и хотел сказать в (3)
6 kumena
 
26.09.11
19:37
а выборка то линейной будет?

если да то сгруппировать список, присвоить порядковый номер, левым соединнеием соединить твою основную таблицу с ней и делить на четные и нечетные.
7 kumena
 
26.09.11
19:37
присвоить порядковый номер - запросом
8 Eugeneer
 
26.09.11
19:38
Если 8.1 то можно ничо не ставить.
А тупо в условии оформления поставить Если Целое = НомерСтроки / 2 Тогда ляляля.
9 Stim213
 
26.09.11
19:38
(4) результат запроса выгружается сразу в ТЧ, обход в цикле делать нельзя.

И какой к черту чет/нечет?? в выборке могут быть только одни элементы, например!
10 kumena
 
26.09.11
19:38
нумерация строк в запросе - любимая тема прошлых лет
11 Stim213
 
26.09.11
19:38
(8) ты вообще в теме?) Какой чет/нечет, о чем ты вообще?)
12 Eugeneer
 
26.09.11
19:39
(11) да действительно прогнал)) у него три молока. сори.
13 kumena
 
26.09.11
19:39
"ты вообще в теме?) Какой чет/нечет, о чем ты вообще?)" - прошу прощения но это вы не догоняете
14 kumena
 
26.09.11
19:40
+13 читай до полного понимая 6
15 Stim213
 
26.09.11
19:41
(14) ну 6 - это другое дело. я про 8
16 Eugeneer
 
26.09.11
19:41
Ну все равно решается классическим методом

ВремЗнач = "";

Для каждого стр из ТЗ ЦИкл
Если ВремЗнач <> стр.Значение Тогда
стр.Пометка = Истина

ВремяЗнач = стр.Значение;
КонецЕсли;
17 Stim213
 
26.09.11
19:42
(16) нет. это неоправданная трата ресурсов, так нельзя
18 Eugeneer
 
26.09.11
19:43
(6) потребует все равно аналогично.
На 30000 строк эта трата будет секундной.
Не вижу смысла экономить на такой мелочи.
19 Stim213
 
26.09.11
19:46
(14)спасибо тебе большое.
зы. а решишь задачку посложнее?

Когда нужно проставить "череду" разным объектам МД, типа

Заказ поставщику №1   1
Заказ поставщику №2   1
Заказ поставщику №3   1
Заказ покупателя №1   0
Заказ покупателя №2   0

и тд
20 kumena
 
26.09.11
19:59
в 8.2 есть функция в запросе ТипЗНачения()
группируй ей, а остальное все то же самое