Имя: Пароль:
1C
1С v8
РазностьДат в запросе дин списка
,
0 picom
 
12.08.15
10:02
Хочу получить запросом разность дат
РАЗНОСТЬДАТ(ПоискДата.Значение, &ТекДата, ДЕНЬ)
ТекДата задаю через параметры - работает
а вот ПоискДата.Значение, это дополнительный реквизит документа в УТ11, он вычисляется через вложенный запрос корректно, но конструктор говорит что неверный параметр
ХЭЛП
1 butterbean
 
12.08.15
10:08
как ты понял, что он корректно вычисляется
2 picom
 
12.08.15
10:11
(1) я его в колонку списка вывожу еще, все красиво
может надо как-то преобразовать дополнительно его в формат даты...
3 vde69
 
12.08.15
10:26
1. Разность дат медленая операция
2. Результат число а не дата
3. Я рекомендую использовать предворительно рассчитану или массив, для динамических запросов ее кладем в параметр сеанса
4 butterbean
 
12.08.15
10:28
(2) попробуй текст запроса программно подпихнуть
5 picom
 
12.08.15
10:32
(4) ругачка всеравно
(3) мне число дней и нужно
6 butterbean
 
12.08.15
10:32
(5) показывай запрос
7 picom
 
12.08.15
10:34
(6)
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ДокументРеализацияТоваровУслуг.Ссылка,
    ДокументРеализацияТоваровУслуг.Номер,
    ДокументРеализацияТоваровУслуг.Дата,
    ПоискДатаПринятияВРемонт2ДатаП.Значение КАК ДатаП,
    РАЗНОСТЬДАТ(ДокументРеализацияТоваровУслуг.Дата, &ТекДата, ДЕНЬ) КАК ДнейВРемонте
ИЗ
    Документ.ЗаказКлиента КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ДополнительныеСведения.Значение КАК Значение,
            ДополнительныеСведения.Объект КАК Объект
        ИЗ
            РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
        ГДЕ
            ДополнительныеСведения.Свойство = &ДатаП) КАК ПоискДатаПринятияВРемонт2ДатаП
        ПО ДокументРеализацияТоваровУслуг.Ссылка = ПоискДатаПринятияВРемонт2ДатаП.Объект
8 magicSan
 
12.08.15
10:35
(0) типзначения() выведи колонку то гонишь после своих вычислений!
9 vde69
 
12.08.15
10:35
Число дней тебе нужно или для сортировки или для оформления
сабжем ты ничего не решишь.
Отказывайся от дин. Списка в пользу отчетов

это старые грабли.
10 butterbean
 
12.08.15
10:46
(7) понятно, там составной тип, пиши ВЫРАЗИТЬ(ПоискДатаПринятияВРемонт2ДатаП.Значение КАК ДАТА)
11 picom
 
12.08.15
11:06
(10) чувак, ты гений, спасибо) с меня бутылочка пивка
12 picom
 
12.08.15
14:12
Ой, а как сравнить значение в условии со строковым значением в этом запросе?
ВЫБОР
    КОГДА ПРЕДСТАВЛЕНИЕ(ПоискСтатусРемонта.Значение) <> "Выдан"
        ТОГДА РАЗНОСТЬДАТ(ВЫРАЗИТЬ(ПоискДатаПринятияВРемонт2ДатаП.Значение КАК ДАТА), &ТекДата, ДЕНЬ)
    ИНАЧЕ 0
КОНЕЦ
13 picom
 
12.08.15
14:39
(12) видимо никак, сделал доп параметр и с ним сравнил
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.