Имя: Пароль:
1C
1С v8
Условие в запросе
,
0 Валидатор
 
02.09.13
14:34
Как в запросе указать такое условие?
Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 1 Тогда
            Строка.Параметры.январь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy");    
        КонецЕсли;

Выбор
КОГДА Месяц(Документ.ДатаПланирования) = 1 ТОГДА
???--- тут что указыватся вместо строка.параметры.январь которая была--???
КОНЕЦ
1 Ненавижу 1С
 
гуру
02.09.13
14:35
Выбор
КОГДА Месяц(Документ.ДатаПланирования) = 1 ТОГДА
  ГОД(Документ.ДатаПланирования)
КОНЕЦ
2 Валидатор
 
02.09.13
14:39
(1) для условия с месяц = 2, новый делать выбор, или выбор только в начале а потом просто

когда = 2
тогда год()
конец

когда = 3
тогда (год)
конец
и т.д.?
3 Нуф-Нуф
 
02.09.13
14:39
ужаснах
4 Валидатор
 
02.09.13
14:40
(3) так не получается)
5 Валидатор
 
02.09.13
14:42
Должно же быть так:
ВЫБОР
КОГДА месяц(..) = 1
Тогда Год(..)
Иначе ""
Конец

потом опять
ВЫБОР
КОГДА месяц(..) = 2
Тогда Год(..)
Иначе ""
Конец

но так ругается он((
6 Ненавижу 1С
 
гуру
02.09.13
14:44
шо за нах то?
7 Валидатор
 
02.09.13
14:44
(6) хочу такое условие прописать в запрос:
Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 1 Тогда
            Строка.Параметры.январь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy");    
        КонецЕсли;
        Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 2 Тогда
            Строка.Параметры.февраль = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy");    
        КонецЕсли;

        Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 3 Тогда
            Строка.Параметры.мартИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy");    
        КонецЕсли;
8 anaed
 
02.09.13
14:44
выбор когда <условие>
тогда <выражение>
иначе выбор когда <условие2>
тогда <выражение2>
иначе <выражение3>
конец конец
9 Ненавижу 1С
 
гуру
02.09.13
14:45
ну делай 12 полей, в чем проблема то?
10 Валидатор
 
02.09.13
14:45
(9) с путаницей в когда тогда конец
11 rbcvg
 
02.09.13
14:45
Пример:
ВЫБРАТЬ
Справочник.Номенклатура.Наименование,
ВЫБОР
   КОГДА Справочник.Номенклатура.Этогруппа = ИСТИНА
      ТОГДА "Это Группа"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 1000
      ТОГДА "1000 -"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 100
      ТОГДА "100 – 1000"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 10
      ТОГДА "10 – 100"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 0
      ТОГДА "0 – 10"
ИНАЧЕ
   "Не Задана"
КОНЕЦ Цена
12 Валидатор
 
02.09.13
14:57
(11) все равно запутался, по (8) если то так получаетсяя:
ВЫБОР
    КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) = 1
        ТОГДА ГОД(ПланЗакупокСоставПлана.ттДатаИзвещения)
    ИНАЧЕ ВЫБОР
            КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) <> 1
                ТОГДА " "
        КОНЕЦ
КОНЕЦ

ВЫБОР
    КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) = 2
        ТОГДА ГОД(ПланЗакупокСоставПлана.ттДатаИзвещения)
    ИНАЧЕ ВЫБОР
            КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) <> 2
                ТОГДА " "
        КОНЕЦ
КОНЕЦ
но второе условие где "2" он уже не дает сделать9
13 Валидатор
 
02.09.13
15:00
ВЫБОР
    КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) = 1
        ТОГДА ГОД(ПланЗакупокСоставПлана.ттДатаИзвещения)
    ИНАЧЕ ВЫБОР
            КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) <> 1
                ТОГДА " "
            ИНАЧЕ ВЫБОР
                    КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) = 2
                        ТОГДА ГОД(ПланЗакупокСоставПлана.ттДатаИзвещения)
                    ИНАЧЕ ВЫБОР
                            КОГДА МЕСЯЦ(ПланЗакупокСоставПлана.ттДатаИзвещения) <> 2
                                ТОГДА " "
                        КОНЕЦ
                КОНЕЦ
        КОНЕЦ
КОНЕЦ

вот так надо походу