Как программно изменить статус "В резерве" Заказ клиента через день на статус "На согласовании"? УТ11.3 1С8.3

1. Shurik_M 2 20.02.19 16:10 Сейчас в теме
Подскажите пожалуйста, если в статусе документа Заказ клиента стоит "В резерве", как правильно написать код в модуле, чтобы через день программно поменялись те документы, которые статусы равно "В резерве" на статус "На согласовании".
Найденные решения
7. Shurik_M 2 21.02.19 14:32 Сейчас в теме
Все разобрался, спасибо всем! Вот такой код получился, если разность дат больше 3х, то меняем статус, проверил, вроде работает.
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |	ЗаказКлиента.Ссылка КАК Ссылка
                   |ИЗ
                   |	Документ.ЗаказКлиента КАК ЗаказКлиента
                   |ГДЕ
                   |	ЗаказКлиента.Статус = &КОбеспечению
                   |	И РАЗНОСТЬДАТ(ЗаказКлиента.Дата, &ТекущаяДата, ДЕНЬ) > 3";
    
    Запрос.УстановитьПараметр("КОбеспечению", Перечисления.СтатусыЗаказовКлиентов.КОбеспечению);
	Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
	ТЗ = Запрос.Выполнить().Выгрузить();
Показать
Teut_Vlad; acanta; +2 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Teut_Vlad 180 20.02.19 16:27 Сейчас в теме
И так, у нас новое регламентное задание "_ИзменениеСтатусов", раз в сутки (или выбрать существующие выполняющие раз в сутки)

Новая процедура в общем модуле с видом Экспорт
Процедура выполняет запрос
Заказы клиентов в статусе "В резерве" ГДЕ &ТекущаяДата - ДатаСтатуса > &Сутки
Результ = Запрос.Выполнить().Вабрать();
Пока Результ .Следующий() цикл
//меняем статус
Конеццикла;
УТ под рукой нет. Посмотрел бы где хранятся статусы и написал бы запрос)
4. Shurik_M 2 21.02.19 13:29 Сейчас в теме
(2) Спасибо за подсказку, с запросом разобрался, осталось проблема с условием сравнение даты.
&ТекущаяДата - ДатаСтатуса > &Сутки
Как правильно написать эту строку в запросе или при выполнение запроса? В моем случае ДатаСтатуса = ЗаказКлиента.Дата а
&Сутки
...?
5. antz 21.02.19 13:44 Сейчас в теме
(4) Функция в запросе называется РазностьДат.

Функция предназначена для получения разницы между двумя датами.

Первый параметр — вычитаемая дата, выражение типа ДАТА;

Второй параметр — исходная дата, выражение типа ДАТА;

Третий параметр – тип разности, одно из: СЕКУНДА, МИНУТа, ЧАС, ДЕНЬ, МЕСЯЦ, КВАРТАЛ, ГОД.

Примеры:
ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), ДЕНЬ)

Результат:

Поле1

2
6. Teut_Vlad 180 21.02.19 14:21 Сейчас в теме
(4) Вроде даты считаются в секундах
60*60*24
3. muskul 21.02.19 10:06 Сейчас в теме
Там не все так "просто" нужно перезаполнить статус как реквизит, потом еще выполнить кучу вспомогательных процедур, и даже после этого еще могут остаться движения в заказе.
УТ к слову как нарочно сделала заказы такие ущербными (один отчет заказы только по одной позиции чего стоит) на откуп разработчикам
7. Shurik_M 2 21.02.19 14:32 Сейчас в теме
Все разобрался, спасибо всем! Вот такой код получился, если разность дат больше 3х, то меняем статус, проверил, вроде работает.
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |	ЗаказКлиента.Ссылка КАК Ссылка
                   |ИЗ
                   |	Документ.ЗаказКлиента КАК ЗаказКлиента
                   |ГДЕ
                   |	ЗаказКлиента.Статус = &КОбеспечению
                   |	И РАЗНОСТЬДАТ(ЗаказКлиента.Дата, &ТекущаяДата, ДЕНЬ) > 3";
    
    Запрос.УстановитьПараметр("КОбеспечению", Перечисления.СтатусыЗаказовКлиентов.КОбеспечению);
	Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
	ТЗ = Запрос.Выполнить().Выгрузить();
Показать
Teut_Vlad; acanta; +2 Ответить
8. muskul 22.02.19 03:41 Сейчас в теме
(7)движения проверь на всякий случай
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)