На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Этот раздел предназначен для заполнения/проверки/рехтования/* содержимого будущего FAQ и не более того.
Все вопросы касательно 1С следует задавать здесь: 1С: Проблемы и решения
Модераторы: evGenius
  
> Как правильно сравнить только их первую часть (дату)?
    Есть две даты в формате Дата+Время. Как правильно сравнить только их первую часть (дату)?

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

    ExpandedWrap disabled
      НачалоДня(Дата1) > = < НачалоДня(Дата2)


    Вообще приведение даты-времени к некоторой дискретной временнОй точке из некоторой периодической последовательности выполняют функции:
    {Начало|Конец}{Минуты|Часа|Дня|Недели|Месяца|Квартала|Года}()
    К сожалению не существует простых методов выделения одной из составных частей даты.
    ______________________________________
    Поправки:

    1. Если в v8 создать реквизит (у документа, справочника, формы, ...) с типом "Дата" и уточнением "ЧастиДаты.Дата", то при записи любой даты в такой реквизит она автоматически приводится к началу дня, поэтому дальнейшее приведение с ней делать не требуется (хотя она по прежнему сохраняет составной тип "Дата+Время").

    2. При переносе объектов из v7.х в v8 через OLE (или как тот иначе), даты документов (а так же прочие реквизиты типа "Дата") преобразуются в формат "Дата+Время". Но так как составляющей времени в v7.x изначально нет, то дата в этом случае автоматически приводиться к началу дня.

    3. Так же возможно сравнение дат (частей дат) другим способом, например пересчетом разности дат из секунд в дни (часы, недели, ...) или при помощи функций выделения составляющих даты (года, месяца, ...) но не без подводных камней!. (например разность в 1 секунду между двумя датами не гарантирует, что обе даты входят в одни сутки, а сверяя на больше/меньше день из двух дат нужно помнить про месяц и год).
    Коллеги, Евгений Гилев и Насипов Фарит проводят новый тренинг по разработке на мобильной платформе 1С.
    Кому интересно – подробности здесь: http://kursy-po-1c.ru/mobile-apps
    http://kursy-po-1c.ru/mobile-apps.
      Надо копирайты ставить:
      http://itland.ru/forum//lofiversion/index.php/t606.html
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0821 ]   [ 18 queries used ]   [ Generated: 12.11.19, 18:02 GMT ]