Перейти к содержимому


баг в вычислении - поле дата не пустое


Сообщений в теме: 3

#1 oknik

    Активный участник

  • Пользователи
  • PipPipPip
  • 64 сообщений

Отправлено 13 Октябрь 2017 - 13:40

Есть вычисление, которое раньше нормально работало, но сейчас не правильно делает проверку - "поле 'Дата продления' не пустое?"
Условие - изменение поля "Дата продления" (но при этом вычисление почему то срабатывает при добавлении записи, при этом при добавлении записи поле "Дата продления" не заполняется)

$line['Дата продления'] - тип дата
$line['Статус']="ОК" тип список

if ($line['Дата продления']!="" and $line['Статус']=="Купить на нас")
$line['Статус']="ОК";

В итоге всегда после добавления записи срабатывает $line['Статус']="ОК";
других вычислений которые могут это делать нет, да и если вычисление выключаю, все нормально, статус остается тем который выбран при добавлении.

Я уж думаю может что то изменилось вобще глобально? Типа нельзя теперь так проверять пустоту поля тип "Дата", и надо как то по другому?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 477 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 13 Октябрь 2017 - 15:53

Так его никогда нельзя было так проверять. Пустая дата хранится в БД как "0000-00-00 00:00:00", именно на это значение и надо проверять. Вероятно, путаете с текстовыми полями.

#3 oknik

    Активный участник

  • Пользователи
  • PipPipPip
  • 64 сообщений

Отправлено 13 Октябрь 2017 - 17:01

да, так теперь работает, благодарю! )

но раньше работало с ""
только на этой неделе перестало.
ей богу именно так и было, и все работало.

и еще можно вопрос сразу что бы для себя уточнить, да и может как раз кому то пригодится тоже.
вопрос: можете написать как правильно делать проверку для разных типов полей - если нужна проверка не заполненного (пустого) значения у полей тип:
связь
список
текст
число
дата
файл
изображение
пользователь
группа

и для каждого типа поля мини инструкция как к нему обращаться при вычислениях

Сообщение отредактировал oknik: 13 Октябрь 2017 - 17:09


#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 477 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 13 Октябрь 2017 - 17:49

Цитата

но раньше работало с ""
только на этой неделе перестало

Ну может тип поля сменили. Поля с типом дата всегда были такие, ничего не менялось никогда в этом плане.

Цитата

вопрос: можете написать как правильно делать проверку для разных типов полей - если нужна проверка не заполненного (пустого) значения у полей тип

На всех прекрасно сработает "", либо напрямую, либо с автопреобразованием типа (для чисел и связи), только дата является исключением.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных