cro-logo      
Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация

 
 
  ГлавнаяСправкаПоискВходРегистрация  
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать
Вывод единст.значения множ. поля "Дата" (Прочитано 920 раз)
Вероника
Пользователь
**
Вне Форума



Сообщений: 10
Вывод единст.значения множ. поля "Дата"
16.01.2019 :: 23:03:39
 
Добрый вечер, помогите, пожалуйста, с формулой в шаблоне отчета.
В базе есть множественное поле типа "Дата". Этих дат может быть от одной (контрольный срок раз в год) до двенадцати (ежемесячный контроль). Требуется отобрать документы, контрольный срок исполнения которых попадает в определенный интервал времени (неделя, месяц). Ответ выдается в форме шаблона отчета. При этом НЕОБХОДИМО, чтобы в шаблон выходила лишь та дата, которая реально соответствует заданному в запросе интервалу. Если без формул, то отбирает документы правильно (т.е. те, которые подходят в указанный временной интервал), но в отчет выдает при этом все значения множественного поля "Дата". Перебрала все формулы работы с полями типа "Дата", не могу ничего придумать, а надо СРОЧНО.
Заранее благодарю.
Наверх
 
 
IP записан
 
Sinilga
Профи
****
Вне Форума


I love YaBB 1G - SP1!

Сообщений: 117
Re: Вывод единст.значения множ. поля "Дата"
Ответ #1 - 17.01.2019 :: 08:24:21
 
Ваша задача не настолько проста, чтобы можно было ответить в двух словах.
Если кратко, то в шаблоне отчета нужна формула, которая переберет все значения поля и выведет, те из них, которые попадают в нужный интервал дат. Для работы этой формулы требуется запомнить в переменных даты - границы интервала, которые вводятся в условие запроса. Для этого потребуется запрос по образцу.
Если нужны подробности - отправьте структуру банка в личку.
Наверх
 
 
IP записан
 
Вероника
Пользователь
**
Вне Форума



Сообщений: 10
Re: Вывод единст.значения множ. поля "Дата"
Ответ #2 - 17.01.2019 :: 08:50:36
 
Благодарю Вас за отклик.
Вот на этом (формуле в шаблоне отчета) как раз и начинаются мои трудности. Структура банка примитивная. Собственно, и нужно-то для формулы всего одно поле. Поле КН8, тип "Дата", множественное, значений от 1 до 12. В запросе по образцу задаю интервал дат от @@start до @@end. Весь вопрос как раз в том, как при переборе всех значений (с помощью valcount, если я правильно понимаю) задать в формуле выбор значения именно в интервале. Т.е. если бы было конкретно "равно тому-то" или "равно/не равно пустому", я бы справилась. А вот как проверить, какое из множества значений попадает в интервал и вывести в отчет именно и ТОЛЬКО его, НЕ ЗНАЮ. Поможете с формулой? Какую функцию хотя бы применить?
Наверх
 
 
IP записан
 
Sinilga
Профи
****
Вне Форума


I love YaBB 1G - SP1!

Сообщений: 117
Re: Вывод единст.значения множ. поля "Дата"
Ответ #3 - 17.01.2019 :: 11:18:07
 
Вероника писал(а) 17.01.2019 :: 08:50:36:
В запросе по образцу задаю интервал дат от @@start до @@end. Весь вопрос как раз в том, как при переборе всех значений (с помощью valcount, если я правильно понимаю) задать в формуле выбор значения именно в интервале.


Примерно так:

Код:
@dates:=КН8
@n:=valcount(@dates)
@i:=1
@res:=""
while @i <= @n do
[  @val:=@dates(@i)
   if date(@val) >= date(@@start) & date(@val) <= date(@@end) then
      @res(-1):=@val
   @i:=@i+1
]
@ret:=catval(@res,"; ") 

Наверх
 
 
IP записан
 
Вероника
Пользователь
**
Вне Форума



Сообщений: 10
Re: Вывод единст.значения множ. поля "Дата"
Ответ #4 - 17.01.2019 :: 21:22:21
 
Sinilga, большое СПАСИБО!!!
Сейчас осмыслю и потом проверю. По результатам отпишусь. СПАСИБО
Наверх
 
 
IP записан
 
Вероника
Пользователь
**
Вне Форума



Сообщений: 10
Re: Вывод единст.значения множ. поля "Дата"
Ответ #5 - 18.01.2019 :: 21:31:11
 
Хм... Не работает  Печаль
В отчете по шаблону выдает даты так, как они выдавались бы, если бы я поставила просто тег поля КН8, а не формулу, т.е. выдает все значения множественного поля типа "Дата", а формула-то затевалась как раз для того, чтобы выдавать единственное значение, попадающее в заданный интервал.
Может, еще какие-нибудь идеи будут?
Наверх
 
 
IP записан
 
Sinilga
Профи
****
Вне Форума


I love YaBB 1G - SP1!

Сообщений: 117
Re: Вывод единст.значения множ. поля "Дата"
Ответ #6 - 19.01.2019 :: 05:43:46
 
Добавьте скобки в условие:
Код:
...
if (date(@val) >= date(@@start)) & (date(@val) <= date(@@end)) then
... 

Наверх
 
 
IP записан
 
Вероника
Пользователь
**
Вне Форума



Сообщений: 10
Re: Вывод единст.значения множ. поля "Дата"
Ответ #7 - 21.01.2019 :: 21:26:47
 
Sinilga, благодарю Вас. Всё работает!
Наверх
 
 
IP записан
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать