|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|||||||||||
Не могу проверить заполнение поля "Дата" в коде формы21.05.2014, 13:30. Показов 3292. Ответов 20
Метки нет (Все метки)
Возникла проблема - на форме есть поле формата ДАТА, в зависимости от его значения хочу выполнять определенные действия.. Если ставить проверку на текущую дату, то все в порядке:
Где ошибся, подскажите?
0
|
|||||||||||
| 21.05.2014, 13:30 | |
|
Ответы с готовыми решениями:
20
Проверить поля формы на заполнение Заполнение поля типа Дата в Битрикс24 через скрипт php формат поля формы Дата (название месяца) |
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 21.05.2014, 13:38 | ||||||
|
Нулл ничему не равен, даже самому себе :-)
Проверять на "пустоту" можно функцией IsNull. Или проверять количество символов в поле функцией Len
1
|
||||||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
||||||
| 21.05.2014, 13:47 [ТС] | ||||||
|
mobile, а если нужно добавить через AND второе условие (проверка другого поля, но уже на заполненность), то как быть?
Можно ли написать так?:
0
|
||||||
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 21.05.2014, 13:54 | ||||||
|
Нет синтаксис обратного условия иной
2
|
||||||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|
| 21.05.2014, 14:35 [ТС] | |
|
mobile, а на какое событие лучше повесить такую проверку - на таймер формы или можно как-то по-другому заставить акс мониторить изменение полей в ней?
Добавлено через 1 минуту Просто таймер меня смущает тем, что использование таймера заставляет форму подрагивать (по крайней мере на моем компьютере), и сомневаюсь, что это хорошо сказывается на скорости работы БД..
0
|
|
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 21.05.2014, 14:39 | ||||||
|
Если интересует полностью готовая дата, а не в процессе заполнения, то подходит событие AfterUpdate (После обновления). Но есть такой нюанс: когда дату заполняют через календари, то AfterUpdate может не сработать и приходится проверять на событии Change (Изменение). Но Change реагирует на каждый введенный вручную символ и поэтому в Change приходится ставить проверку на валидность даты
1
|
||||||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|||||||
| 21.05.2014, 15:01 [ТС] | |||||||
0
|
|||||||
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||
| 21.05.2014, 15:22 | |||||||
|
Иная ситуация когда есть поле заполняется также и вручную. Дело в том, что как уже говорилось, событие Change реагирует на каждый введенный символ: написали цифру дня, чендж сработал и так далее. Приходится проверять готовая ли дата или в процессе.
1
|
|||||||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
||
| 21.05.2014, 15:46 [ТС] | ||
|
0
|
||
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 21.05.2014, 16:02 | ||||||
|
На AfterUpdate проверять уже нужно не Text, а Value. Но Value умолчательное значение и его можно не писать
0
|
||||||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|
| 21.05.2014, 16:18 [ТС] | |
|
0
|
|
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
| 22.05.2014, 00:19 | |
|
Eujine, Я бы безусловно сделал на Change. Зачем беспрестанно и без надобности к тому же, держать таймер взведенным? Change здесь как раз к месту
0
|
|
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
||
| 22.05.2014, 01:32 [ТС] | ||
|
mobile, а для формы разве есть событие Change? я ничего кроме Dirty не нашел, но на него нет реакции..
Добавлено через 58 минут
0
|
||
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 22.05.2014, 01:48 | ||||||
|
Уровень событий формы это события записи. А Вам, насколько я понял, нужны события изменяемых полей в одной записи. Вот для этих полей надо воспользоваться событием Change.
Сделайте универсальную функцию и запишите ее имя в коде для нужных полей. Если функцию сделать публичной или уровня формы, то можно вообще обойтись без кода, записав имя функции в свойстве события
0
|
||||||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|||||||
| 22.05.2014, 11:19 [ТС] | |||||||
|
Добавлено через 1 час 9 минут Еще проблема: На событие Change поляДата повесил условие:
0
|
|||||||
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||
| 22.05.2014, 11:48 | ||
|
Выложите БД на форум. Только самое необходимое. Сожмите, запакуйте в архив. И обязательно укажите какая форма, какое поле, где, что нажимать. И еще - какая версия акса у Вас?
0
|
||
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|
| 22.05.2014, 12:13 [ТС] | |
|
mobile, вот все вырезал. В форме всего четыре поля, повесил скрипт на событие Change поля "ДатаКонецП" которое должно стирать данные из поля "ДатаКонецФ".. если вводить вручную - работает, если через календарь - не работает.
И буду очень признателен, если покажете на самом простом примере публичную функцию для отслеживания изменений набора данных... У меня 2003 акс.
0
|
|
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|
| 22.05.2014, 12:34 [ТС] | |
|
mobile, может быть, проблема в календаре?
0
|
|
|
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
| 22.05.2014, 23:12 | |
|
Да, наверное проблема в календаре. Разбираться не стал...
Модель отслеживания без Change такова: 1. в модуле формы введена переменная p уровня формы. При загрузке она получает значение False 2. на событии получения фокуса полем [ДатаКонецП] сделана процедура, проверяющая переменную p и если она True, то выполняются действия, указанные в процедуре события Change. А также сбрасывается переменная в False 3. на событии кнопки вызова календаря - переменная устанавливается в False - вызов формы календаря сделан диалоговым (acDialog) для перехвата кода календарем - переменная устанавливается в True - поле [ДатаКонецП] получает фокус и отрабатывают Ваши инструкции из события Change. И еще. У Вас что-то было с файлом. Какие-то неясные симптомы нездоровья. На всякий случай импортировал все в новую чистую БД Рецензенты1
1
|
|
|
73 / 47 / 9
Регистрация: 24.03.2014
Сообщений: 470
|
|
| 22.05.2014, 23:43 [ТС] | |
|
mobile, спасибо огромное!
Я правильно понимаю, что можно теперь написать публичную функцию, и на событии Change просто поставить ее вызов? А какие симптомы, если не секрет? Просто это лишь маленькая часть БД, если такое действительно есть, то мне лучше всю БД перезалить в чистую.. Но не перенесу ли я тогда туда все ошибки...
0
|
|
| 22.05.2014, 23:43 | |
|
Помогаю со студенческими работами здесь
20
Автоматическое заполнение в поля таблицы (формы)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|