Количество недель в месяце #559255


#0 by pessok
Доброго времени суток. Вот тут подумал, а как бы получить количество недель в месяце? Обходить циклом через НеделяГода, наверное, не самый гибкий вариант. Подскажите, если не сложно.
#1 by simol
52
#2 by Murzz
ну это зависит от того, каким днем недели являетяс первый день месяца, и сколько дней в месяце. Надо только зависимость точную найти
#3 by Sakura
в месяце?!
#4 by Fragster
дней в месяце / 7
#5 by Murzz
скорее уж 4
#6 by Fragster
автору учится задавать вопросы. срочно.
#7 by pessok
насколько невнятно я задал вопрос? :) мне надо получить количество рабочих недель в месяце. Т.к. в каждом месяце оно разное, где-то 4, где-то 5, а где-то и 6
#8 by pessok
вот это ближе. Я пока сам не придумаю, как сделать правильно...
#9 by ice777
6?  это что-то новое )
#10 by Sakura
у автора свои, особенные месяцы :)
#11 by ice777
перебери дни в месяце, никак по-другому.
#12 by pessok
май 2011 года :) ну да, у меня воскресенье - рабочий день
#13 by pessok
см
#14 by pessok
тогда второй вопрос, а как их перебрать? не работает
#15 by Sakura
Э, и что? Недель больше 4,5 просто по количеству дней быть не может :)
#16 by pessok
в неделе месяца может быть 2 дня. Посмотри календарик. Май 2011. Посмотри сколько там недель в мае. Не полных недель по 7 дней, а всего недель.
#17 by pessok
ой, было в ответ на
#18 by ice777
а пофигу. 31/7 < 5. кто ясно мыслит- тот ясно излагает ) так и излагай - неполных.
#19 by acsent
Зачем ты придумал про полные недели?
#20 by basicm
дык рабочих или просто недель?
#21 by pessok
каюсь, не догадался, что такое может быть неочевидным. Просто у меня такое сплошь и рядом. Так как правильно перебрать?
#22 by pessok
так. ставим вопрос ребром. мне просто нужно получить количество _всех_ _полных_ и _неполных_ недель в месяце. Грубо говоря так, как их показывает календарь ОС, 1С и прочее. Т.е. для мая 2011 мне надо получить 5 :) Вот!
#23 by ice777
Со дня НачалоМесяца по день КонецМесяца. фя ДеньНедели
#24 by ice777
вот тока не пойму, какой расчет может требовать такую инормацию ;)
#25 by basicm
если в мае 2011 пять недель - то это рабочие недели
#26 by 73
(КонецНедели(КонецМесяца(ТекущаяДата))+1 - НачалоНедели(НачалоМесяца(ТекущаяДата)))/60/60/24/7
#27 by pessok
попробуем специфическая конфа по мерчандайзингу. есть 20 в месяц, надо расчитать сколько их будет за неделю так я вроде так и писал сначала, но народ не понял про "рабочих недель"...
#28 by vudo
А вопрос не такой уж и тупой! Предлагаю: Функция ОпределениеКвоНедельВМесяце(Дата) Как-то так! Сам не проверял! Может где ошибки. :) Но идея такая...
#30 by pessok
не хочет он даты по циклу обходить. в семерке, помнится, обходил, в 8-ке не хочет. надо преобразовывать. спасибо за поддержку, сейчас попробую. попробую, но опять таки не обходятся даты в цикле :(
#31 by 73
А попробуй...
#32 by pessok
попробую 0 возвращает...
#33 by pessok
работает, спасибо! :) надо записать, елки-палки :)
#34 by vudo
Я лучше придумал и проверил! Вот так надо: (НеделяГода(КонецМесяца(ТекущаяДата)) - НеделяГода(НачалоМесяца(ТекущаяДата)))
#35 by 73
А теперь для декабря или января попробуй...
#36 by vudo
И что? Я то номер недели последней и начальной даты получаю!
#37 by pessok
для января работает нормально
#38 by pessok
да и для декабря тоже
#39 by vudo
Кто бы сомневался! Удачи!
#40 by 73
Я просто спросил) ЗЫ. +1 добавить надо в
#41 by pessok
да, я тоже заметил, иначе с декабрем и январем косяки. я имел ввиду, что по считается правильно :)
#42 by vudo
И зачем? Начало месяца может на воскресенье, конечно, припадать, но это же все равно другая неделя.
#43 by 73
Ну посчитай для текущей даты и посмотри в календарь июля...
#44 by Naumov
НомерНедели(КонПериода) - НомерНедели(НачПериода) ?
#45 by pessok
НомерНедели? Это что?
#46 by Naumov
Встроенные функции языка (Script functions) НеделяГода (WeekOfYear) Синтаксис: НеделяГода(<Дата>) Параметры: Тип: Дата. Исходная дата. Возвращаемое значение: Тип: Число. Номер недели в году. Описание: Определяет номер недели в году для указанной даты. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: Сообщить(НеделяГода(ТекущаяДата));
#47 by Naumov
Ну не помню точное название функции
#48 by 73
Это то же, что и . +1 тоже надо.
#49 by vudo
Точно! +1 обязательно надо! [/code]
#50 by pessok
угу. с этим расправился, щас создам новую тему, это только часть гемморроя моего :)
#51 by pessok
Еще раз спасибо всем откликнувшемся!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С