Имя: Пароль:
1C
1С v8
Как получить дату начала недели и конец недели?
0 Shur1cIT
 
08.05.13
14:48
на входе имеем дату  1 апреля 2013 года начало месяца и конец получаю даты всё ок, теперь необходимо получить из этого месяца начало и конец недели по его номеру в месяце вопрос как?
1 mikecool
 
08.05.13
14:48
купить у меня запятых
2 NDN
 
08.05.13
14:49
(0)Держи: ,,,,,,,,,
3 MSII
 
08.05.13
14:50
Выпил, что-ли? Ничего не понятно.
4 Fish
 
08.05.13
14:50
(0) "Встроенные функции языка (Script functions)
НачалоНедели (BegOfWeek)
Синтаксис:

НачалоНедели(<Дата>)
Параметры:

<Дата> (обязательный)

Тип: Дата.
Исходная дата.
Возвращаемое значение:

Тип: Дата.
Дата и время начала недели.
Описание:

Определяет дату и время начала недели для указанной даты.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

Сообщить(НачалоНедели(ТекущаяДата()));"
5 mikecool
 
08.05.13
14:50
(0) Используй Стандартный период юный падаван и пребудет с тобой сила
6 Fish
 
08.05.13
14:50
Встроенные функции языка (Script functions)
КонецНедели (EndOfWeek)
Синтаксис:

КонецНедели(<Дата>)
Параметры:

<Дата> (обязательный)

Тип: Дата.
Исходная дата.
Возвращаемое значение:

Тип: Дата.
Дата и время конца недели.
Описание:

Определяет дату и время конца недели для указанной даты.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

Сообщить(КонецНедели(ТекущаяДата()));
7 Shur1cIT
 
08.05.13
14:52
(4) (6) мне не номер недели узнать, а дату начала недели и конец по номеру недели
8 Deon
 
08.05.13
14:52
НачалоНедели(ТвояДата*(Номер-1)*7*86400)
КонецНедели(ТвояДата*(Номер-1)*7*86400)
9 Aprobator
 
08.05.13
14:52
(0) продам СП, дорого! При покупке запятых - скидка.
10 Deon
 
08.05.13
14:53
а ещё поди начало недели не должно выходить за рамки месяца?
11 Shur1cIT
 
08.05.13
14:53
(7) причем номер недели в пределах месяца то есть от 1 до 5
12 mikecool
 
08.05.13
14:53
(9) не примазывайся к моим продажам...
13 mikecool
 
08.05.13
14:53
(11) фигню какую то придумал, откуда взял это значение?
14 Shur1cIT
 
08.05.13
14:54
(10) конечно в том и прикол тоесть может получиться что в пятую неделю всего два дня войдет или в первую один
15 Aprobator
 
08.05.13
14:54
(12) посмотрите на него! Я ему типа реклмау делаю, а он в отказ идет!
16 Shur1cIT
 
08.05.13
14:54
(13) минимальное количество недель в месяце 1 максиму 5
17 Deon
 
08.05.13
14:55
а мин() и макс() с датами нормально работают?
18 Fish
 
08.05.13
14:55
(16) Это в каком месяце одна неделя?
19 1Сергей
 
08.05.13
14:55
НеделяГода(НачалоМесяца(ТвояДата))

понятно что это?
20 mikecool
 
08.05.13
14:55
(16) круто! а в чем смысл задачи?
21 Fish
 
08.05.13
14:56
(20) Бредит, бедняга.
22 1Сергей
 
08.05.13
14:57
(16) посмотри Сентябрь 2013. он охватывает 6 недель
23 Shur1cIT
 
08.05.13
14:57
(19) и я получу номер недели года,а мне надо обратную ситуацию на вход номер недели на выходе начало этой недели и конец
24 НЕА123
 
08.05.13
14:58
(16)
в месяце 31 день. 1-е суббота. сколько недель?
25 Никулин Леонид
 
08.05.13
14:58
Сентябрь 13г. - МУЖИК!
26 Никулин Леонид
 
08.05.13
14:58
Правда 6 недель
27 Shur1cIT
 
08.05.13
14:59
(25) да кстати не утчел
28 Aprobator
 
08.05.13
14:59
ни хрена не понял. Тупо пробежаться  в цикле с начала месяца по неделям со счетчиком и день на вхождение не проверить что ли?
29 1Сергей
 
08.05.13
15:01
(23) НачалоГода(ТекущаяДата()) + НомерНедели * 7 * 86400
30 Deon
 
08.05.13
15:01
Макс(НачалоМесяца(ТвояДата), НачалоНедели(ТвояДата)+(Номер-1)*7*86400);
Мин(КонецМесяца(ТвояДата), КонецНедели(ТвояДата)+(Номер-1)*7*86400);
31 Ненавижу 1С
 
гуру
08.05.13
15:03
корректность данных не проверяется:

НомерНедели = 3;
ТвояДата = ТекущаяДата();
НачМесяца = НачалоМесяца(ТвояДата);
ДеньНедели = НачМесяца + (НомерНедели-1)*7*86400;
НачНеделеи = НачалоНедели(ДеньНедели);
КонНеделеи = КонецНедели(ДеньНедели);
32 Deon
 
08.05.13
15:06
(31) такое уже в (8) было. Там условия глубжее потом озвучены.
33 Shur1cIT
 
08.05.13
15:06
(30) ок спасибо большое
34 Ненавижу 1С
 
гуру
08.05.13
15:08
(32) ок, согласен
35 Aprobator
 
08.05.13
15:08
(30) ну вы, блин, даете!
вот так вроде:

НеделяМесяца = НеделяГода(ДатаМесяца) - НеделяГода(НачМесяца) + 1;
36 Deon
 
08.05.13
15:09
(35) ну это ж про другое ваще )
37 Deon
 
08.05.13
15:10
(33) проверку тока не забудь на номер недели замутить
38 Aprobator
 
08.05.13
15:17
а вообще интересно, нафига люди такими извращениями занимаются?
39 Shur1cIT
 
08.05.13
15:28
(38) делаю отчет по движениям денежных средств, отчёт хитрый поэтому на скд не нарисовать его. требуется сделать расшифровку по ячейки там оборот за период, в расшифровку необходимо передать номер недели и статью ддс, вот и заморочился
40 Aprobator
 
08.05.13
15:48
(39) честно говоря, не представляю какой такой отчет нельзя нарисовать на СКД.
41 hhhh
 
08.05.13
16:05
(39) делайте по декадам. Очень удобно - всегда 3 декады в месяце.