Предыдущая Дата в печатной форме
Добрый день профессионалы!
Помогите пожалуйста разобраться с предыдущей датой, как возможно это реализовать?
Задача стоит такая, в печатной форма Заявления нужно вместо текущей даты, нужна дата 3-х дневной давности, это реализовано таким образом Но теперь стоит новая задача, как реализовать что бы "предыдущая" дата не выпадала на выходной день (только суб и воскр), т.е. если дата выпадает на эти выходные то дата была предыдущей пятницы.
За ранее благодарен!
Помогите пожалуйста разобраться с предыдущей датой, как возможно это реализовать?
Задача стоит такая, в печатной форма Заявления нужно вместо текущей даты, нужна дата 3-х дневной давности, это реализовано таким образом
Функция ДатаЗаявления()
Сегодня = ТекущаяДата ();
ПредыдущаяДата = Сегодня - 72 * 60 * 60;
Если ПредыдущаяДата = ДеньНедели
Возврат (ПредыдущаяДата);
КонецФункции
За ранее благодарен!
По теме из базы знаний
- Продвинутая технология внешних печатных форм
- Выписка документов реализации копированием документов предыдущего месяца
- Внешняя печатная форма счета-фактуры № 1137 (ПП РФ № 981 от 19.08.2017) для УТ 10.3
- Шаблон разработки печатных форм и подключения к конфигурациям на БСП 2.х и БСП 3.0
- Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
А именно: как быть с праздничными днями? Например, будет текущая дата - 15 июня 2017, минус три дня - 12 июня, нерабочий день, хотя и понедельник. Допустима ли такая дата в вашей печатной форме или надо откручивать до 9 июня?
И это будет меняться от года к году - 12 июня 2018 - вторник, и будет ли понедельник 11-го рабочим или его перенесут - это одному правительству известно.
P.S, Про новогодние каникулы я вообще молчу - какая должна стоять дата в ВПФ, если она формируется 9 января?
Но теперь стоит новая задача, как реализовать что бы "предыдущая" дата не выпадала на выходной день (только суб и воскр), т.е. если дата выпадает на эти выходные то дата была предыдущей пятницы.
Боюсь, что реально задача окажется несколько сложнее, чем вы ее сейчас видите.
А именно: как быть с праздничными днями? Например, будет текущая дата - 15 июня 2017, минус три дня - 12 июня, нерабочий день, хотя и понедельник. Допустима ли такая дата в вашей печатной форме или надо откручивать до 9 июня?
И это будет меняться от года к году - 12 июня 2018 - вторник, и будет ли понедельник 11-го рабочим или его перенесут - это одному правительству известно.
P.S, Про новогодние каникулы я вообще молчу - какая должна стоять дата в ВПФ, если она формируется 9 января?
(4)
Это да подразумивалось, это сложно, хотя бы только суббота воскресенье, не до праздников, там если что будут вручную исправлять.
оюсь, что реально задача окажется несколько сложнее, чем вы ее сейчас видите.
А именно: как быть с праздничными днями? Например, будет текущая дата - 15 июня 2017, минус три дня - 12 июня, нерабочий день, хотя и понедельник. Допустима ли такая дата в вашей печатной форме или надо откручивать до 9 июня?
А именно: как быть с праздничными днями? Например, будет текущая дата - 15 июня 2017, минус три дня - 12 июня, нерабочий день, хотя и понедельник. Допустима ли такая дата в вашей печатной форме или надо откручивать до 9 июня?
Это да подразумивалось, это сложно, хотя бы только суббота воскресенье, не до праздников, там если что будут вручную исправлять.
(4) проверять дату можно по производственному календарю .
(3) Подробнее - отнимаешь свои три дня - получаешь дату (это уже есть) , Далее эту дату передаешь в функцию ДеньНедели ( ) Далее если это не день 6 или день 7 (что соответствует субботе или воскресенью) оставляешь свою дату без изменений. Но если это 6 или 7 день то от своей предыдущей дате отнимаешь еще один (если день 6) или 2 (если день 7) дня
(3) Подробнее - отнимаешь свои три дня - получаешь дату (это уже есть) , Далее эту дату передаешь в функцию ДеньНедели (
НомерДняВНеделе = ДеньНедели(ПредыдущаяДата)
(7)
(5)
Придется, правда, раз в год переписывать эту часть кода - не знаю, насколько для вас это приемлемо.
проверять дату можно по производственному календарю .
Производственный календарь - это функция платформы 1С? Или конфигурации? Так ведь автор не написал - какая у него конфигурация?
(5)
это сложно, хотя бы только суббота воскресенье, не до праздников, там если что будут вручную исправлять.
На самом деле не так уж и сложно, можно прямо в коде функции создать массив праздничных дней по утвержденному производственному календарю и проверять - не включает ли он в себя проверяемую дату?
Придется, правда, раз в год переписывать эту часть кода - не знаю, насколько для вас это приемлемо.
(8)
Конфа УПП
(5)
это сложно, хотя бы только суббота воскресенье, не до праздников, там если что будут вручную исправлять.
На самом деле не так уж и сложно, можно прямо в коде функции создать массив праздничных дней по утвержденному производственному календарю и проверять - не включает ли он в себя проверяемую дату?
Придется, правда, раз в год переписывать эту часть кода - не знаю, насколько для вас это приемлемо.
Я думаю что пока на суб.. воскр. остановимся, с моим опытом хотя бы это сделать
проверять дату можно по производственному календарю .
Производственный календарь - это функция платформы 1С? Или конфигурации? Так ведь автор не написал - какая у него конфигурация?
Производственный календарь - это функция платформы 1С? Или конфигурации? Так ведь автор не написал - какая у него конфигурация?
Конфа УПП
(5)
это сложно, хотя бы только суббота воскресенье, не до праздников, там если что будут вручную исправлять.
На самом деле не так уж и сложно, можно прямо в коде функции создать массив праздничных дней по утвержденному производственному календарю и проверять - не включает ли он в себя проверяемую дату?
Придется, правда, раз в год переписывать эту часть кода - не знаю, насколько для вас это приемлемо.
Я думаю что пока на суб.. воскр. остановимся, с моим опытом хотя бы это сделать
(7)
Все понятно, спасибо! Но как это реализовать нужно еще посидеть голову поломать!
Подробнее - отнимаешь свои три дня - получаешь дату (это уже есть) , Далее эту дату передаешь в функцию ДеньНедели (
НомерДняВНеделе = ДеньНедели(ПредыдущаяДата)
) Далее если это не день 6 или день 7 (что соответствует субботе или воскресенью) оставляешь свою дату без изменений. Но если это 6 или 7 день то от своей предыдущей дате отнимаешь еще один (если день 6) или 2 (если день 7) дня
НомерДняВНеделе = ДеньНедели(ПредыдущаяДата)
) Далее если это не день 6 или день 7 (что соответствует субботе или воскресенью) оставляешь свою дату без изменений. Но если это 6 или 7 день то от своей предыдущей дате отнимаешь еще один (если день 6) или 2 (если день 7) дня
Все понятно, спасибо! Но как это реализовать нужно еще посидеть голову поломать!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот