Хранение периодов дат. И работа с ними.

Тема в разделе "Lotus - Программирование", создана пользователем DNT, 21 мар 2007.

  1. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Есть необходимость проверять какой лимит был у абонента в том или ином месяце.
    В работе должно выглядеть так: анализируя дату на входе функция возвращает значение лимита для абонента в данное время.

    Как это привильней разрулить? С одной стороны как эту информацию хранить и накапливать? С другой как делать выборку значения лимита по дате.?

    что-то никак не придумаю...
    спс за ответы. :D
     
  2. Ogion7

    Ogion7 Гость

    Непонял, разницу между "Датой окончания лимита" и Сегодня что-ли посчитать?
     
  3. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    у абононта лимит чего? лимит колбасы?
    анализируя какую дату на входе?

    Плюс следует привести пример: исходные данные, входные параметры и что должно получиться на выходе!!!!
     
  4. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Да какая разница лимит чего? Пусть будет колбаса... :D

    Задача:
    1.Необходимо в БД сохранить и обновлять переодически документ-справочник следующего вида:

    1. с 1.12.2006 по 1.01.2007 - лимит 5 кг.
    2. с 1.01.2007 по 15.01.2007 - лимит 10 кг.
    ...
    N. с dd.mm.yyyy по dd.mm.yyyy - лимит X кг.

    Количество и "размер" интервалов не должен ограничиваться

    2.
    Затем проверять определенную дату на то, в какой из этих интервалов она попадает.
    Например: анализируем дату 10.01.2007.
    Попали во второй интервал - взяли лимит 10 кг. Проверили, а пользователь, собако, сожрал 11 кг. Уволить!!! :)

    Так вот собственно и вопросы:
    1. как хранить? в виде чего?
    2. как проверять куда попали? хотя если подскажете как хранить думаю со вторым вопросом разберусь...
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-DNT+22:03:2007, 13:58 -->
    <span class="vbquote">(DNT @ 22:03:2007, 13:58 )</span><!--QuoteEBegin-->1. как хранить? в виде чего?
    [snapback]59816" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Два типа документов.
    1. Документ абонента.
    2. Документ лимита (подчиненные документу абонента).

    <!--QuoteBegin-DNT+22:03:2007, 13:58 -->
    <span class="vbquote">(DNT @ 22:03:2007, 13:58 )</span><!--QuoteEBegin-->2. как проверять куда попали? хотя если подскажете как хранить думаю со вторым вопросом разберусь...
    [snapback]59816" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Обработать коллекцию.
     
  6. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    Документы
    Form = Limita
    Пользователь = Гриша
    с = 1.12.2006
    по = 1.01.2007
    лимит = 5 кг.

    Выборка
    Сколько имел :) лимитов Гриша первого числа сего месяца?
    FTSearch(Form = Limita &
    Пользователь = Гриша &
    с<=Проверяемая дата &
    Проверяемая дата <=1.01.2007
    )
    Получишь коллекцию пересекающихся диапазонов дат и лимитов
    если не контроллировать при вводе.

    Замечание: при сравнении диапазона дат влияют часы:минуты:секунды, посему даты
    диапазонов следует сохраять с предварительным форматированием
    дата C должна быть 0:00:00, а дата ПО должна быть 23:59:59
     
Загрузка...

Поделиться этой страницей