Предыдущая Дата в печатной форме
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 4 из 4
  1. #1
    Пришел за помощью

    Регистрация
    10.04.2014
    Сообщений
    33
    Сказал(а) спасибо
    3
    Поблагодарили 5 раз(а) в 3 сообщениях

    По умолчанию Предыдущая Дата в печатной форме

    Добрый день профессионалы!
    Помогите пожалуйста разобраться с предыдущей датой, как возможно это реализовать?
    Задача стоит такая, в печатной форма Заявления нужно вместо текущей даты, нужна дата 3-х дневной давности, это реализовано таким образом
    Код:
    Функция ДатаЗаявления()
    Сегодня = ТекущаяДата ();
    ПредыдущаяДата = Сегодня - 72 * 60 * 60;
    Если ПредыдущаяДата = ДеньНедели 
    Возврат (ПредыдущаяДата);
    КонецФункции
    Но теперь стоит новая задача, как реализовать что бы "предыдущая" дата не выпадала на выходной день (только суб и воскр), т.е. если дата выпадает на эти выходные то дата была предыдущей пятницы.
    За ранее благодарен!

  2. #2
    Гордость форума PRO

    Регистрация
    29.01.2010
    Сообщений
    1212
    Сказал(а) спасибо
    30
    Поблагодарили 261 раз(а) в 245 сообщениях

    По умолчанию Re: Предыдущая Дата в печатной форме

    Такие задачи решаются через запрос к регистру сведений "Рабочий календарь". Именно там находится актуальная информация про выходные и праздничные дни.
    потому как к твоему алгоритму "прикрутить" обработку "Суббота и воскресенье" - легко, но вот для учета праздничных (и их переносов) - нужно работать уже с произВодственнымКалендаре м

  3. #3
    Просто юзер
    Аватар для Анатолик
    Регистрация
    21.01.2011
    Адрес
    Россия, РО
    Сообщений
    52
    Сказал(а) спасибо
    6
    Поблагодарили 9 раз(а) в 6 сообщениях

    По умолчанию Re: Предыдущая Дата в печатной форме

    Та нифига, в запросе можно получить день недели, и если это например 6 - суббота или 7-воскресенье, то проставлять 5 - пятница, ну или выводить текстом

  4. #4
    Просто юзер
    Аватар для Анатолик
    Регистрация
    21.01.2011
    Адрес
    Россия, РО
    Сообщений
    52
    Сказал(а) спасибо
    6
    Поблагодарили 9 раз(а) в 6 сообщениях

    По умолчанию Re: Предыдущая Дата в печатной форме

    //Это так для примера


    лТекст = "
    |ВЫБРАТЬ
    | Док.Ссылка,
    | ВЫБОР
    | КОГДА ДЕНЬНЕДЕЛИ(Док.Дата) = 6
    | ИЛИ ДЕНЬНЕДЕЛИ(Док.Дата) = 7
    | ТОГДА ""Это выходной день""
    | ИНАЧЕ ""Рабочая дата""
    | КОНЕЦ КАК Поле1
    |ИЗ
    | Документ.Ссылка КАК Док
    |";

    лЗапрос = Новый Запрос(лТекст);

    // Присвоение значений переменным параметров.


    // Установка параметров.


    лВыборка = лЗапрос.Выполнить().Выбрать ();

    Пока лВыборка.Следующий() Цикл

    //ЗДЕСЬ ОБРАБАТЫВАЕШЬ РЕЗУЛЬТАТ!!!!!!!!!!!!!!!!!!!!!!!!!

    КонецЦикла;



    Также в расчете скорее всего пригодится функция по работе с датами "ДОБАВИТЬКДАТЕ" (обрати на это вниание!!!!!!!!!!!!!)

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •