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

 
 
  ГлавнаяСправкаПоискВход  
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать
Корректное указание промежутков лет при выдаче (Прочитано 1 009 раз)
Iskander
Опытный пользователь
***
Вне Форума



Сообщений: 98
Корректное указание промежутков лет при выдаче
03.04.2021 :: 22:35:09
 
День добрый. Подскажите, как подправить формулу выдачи для корректного указания промежутков лет.

Сейчас по приведенной ниже формуле получаю на выдаче – ВУЗ (1975-97), или ВУЗ (до 1943)

@ORG:=cat(МУ7_РГ, РГ31)
@BDate := ""
@EDate := ""
@Ret := @ORG<<";"
if МУ2 | МУ3 then (
   if МУ2 then @BDate := "" << МУ2
   if МУ3 then if @BDate then @EDate := "-" << SUBSTR(МУ3, 3, 2) else @EDate := "до " << МУ3
               
   @Ret := @ORG<<" (" << @BDate << @EDate << "); ")

Проблема в том, что на «стыке веков» необходимо на выдаче получать запись вида – ВУЗ (1990-2007), где обе даты должны быть представлены в четырехзначном виде. Понятно, что здесь необходимо дать условие для сравнения двух переменных вроде – (if @BDate02 > @BDate01 then ……, где @BDate01:= SUBSTR(МУ2, 1, 2), а @BDate02:= SUBSTR(МУ3, 1, 2) ), но как это сделать, чтобы формула по прежнему выдавала в случае периода времени в одном веке - ВУЗ (1975-97), а в случае если вторая дата приходится на следующий век, то - ВУЗ (1990-2007)? 
Наверх
 
 
IP записан
 
dron_ffk
Опытный пользователь
***
Вне Форума



Сообщений: 61
Re: Корректное указание промежутков лет при выдаче
Ответ #1 - 04.04.2021 :: 21:29:39
 
Добавьте условие в условие.
Код:
@ORG:=cat(МУ7_РГ, РГ31)
@BDate := ""
@EDate := ""
@Ret := @ORG<<";"
if МУ2 | МУ3 then (
   if МУ2 then @BDate := "" << МУ2
   if МУ3 then if @BDate then 	(if SUBSTR(МУ2, 1, 2)=SUBSTR(МУ3, 1, 2) then @EDate := "-" << SUBSTR(МУ3, 3, 2) else  @EDate := "-" << МУ3)

								else @EDate := "до " << МУ3
               
   @Ret := @ORG<<" (" << @BDate << @EDate << "); ") 

Наверх
 
 
IP записан
 
Iskander
Опытный пользователь
***
Вне Форума



Сообщений: 98
Re: Корректное указание промежутков лет при выдаче
Ответ #2 - 04.04.2021 :: 22:51:18
 
Огромное спасибо за помощь. Все работает как следует. Улыбка
Наверх
 
 
IP записан
 
Переключение на Главную Страницу Страниц: 1
Послать Тему Печать