Имя: Пароль:
1C
1С v8
Задача становится просроченной раньше указанного срока
,
0 dakra
 
03.11.15
14:09
Такая проблема: срок исполнения задачи устанавливается "1 день". При этом уведомление о просроченных задачах приходит раньше истечения срока. Например срок исполнения до 16.00 текущего дня, а уведомление о просроченной задаче приходит в 9.00 текущего дня. Подскажите, пожалуйста, в чем проблема? как это можно исправить7
1 Timon1405
 
03.11.15
14:11
проверить время на сервере?
2 Jokero
 
03.11.15
14:11
В ворде?
3 PR третий
 
03.11.15
14:12
(0) Проблема в том, что где-то неправильно написан код. Ну или что-то другое.
Исправить это можно, обратившись к программисту.
4 dakra
 
03.11.15
14:14
(3) я программист, уже весь код облазил - никак не могу понять, может подскажете примерно где искать, в каком модуле
5 PR третий
 
03.11.15
14:19
(4) Посмотри в том модуле, где выдается уведомление о просроченной задаче. Мне кажется, там должно быть.
6 dakra
 
03.11.15
14:27
(4) спасибо, сейчас гляну
7 PR третий
 
03.11.15
14:31
Рукалицо
8 hhhh
 
03.11.15
16:01
(6) небось запросом считаете разность дат?
9 dakra
 
03.11.15
16:13
Вроде отбор правильный идет:

Функция ВыбратьПросроченныеЗадачи()
    
    ТекстЗапроса =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    ЗадачаИсполнителя.Ссылка КАК Ссылка,
        |    ЗадачаИсполнителя.СрокИсполнения КАК СрокИсполнения,
        |    ЗадачаИсполнителя.Исполнитель КАК Исполнитель,
        |    ЗадачаИсполнителя.РольИсполнителя КАК РольИсполнителя,
        |    ЗадачаИсполнителя.ОсновнойОбъектАдресации КАК ОсновнойОбъектАдресации,
        |    ЗадачаИсполнителя.ДополнительныйОбъектАдресации КАК ДополнительныйОбъектАдресации,
        |    ЗадачаИсполнителя.Автор КАК Автор,
        |    ЗадачаИсполнителя.Описание КАК Описание,
        |    ЗадачаИсполнителя.РезультатВыполнения КАК РезультатВыполнения,
        |    ЗадачаИсполнителя.ДатаИсполнения КАК ДатаИсполнения
        |ИЗ
        |    Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
        |ГДЕ
        |    ЗадачаИсполнителя.ПометкаУдаления = ЛОЖЬ
        |    И ЗадачаИсполнителя.Выполнена = ЛОЖЬ
        |    И ЗадачаИсполнителя.СрокИсполнения <= &Дата
        |    И ЗадачаИсполнителя.СрокИсполнения <> ДАТАВРЕМЯ(1, 1, 1)
        |    И ЗадачаИсполнителя.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)";
    
    СрокИсполнения = КонецДня(ТекущаяДатаСеанса());

    Запрос = Новый Запрос;
    Запрос.Текст = ТекстЗапроса;
    Запрос.УстановитьПараметр("Дата", СрокИсполнения);
    
    ПросроченныеЗадачи = Запрос.Выполнить().Выгрузить();
    Возврат ПросроченныеЗадачи;
    
КонецФункции
10 dakra
 
03.11.15
16:15
Может проблема с ТекущаяДатаСеанса()?
11 PR третий
 
03.11.15
16:16
(9) Ты издеваешься?
12 разработчик 1с
 
03.11.15
16:17
проблема с КонецДня
13 dakra
 
03.11.15
16:32
(12) а как можно исправить? вместо конец дня использовать разность дат7
14 Mirnin
 
03.11.15
16:38
Просто текущую дату используй. Конец дня тебе конец дня возвращает, 23:59:59.
15 dakra
 
03.11.15
16:53
(14) спасибо, попробую
16 PR третий
 
03.11.15
16:56
Я не могу поверить, что читаю это.
http://www.anekdot.ru/id/228589/