Имя: Пароль:
1C
1С v8
Неверные параметры ДАТАВРЕМЯ
0 OnePrg
 
15.01.23
15:41
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Значение КАК ДеньРождения,
    ЗначенияСвойствОбъектов.Объект КАК Контрагент,
    ГОД(&НачалоПериода) КАК Год
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ДАТАВРЕМЯ(ГОД(&НачалоПериода),12,31) МЕЖДУ &НачалоПериода И &КонецПериода <-- Неверные параметры ДАТАВРЕМЯ(<<?>>ГОД(&НачалоПериода),12,31) МЕЖДУ &НачалоПериода И &КонецПериода
    И ЗначенияСвойствОбъектов.Свойство.Код = "000000003"
1 Волшебник
 
модератор
15.01.23
15:43
ошибка в параметре &НачалоПериода

Ваш Кэп.
2 OnePrg
 
15.01.23
15:53
(1) но ведь ГОД(&НачалоПериода) КАК Год ошибку не выдаёт, это раз, а второе в параметрах &НачалоПериода стоит как Дата
3 OnePrg
 
15.01.23
16:10
Оказывается ДАТВРЕМЯ ничего кроме цифр не воспринимает

Сделал по другому

ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Значение КАК ДеньРождения,
    ЗначенияСвойствОбъектов.Объект КАК Контрагент
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    (ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ДАТА), ГОД, ГОД(&НачалоПериода) - ГОД(ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ДАТА))) МЕЖДУ &НачалоПериода И &КонецПериода
    ИЛИ ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ДАТА), ГОД, ГОД(&КонецПериода) - ГОД(ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ДАТА))) МЕЖДУ &НачалоПериода И &КонецПериода)
    И ЗначенияСвойствОбъектов.Свойство.Код = "000000003"
4 NorthWind
 
15.01.23
16:13
Есть же еще НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА. Можно Написать КОНЕЦПЕРИОДА(&НачалоПериода, ГОД) и должно по идее быть то же самое, что ДАТАВРЕМЯ(ГОД(&НачалоПериода),12,31)
5 NorthWind
 
15.01.23
16:15
кстати, а не может быть косяка из-за того, что имена параметров совпадают с наименованиями функций в запросе?
6 NorthWind
 
15.01.23
16:16
скорее всего оно и есть. ТС, переименуй параметры в &ДатаНачала и &ДатаКонца и проверь
7 OnePrg
 
15.01.23
16:57
(6) нет, дело в том, что ДАТАВРЕМЯ ничего кроме цифр не принимает, передавать ей функции в качестве параметра нельзя

выше рабочий проверенный запрос
8 rudnitskij
 
15.01.23
18:09
(0) ГДЕ
    ДАТАВРЕМЯ(ГОД(&НачалоПериода),12,31) МЕЖДУ &НачалоПериода И &КонецПериода

А что проверяете этим условием? лежат ли Начало и конец периода в одном году? Запишите его проще:
ГДЕ РАЗНОСТЬ ДАТ (&НачалоПериода, &КонецПериода, ГОД) <> 0
9 ДедМорроз
 
15.01.23
20:43
ДатаВремя - этотне функция,а директива.