|
Как в УПП ограничить прием заказа, по времени? | ☑ | ||
---|---|---|---|---|
0
Серго62
19.05.14
✎
10:05
|
Предприятие доставляет заказы покупателям собственным транспортом. Количество заказов, которые могут быть доставлены в определенный день ограничено количеством автомобилей. В связи с этим приняли решение принимать заказы на завтра до определенного времени, например до 14:00, так как после этого времени начинается планирование рейсов на завтра.
То есть до 14 принимаем заказ на завтра, а после 14 на послезавтра и последующие дни. При попытке принять заказ на завтра после 14 часов нужно выдавать предупреждение и "не выпускать" пользователя из даты отгрузки пока он не укажет правильную дату. Сделал такую проверку для поля дата отгрузки: Процедура ДатаОтгрузкиПриИзменении(Элемент) Если ТекущаяДата() > НачалоДня(ТекущаяДата())+(24*60*60) И Элемент.Значение < КонецДня(ТекущаяДата()+24*3600) Тогда // После 14:00 прием заказов на завтра прекращается Предупреждение("После 14:00 нельзя принимать заказы на завтра!"); ЭтаФорма.ТекущийЭлемент = Элемент; //Значение = Элемент.Значение; КонецЕсли; КонецПроцедуры Но срабатывает эта проверка почему-то только один раз. То есть если пользователь вводит неправильную дату и жмет Enter первый раз, то он получает сообщение и остается в поле ввода, если он жмет Enter еще раз, то благополучно выходит из этого поля. Можно ли как-то сделать так чтобы пользователь не мог выйти из поля ввода, пока не введет правильную дату? |
|||
1
Wobland
19.05.14
✎
10:06
|
это даже не цепью приковать к пулемёту, тут юзер полностью беспомощен
|
|||
2
Kalambur
19.05.14
✎
10:09
|
используй ОбработкаВыбора
|
|||
3
Серго62
19.05.14
✎
10:15
|
(2) Это событие возникает только при выборе, в моем случае при выборе из календаря.
|
|||
4
Серго62
19.05.14
✎
10:16
|
(1) Все так безнадежно?
|
|||
5
Wobland
19.05.14
✎
10:20
|
(4) да не особо на самом деле. я не изобрёл ни одного нового ругательства, когда не смог сойти с поля в такой ситуации
|
|||
6
Серго62
19.05.14
✎
10:23
|
(5) Открой секрет, как не дать сойти с поля?
|
|||
7
Wobland
19.05.14
✎
10:27
|
(6) усердная молитва и пост избавляют от таких стремлений
|
|||
8
Серго62
19.05.14
✎
10:32
|
(7) Ну то есть никак, я правильно понимаю?
|
|||
9
Серго62
19.05.14
✎
10:37
|
Есть еще такой вариант - коварно сообщить пользователю о том, что он не прав при записи документа, он будет просто в восторге от этого сообщения, когда "набьет" весь документ и узнает о том, что не может его сохранить.
|
|||
10
Wobland
19.05.14
✎
10:38
|
(8) нет
ТекущаяДата() > НачалоДня(ТекущаяДата())+(24*60*60) //если сегодня - это уже завтра, так что ли? |
|||
11
Wobland
19.05.14
✎
10:39
|
(9) есть такая вещь как проведение. до него документ - просто черновичок
|
|||
12
pumbaEO
19.05.14
✎
10:40
|
Что делать, если начал набивать заявку в 13:59, а закончил в 14:01?
1. В Форме ПередЗаписью: ЭтоНовый + Проверка даты отгрузки. 2. Обработчик ожидания раз в минуту и могильной формочкой предуреждать "ДО окончания ввода заявки на сегодня остадлось 3 сек и 523 милисекунды". |
|||
13
Серго62
19.05.14
✎
10:42
|
(10) сорри, это косячок, должно быть так ТекущаяДата() > НачалоДня(ТекущаяДата())+(14*60*60)
с циферкой ошибся, имелось ввиду, что если текущее время больше 14:00 |
|||
14
Wobland
19.05.14
✎
10:44
|
а вот придумали бы какую-то фиговину для выделения часа из даты...
|
|||
15
Серго62
19.05.14
✎
10:45
|
(12)Вот как раз, если проверять дату отгрузки, то такая проблема не возникнет.
|
|||
16
Серго62
19.05.14
✎
10:47
|
(14) Час(<Дата>) не оно?
|
|||
17
Wobland
19.05.14
✎
10:48
|
(16) оно, но сторно
|
|||
18
Серго62
19.05.14
✎
10:52
|
(11) Да, да, все так, но задача в том, чтобы уберечь пользователя от лишней работы. Поэтом нужно остановить его в дате отгрузки, если он ее ввел неправильно.
|
|||
19
Серго62
19.05.14
✎
11:03
|
(5) Если не секрет, где это можно увидеть или это не в 1с было?
|
|||
20
Wobland
19.05.14
✎
11:04
|
(19) ой, не помню, в 1с. а присвоение текущего элемента вполне себе работате
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |