![]() |
|
Сделать ввод даты не позже текущей | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
09.10.17
✎
10:43
|
Поле типа дата
известно, что если ввести только день - то в дату запишется день текущего месяца и года как красиво сделать, что бы при вводе дня вводилась дата по тому же принципу, но не позже текущей даты т.е. - месяц или - год |
|||
1
Fedor-1971
09.10.17
✎
10:46
|
(0) ПриИзменении проверь дату введённую дату на соотношение с текущей и исправь как нужно
|
|||
2
RomaH
naïve
10.10.17
✎
07:15
|
(1) не правильно
получается, что даже если пользователь ввел полную дату - т.е. не пользовался автодополнением - то я ему эту дату поменяю на месяц раньше надо именно автодополнить правильно т.е. ввел 18 - получил 18.09.2017 (сегодня 10.10.2017) ввел 1810 - получил 18.10.2016 181017 - 18.10.2017 |
|||
3
ildary
10.10.17
✎
07:20
|
(2) начнем с вопроса - а у нас есть способ отличить дату, введённую руками полностью от даты дополненной?
|
|||
4
PuhUfa
10.10.17
✎
07:22
|
(2) текстовое поле с маской ввода "под дату", ну и дальше уже извращайся как хочешь
|
|||
5
Fedor-1971
10.10.17
✎
09:09
|
(2) В АвтоПодбор у поля дата сохраняй в локальную переменную введённую строку, в ОкончаниеВводаТекста - обработай её, стандартный параметр "Текст" тебе не поможет, там уже сработала система
(4) геморно |
|||
6
Serg_1960
10.10.17
✎
09:20
|
После изменения проверил дату. Если больше н.в. - минус месяц, проверил ещё раз. Не угадал? Минус год.
|
|||
7
Serg_1960
10.10.17
✎
09:24
|
Ооо... я проснулся :) А задача то - не так проста, как кажется. Интересная задача. Вопросом "А зачем?".
|
|||
8
Mort
10.10.17
✎
09:46
|
В фирме работают 1000 и все они ежедневно по 100 раз вводят эту дату. Другой причины не вижу.
|
|||
9
RomaH
naïve
10.10.17
✎
09:48
|
(7) операторы привыкли пользоваться автодополнением - набивают только первые цифры в дате
документы приходят с задержкой 2-10 дней числа с 10 до конца месяца - все красиво а вот с 1 до 10 - много ошибок при таком вводе получается |
|||
10
RomaH
naïve
10.10.17
✎
09:49
|
(8) ну 5 сотрудников ежедневно по ... 1000 раз
|
|||
11
Mort
10.10.17
✎
09:50
|
(10) тогда лучше пусть совсем не вводят дату.
|
|||
12
RomaH
naïve
10.10.17
✎
09:55
|
(11) это как это?
|
|||
13
Fedor-1971
10.10.17
✎
09:56
|
(12) то что в (5) попробовал?
|
|||
14
Mort
10.10.17
✎
09:58
|
(12) да так, если пользователю приходиться сто раз в день делать одно и то же, значит архитектура кривая. Или наоборот, прямая как топор. Придумай как.
|
|||
15
Fedor-1971
10.10.17
✎
10:08
|
(14) не факт, что архитектура кривая.
У пользователя стопка перемешанных документов с датами, например, накладные от 20/09 по 08/10 - и дата обязательна. Автоматизировать автодополнение по внутренним правилам имеет смысл, только надо определиться для отчётов автодополнение останется стандартным или нет, поскольку глобально вставить пальцы в системную функцию не представляется возможным. |
|||
16
RomaH
naïve
10.10.17
✎
10:13
|
(13) вроде как подходит
|
|||
17
RomaH
naïve
10.10.17
✎
10:15
|
только саму дату я правильно понял - устанавливать сразу в значение?
&НаКлиенте Процедура ОплатаДатаВыполненияОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка) //СтандартнаяОбработка = Ложь; Элементы.Оплата.ТекущиеДанные.ДатаВыполнения = '20171002'; КонецПроцедуры |
|||
18
Fedor-1971
10.10.17
✎
10:18
|
(17) Наверно, Текст можно исправить и оставить стандартную обработку
|
|||
19
lopus
10.10.17
✎
10:20
|
Процедура ДатаЗнчОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
Год = Прав(Текст,4); Месяц = Сред(Текст,4,2); День = Лев(Текст,2); ДатаПроверяемая = Дата(Год,Месяц,День); Если ТекущаяДата() < ДатаПроверяемая Тогда Значение = ДобавитьМесяц(ДатаПроверяемая,-1); Иначе Значение = ДатаПроверяемая; КонецЕсли; СтандартнаяОбработка = Ложь; КонецПроцедуры Если для обычных форм |
|||
20
Fedor-1971
10.10.17
✎
10:28
|
(19) ты не прочитал (2), пользователь может ввести полную дату больше текущей и это приемлемо, автодополнение срабатывает только когда ввели часть даты
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |