|
![]() |
#1 |
Участник
|
Цитата:
ставим фильтр на тип даты = день
а на поле Starting Date - тот самый фильтр, что указал пользователь. далее Date.Find('-') дает нам первую дату фильтра, а Date.Find('+') - последнюю. и опять же никакого разбора на точечьки |
|
![]() |
#2 |
Участник
|
имелось в виду что при наложенном фильтре по дате FIND('-') найдет самую первую запись, а FIND('+') - последнюю... аналоги FINDFIRST и FINDLAST - сортировка таблицы по данному полю через конструкцию:
SETCURRENTKEY и ASCENDING перед выборками совсем не помешает - отсортирует записи...
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
![]() |
#3 |
Administrator
|
погнали
создаем переменную типа record с субтипом Date, назовем ее _Date далее Код: _Date1 := 0D; _Date2 := 0D; _Date.SETRANGE("Period Type", _Date."Period Type"::"0"{День}); _Date.SETFILTER("Period Start", ТотСамыйДатаФильтрТупымТекстом); IF _Date.FIND('-') THEN Date1 := _Date."Period Start"; IF _Date.FIND('+') THEN Date2 := _Date."Period Start"; если фильтр ..011113, то _Date1 наверняка будет 0D или 1753-й год |
|
![]() |
#4 |
NavAx
|
Санчо, не учи плохому
Не FIND('-') и FIND('+'), а FINDFIRST и FINDLAST ![]()
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#5 |
Участник
|
Цитата:
см. больше тут What impact does my C/AL have on SQL? |
|