Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Проанализировать ДЕНЬ месяца

Проанализировать ДЕНЬ месяца
Я
   dft2014
 
04.04.19 - 16:53
Подскажите, можно ли как-то красиво в коде проанализировать день даты текущего сеанса? Мне надо перебрать каждый день месяца и написать условие:
Если наступило 5-тое число текущего месяца, то показывать при открытии отчета прошлый месяц иначе показывать позапрошлый месяц. Т.е. должно быть вот так:


Дата формирования    Максимальный месяц
01.03.2019    январь
02.03.2019    январь
03.03.2019    январь
04.03.2019    январь
05.03.2019    февраль
06.03.2019    февраль
07.03.2019    февраль
и т.д.
31.03.2019    февраль
01.04.2019    февраль
02.04.2019    февраль
03.04.2019    февраль
04.04.2019    февраль
05.04.2019    март
06.04.2019    март
07.04.2019    март
 
 
   Fragster
 
1 - 04.04.19 - 16:54
>Подскажите, можно ли как-то красиво в коде проанализировать день даты текущего сеанса?

Да
   dft2014
 
2 - 04.04.19 - 16:59
(1) Спасибо за развернутый ответ)
   sqr4
 
3 - 04.04.19 - 17:00
День(ТекущаяДата())
   dft2014
 
4 - 04.04.19 - 17:05
(3) Эту команду я знаю, но надо анализировать в совокупности еще и месяц. И как это написать?
   dft2014
 
5 - 04.04.19 - 17:07
ДеньДаты = "";
МесяцДаты = "";
ДеньДаты = День(ДатаСеанса);
ТекущийМесяцДаты = Месяц(ДатаСеанса);
    
//вот здесь надо условие на текущий месяц и дату поставить, но как, с учетом того, что если наступило 5-тое число текущего месяца, то показывать при открытии отчета прошлый месяц иначе показывать позапрошлый месяц.  

//Если ДеньДаты = "1" ИЛИ ДеньДаты = "2" ИЛИ ...
   sqr4
 
6 - 04.04.19 - 17:09
ДобавитьМесяц(НАчалоМесяца(ТекущаяДата), -1)
   sqr4
 
7 - 04.04.19 - 17:10
//Если ДеньДаты = "1" ИЛИ ДеньДаты = "2" ИЛИ ... ???????????????
ДеньДаты<5
   dft2014
 
8 - 04.04.19 - 17:17
(6), (7) Спасибо, но по вашему коду, всегда если ТекДата<5 будет показывать прошлый месяц, а как же условие:
если наступило 5-тое число ТЕКУЩЕГО месяца, то показывать при открытии отчета ПРОШЛЫЙ месяц иначе показывать ПОЗАПРОШЛЫЙ месяц.
   sqr4
 
9 - 04.04.19 - 17:21
(8) я не предоставлял готовое решение, оно более чем простое, я думаю вы сами справитесь
   dft2014
 
10 - 04.04.19 - 17:22
(9) не справляюсь, поэтому обратилась на форум.
   sqr4
 
11 - 04.04.19 - 17:26
(10) Обидно
Если День(ТекущаяДата())< 5 Тогда
Месяц = ДобавитьМесяц(ТекущаяДата(), -2) 
Иначе
Месяц = ДобавитьМесяц(ТекущаяДата(), -1) 
КонецЕсли;
Начало = НачалоМесяца(Месяц);
Конец  = КонецМесяца(Месяц);
   dft2014
 
12 - 04.04.19 - 17:55
(11) По вашему коду, с 1-4 числа ЛЮБОГО месяца будет тянуться позапрошлый месяц, иначе (с 5 по 30(31) ЛЮБОГО месяца будет тянуться прошлый месяц. Это не совсем то, что мне надо: надо анализировать и текущий месяц - вот в этом-то у меня и загвоздка!
   sqr4
 
13 - 04.04.19 - 18:00
(12) Ваша загвоздка в формулировке задания
   Euguln
 
14 - 04.04.19 - 18:05
(11) Месяц = ДобавитьМесяц(НачалоДня(ТекущаяДата()) - 5*24*60*60, -1);
   dft2014
 
15 - 04.04.19 - 18:08
(13) Есть отчет, который формируется многими сотрудниками. Поскольку месяц у нас закрывается 5-го числа СЛЕДУЮЩЕГО месяца (например февраль у нас закрывается 5марта: март закрывается 5апреля и т.д), то надо поставить ограничение: если наступило 5-тое число текущего месяца, то показывать при открытии отчета прошлый месяц иначе показывать позапрошлый месяц. Т.е. пока месяц не закрыт, не давать возможности формировать отчет.
   dft2014
 
16 - 04.04.19 - 18:32
Ап!
   _Дайвер_
 
17 - 04.04.19 - 18:33
Если ДЕНЬ(ТекущаяДата()) >= 5 Тогда
 здесь период прошлого месяца в отчете ставишь...
Иначе
здесь период позапрошлого месяца в отчете ставишь...
КонецЕсли;
   Temai
 
18 - 04.04.19 - 18:34
Да тебе уже всё написали, что ты апаешь? Если не можешь пару строк кода написать тебе не на форум надо, а книжку читать идти.
   Веселый собака
 
19 - 04.04.19 - 20:38
как низок порог вползания в 1с..
   Fram
 
20 - 04.04.19 - 21:39
судя по форуму, ТС уже минимум 5 лет ползает )
   hhhh
 
21 - 04.04.19 - 22:42
(16) всё-таки прочитайте про функцию ТекущаяДата(). И вы поймете, что она не может быть в ЛЮБОМ месяце.
   OldCondom
 
22 - 04.04.19 - 22:58
"Мужчины получают большую плату за тот же труд!", - говорят они.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.