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

 
 
  ГлавнаяСправкаПоискВход  
 
Страниц: 1 2 
Послать Тему Печать
Узнать будущую дату при условии (Прочитано 2 739 раз)
graffserg
Профи
****
Вне Форума



Сообщений: 134
Re: Узнать будущую дату при условии
Ответ #15 - 13.03.2021 :: 23:29:53
 
Zuluss писал(а) 13.03.2021 :: 11:27:02:
Цитата:
Я имею ввиду есть Дата поставки, например 01.03.2021 года, в поле Срок выполнения поставки мне нужно дату 12.03.2021 * на К1 или К2 и т.д. и получить дату выполнения поставки, к примеру 01.04.2021.

Что то множество вопросов по данному сообщению.
Например, 30.01.2020+1 месяц, или 29.02.2020+1 месяц, 29.02.2020+1 год какой результат должен быть? Количество дней в каком месяце или каком году считать?
К4 = может быть или 1826, или 1827.
Реализовать можно что угодно, только грамотно описать надо.


Zulus, доброго дня/вечера!
Постараюсь объяснить почему я так сделал. Дело в том, что основная задумка это:
- присвоить словарному полю 2|КОД поставок|С||КОД|ИФ| переменную, которая означает, что при выборе
К1 - период равен 1 месяцу
К2 - период равен 1 году
К3 - период равен 2 годам
К4 - период равен 5 годам и т.д.
и что в зависимости от високосный год или нет количество дней как в 1 месяце, так и в 1, 2, 5 годах будет разное. Вы так же об этом упоминали.
- в формуле определить, что при вводе даты в поле 3|Дата поставки|Д|||ИФ|, например 01.01.2021, она (формула) дату поставки прибавит к количеству дней из поля «КОД поставок» и итог отразит в поле «Срок выполнения поставки» в виде даты типа ДД.ММ.ГГГГ (если заключить контракт с сотрудником фирмы на 1 год, то крайний день его работы будет 31.12.2021, а не до 01.01.2022).

Прошу не кидать камнями, понимаю, что до Вашего уровня, даже до уровня уважаемого dron_ffk мне далеко. Вот по этой причине, возможно с простыми и глупыми вопросам я обращаюсь.
Спасибо за понимание.
Наверх
 
 
IP записан
 
dron_ffk
Опытный пользователь
***
Вне Форума



Сообщений: 60
Re: Узнать будущую дату при условии
Ответ #16 - 14.03.2021 :: 10:57:07
 
Тогда в последнем условии вычти один день, если нужна предшествующая дата за период.
Код:
if ДГ4 then ДГ10:=SUBAGE(ADDAGE(ДГ4, @kod), "01.00.0000"); 

Наверх
 
 
IP записан
 
graffserg
Профи
****
Вне Форума



Сообщений: 134
Re: Узнать будущую дату при условии
Ответ #17 - 14.03.2021 :: 11:07:44
 
dron_ffk СПАСИБО!
Все работает.
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 006
Санкт-Петербург
Re: Узнать будущую дату при условии
Ответ #18 - 14.03.2021 :: 11:29:28
 
Чтобы не возиться с перебором и поиском в словаре можно добавить в словарь поле, например, 21, и туда заносить интервалы.
В этом случае все упрощается и помещается в одну строку:
Код:
if ДГ4 then ДГ10:=SUBAGE(ADDAGE(ДГ4, fsl(6,ДГ2,21)), "01.00.0000");
//где fsl(6 - номер словаря 


Наверх
 

voc.PNG (11 KB | 42 )
voc.PNG
 
IP записан
 
graffserg
Профи
****
Вне Форума



Сообщений: 134
Re: Узнать будущую дату при условии
Ответ #19 - 14.03.2021 :: 23:33:50
 
Zulus спасибо все работает!
Вы вместе с dron_ffk очень помогли. Еще раз спасибо.
Ваши советы и помощь внесу в себе в копилку знаний. Подмигивание

Наверх
 
 
IP записан
 
Страниц: 1 2 
Послать Тему Печать