Имя: Пароль:
1C
1С v8
ДАТАВРЕМЯ не вычисляется
0 ixijixi
 
27.01.16
14:52
Коллеги, помогите с небольшим затыком. Дело в том, что запрос выдает ошибку

Неверные параметры "ДАТАВРЕМЯ"
Датавремя(2015, <<?>>ЕСТЬNULL(Док.Месяц, 1), 1) Как Дата

Док.Месяц = это число(2,0) не отрицательное

Сам запрос

ВЫБРАТЬ
    Док.Месяц,
    Датавремя(2015, ЕСТЬNULL(Док.Месяц, 1), 1) Как Дата
ИЗ
    Документ.СправкаПоНДФЛВНалоговыйОрганС2015.СведенияОДоходах КАК Док
1 Timon1405
 
27.01.16
14:53
в датавремя нельзя использовать вычисления. такая фича
2 Timon1405
 
27.01.16
14:54
*выбор когда спасет
3 igork1966
 
27.01.16
15:00
(0) Кстати в указанном запросе никогда в Док.Месяц NULL не будет
4 ObjectRelation Model
 
27.01.16
15:09
ДАТАВРЕМЯ это не функция, а литерал
5 ixijixi
 
27.01.16
15:13
(1) (4) ясно понятно
как же тогда обойти? ВЫБОР конечно хорошо, но, помимо месяца есть еще и поле НалоговыйПериод. Уж больно обширный список выбора получется
6 Nuobu
 
27.01.16
15:13
Отак от:

Датавремя(2015, ЕСТЬNULL(Док.Месяц, 1), 1)

ДобавитьКДате(ДатаВремя(2015,1,1), ЕСТЬNULL(Док.Месяц, 1), Месяц)
7 ObjectRelation Model
 
27.01.16
15:16
(5) ДОБАВИТЬКДАТЕ, РАЗНОСТЬДАТ
8 ixijixi
 
27.01.16
15:32
(6) Да, так лучше чем
ВЫБОР
        КОГДА Док.Ссылка.НалоговыйПериод = 2015
            ТОГДА ВЫБОР
                    КОГДА Док.Месяц = 1
                        ТОГДА ДАТАВРЕМЯ(2015, 1, 1)
                    КОГДА Док.Месяц = 2
                        ТОГДА ДАТАВРЕМЯ(2015, 2, 1)
                    КОГДА Док.Месяц = 3
                        ТОГДА ДАТАВРЕМЯ(2015, 3, 1)
                    КОГДА Док.Месяц = 4
                        ТОГДА ДАТАВРЕМЯ(2015, 4, 1)
                    КОГДА Док.Месяц = 5
                        ТОГДА ДАТАВРЕМЯ(2015, 5, 1)
                    КОГДА Док.Месяц = 6
                        ТОГДА ДАТАВРЕМЯ(2015, 6, 1)
                    КОГДА Док.Месяц = 7
                        ТОГДА ДАТАВРЕМЯ(2015, 7, 1)
                    КОГДА Док.Месяц = 8
                        ТОГДА ДАТАВРЕМЯ(2015, 8, 1)
                    КОГДА Док.Месяц = 9
                        ТОГДА ДАТАВРЕМЯ(2015, 9, 1)
                    КОГДА Док.Месяц = 10
                        ТОГДА ДАТАВРЕМЯ(2015, 10, 1)
                    КОГДА Док.Месяц = 11
                        ТОГДА ДАТАВРЕМЯ(2015, 11, 1)
                    КОГДА Док.Месяц = 12
                        ТОГДА ДАТАВРЕМЯ(2015, 12, 1)
                КОНЕЦ
    КОНЕЦ КАК Дата
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн