Быстрый старт. Решение задания №3.3.1

Представляем решение домашнего задания 3.3.1.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментариев 6 на “Быстрый старт. Решение задания №3.3.1”

  1. ВЫБОР
    КОГДА РАЗНОСТЬДАТ(&ТекДата, ДОБАВИТЬКДАТЕ(Сотрудники.ДатаРождения, ГОД, РАЗНОСТЬДАТ(Сотрудники.ДатаРождения, &ТекДата, ГОД)), ДЕНЬ) < 0
    ТОГДА ДОБАВИТЬКДАТЕ(Сотрудники.ДатаРождения, ГОД, РАЗНОСТЬДАТ(Сотрудники.ДатаРождения, &ТекДата, ГОД) + 1) МЕЖДУ &ТекДата И ДОБАВИТЬКДАТЕ(&ТекДата, ДЕНЬ, 3)
    ИНАЧЕ ДОБАВИТЬКДАТЕ(Сотрудники.ДатаРождения, ГОД, РАЗНОСТЬДАТ(Сотрудники.ДатаРождения, &ТекДата, ГОД)) МЕЖДУ &ТекДата И ДОБАВИТЬКДАТЕ(&ТекДата, ДЕНЬ, 3)
    КОНЕЦ

    Вот, по-моему, идеальный вариант в котором предусмотрены все случаи стечения событий

    • Суть его в том, что если у тебя День рождения в диапазоне между
      01.01.2013 и 03.01.2013, а текущая дата, например 30.12.2012,
      то дату Дня Рождения следует приводить к 2013, а не 2012 году.
      В остальных случаях дату следует приводить к текущему году.

    • Ок, я запишу для анализа :)

  2. Однако зафиксированная проблема перехода через Новый Год в итоге так и не была решена.
    Ведь если сегодня 30 декабря, а через три дня будет 2 января, то получаем фрагмент:
    “МЕЖДУ 630 И 52”
     – и запрос ничего не вернет.

    • Спасибо за замечание!
      Будем анализировать корретность решения..