Имя: Пароль:
1C
1С v8
хитрая выборка для табеля учёта рабочего времени
, ,
0 Kurbash
 
17.08.15
09:43
Всем привет. Такая задача: есть регистр с полями КоличествоЧасов1, КоличествоЧасов2 и т.д до 31-для табеля самописного сделал, как можно в запросе обратиться к определенному реквизиту? например День(Дата) нам даст 1, как вытянуть значение КоличествоЧасов1? МОжно конечно пульнуть результат одного запроса в ТЗ и там выбрат то что нужно а можно как нибудь в одном запросе?
1 Nuobu
 
17.08.15
09:47
(0) Выбор Когда не предлагать?
2 piter3
 
17.08.15
09:48
собрать текст запроса
3 Kurbash
 
17.08.15
09:51
(1) выбор Когда как поможет?
4 Nuobu
 
17.08.15
09:58
(3) Выбор Когда День(Дата) = 1 Тогда КоличествоЧасов1
Иначе Когда День(Дата) = 2 Тогда КоличествоЧасов2
Иначе
КоличествоЧасов3
Конец КАК КоличествоЧасовВДне


Как-то так поможет.
5 ДенисЧ
 
17.08.15
09:58
выбор
когда день(ДАта) = 1 Тогда КоличествоЧасов1
когда день(ДАта) = 2 Тогда КоличествоЧасов2
...
КОнец Как КоличествоЧасов
6 Kurbash
 
17.08.15
10:03
у меня так было в первоначальном варианте но конструкция громоздкая получилась, думал может хитрый ход есть
7 Nuobu
 
17.08.15
10:04
(6) Тоесть 31 реквизит тебя не смутил?
8 SeraFim
 
17.08.15
10:04
ВЫБРАТЬ
    1 КАК День,
    МойТабель.КоличествоЧасов1 КАК КоличествоЧасов
ПОМЕСТИТЬ ВТДни
Из
    МойТабель КАК МойТабель

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    2,
    МойТабель.КоличествоЧасов2
Из
    МойТабель КАК МойТабель

.....


ОБЪЕДИНИТЬ

ВЫБРАТЬ
    31,
    МойТабель.КоличествоЧасов31
Из
    МойТабель КАК МойТабель
;

ВЫБРАТЬ
    ВТДни.КоличествоЧасов
ИЗ
    ВТДни КАК ВТДни
ГДЕ
    ВТДни.День = &НужныйДень
9 Kurbash
 
17.08.15
10:05
(7)-нет не смутил- в ЗУПе так же вышли из положения
(8)-транспонация?
10 SeraFim
 
17.08.15
10:06
(6) для хитрого кода нужно проектировать нормально.
В табеле 31 реквизит, так нафига 31 реквизит в Регистре делать?
Делай измерение Дата и ресурс КоличествоЧасов и выгребай уже из регистра
11 Nuobu
 
17.08.15
10:07
(9) Если ты про табель, то да.
А вот про остальное - читай (10)
12 SeraFim
 
17.08.15
10:09
Хотя если твоя задача исключительно "в запросе обратиться к определенному реквизиту", то тебе в (2) подсказали.
"ВЫБРАТЬ
    МойТабель.КоличествоЧасов"+НомерДня+" КАК КоличествоЧасов
ПОМЕСТИТЬ ВТДни
Из
    МойТабель КАК МойТабель"
13 Kurbash
 
17.08.15
10:11
всем спасибо, буду рыть:)
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.