Бухгалтерия / Говнокод #24385 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Если (Строка(Объект.ДатаНач) = "01.01.0001 0:00:00") или (Строка(Объект.ДатаКон) = "01.01.0001 0:00:00") Тогда
  ТекстСообщения = НСтр("ru = 'Задайте период формирования отчета!
  |Должны быть заполнены дата начала и дата окончания периода.'");
  Предупреждение(ТекстСообщения);
  Возврат;
 КонецЕсли;

Проверка даты от лучшего программиста организации с ЗП 100k р

Запостил: AlexZ1978 AlexZ1978, (Updated )

Комментарии (11) RSS

  • И что тут такого? Напиши как правильно.
    Ответить
    • Правильно использовать ф-ю ЗначениеЗаполнено(...) либо сравнение с пустой датой Дата("00010101") но никак не преобразование значения в строку и дальнейшее сравнение со значением "01.01.0001 0:00:00"

      Например:
      Если Не (ЗначениеЗаполнено(Объект.ДатаНач) и ЗначениеЗаполнено(Объект.ДатаКон)) Тогда
      Ответить
    • Правильно писать так:
      Если Объект.ДатаНач = '00010101000000' Или Объект.ДатаКон = '00010101000000' Тогда
      ...
      Ответить
      • Тогда уж просто ...Объект.ДатаНач='00010101'.... Можно и так, но это дело личных предпочтений и читаемости кода, на мой взгляд
        Ответить
        • Использование функции ЗначениеЗаполнено() для примитивных типов нежелательно, т.к. можно обойтись без неё - немного, но время на вызов сэкономить. А использование Дата("00010101") вообще ничем от приведённого случая не отличается - там-и-там приведение типов, от чего и следует уйти. Моё предложение - '00010101000000' - константа типа "Дата" сразу на встроенном языке.
          Ответить
        • ...и да: Объект.ДатаНач = '00010101' нельзя писать. Будет ошибка, так как у константы типа "Дата" обязательно должно быть время.
          Ответить
          • Объект.ДатаНач = '00010101' писать еще как можно... В данном случае значение часов минут и секунд будет равно 0... мало того, такой прием используется повсеместно в типовых решениях от 1С.
            Ответить
            • Раньше было нельзя... видимо, я пропустил тот замечательный момент, когда стало можно
              Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8