|
Как можно повлиять на нумерацию недель года в 1С? | ☑ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
Живой Ископаемый
07.02.17
✎
10:56
|
https://ru.wikipedia.org/wiki/Неделя
Календарная неделя и её нумерация[править | править вики-текст] В середине ХХ века возникла необходимость нумерации календарных недель. Дело в том, что иногда в производстве или в бухгалтерии удобней в качестве даты, например даты изготовления или недели оплаты, использовать комбинацию год и календарная неделя. Данная проблема была решена и отражена в международном стандарте ISO 8601. Согласно рекомендациям международного стандарта ISO 8601 (пункт 2.2.10[2]), который признают подавляющее большинство стран Европы и Азии, и Россия в том числе, первой неделей года считается неделя, содержащая первый четверг года, что эквивалентно следующим выражениям: неделя, содержащая 4 января; неделя, в которой 1 января это понедельник, вторник, среда или четверг; неделя, которая содержит как минимум четыре дня нового года. <.....> В США и Канаде принят другой принцип нумерации календарных недель. В основе лежат следующие два правила: каждое воскресенье начинается новая календарная неделя; 1 января, независимо от дня недели, начинается первая календарная неделя. ========= Сейчас у меня так: https://www.dropbox.com/s/5mtwbdofizoyftb/Screenshot%202017-02-07%2009.54.48(2).png?dl=0 |
||||||||||||||||
1
Живой Ископаемый
07.02.17
✎
10:57
|
ССылку на дропбокс переврало, попробую ограничить кавычками:
"https://www.dropbox.com/s/5mtwbdofizoyftb/Screenshot%202017-02-07%2009.54.48(2).png?dl=0" |
||||||||||||||||
2
Aleksey
07.02.17
✎
10:58
|
|||||||||||||||||
3
Живой Ископаемый
07.02.17
✎
10:58
|
Ладно, пусть будет Джинг:
https://screencast.com/t/u488e6PEuju |
||||||||||||||||
4
Aleksey
07.02.17
✎
11:00
|
Пришел ответ из 1С.. типа 1с не собирается поддерживать какието там ISO..
"Возможно, если мы решим получить функциональность ISO-8601, самым правильным было бы оставить НеделяГода().... Эта задача занесена в проект. Будет ли это реализовано и сроки реализации сказать пока не готовы." (с) v8: Нумерация недель.. |
||||||||||||||||
5
Aleksey
07.02.17
✎
11:02
|
Какая сейчас неделя?
просвятите с неделями v8: НеделяГода? Предлагаемый алгоритм ISO имеет ряд существенных отличий от используемого у нас. Например, 1 января у нас всегда относится к 1-й неделе года, а 31 декабря к последней неделе предыдущего года. Даже, если эти обе даты приходятся на одну неделю. Согласно ISO-8601 31 декабря и 1 января могут относиться к одной неделе. И это будет либо последняя неделя уходящего года, либо 1-я неделя наступающего. Например, если 1 января приходится на пятницу, то согласно ISO-8601, эта дата будет оноситься к последней неделе предыдущего года, а 1-я неделя текущего года начнется только 4 января (в понедельник, то есть 1-й день недели). Таким образом, помимо функции НеделяГода() требуется функция ГодНеделиГода(), которая позоволит установить к какому году относится неделя года. Кроме этого, согласно CLDR и ICU определение дня, с которого начинается 1-я неделя года, является локейло-зависимым. Как и определение 1-го дня недели. Алгоритм, подобный нашему, используется в MS SQL Server в функции DATEPART(week, ...). Там тоже 1 января всегда относится к 1-й неделе года, а 31 декабря - к последней. Возможно, если мы решим получить функциональность ISO-8601, самым правильным было бы оставить НеделяГода() как есть и ввести новые две функции для вычисления недели года и года недели года. Эта задача занесена в проект. Будет ли это реализовано и сроки реализации сказать пока не готовы. OFF: Юзер утверждает, что 30 апреля это не 18-я неделя года |
||||||||||||||||
6
Вафель
07.02.17
✎
11:04
|
Вычитай 1, если нужно
|
||||||||||||||||
7
Живой Ископаемый
07.02.17
✎
11:13
|
2(5) То есть никак, понял, сенкс.
2(6) Откуда вычитать? Пользователь открыл один из 100500 отчетов на СКД и добавил группировку - неделя. И увидел там 7-ю, вместо 6. В какой момент я буду что вычитать? Никак |
||||||||||||||||
8
lubitelxml
07.02.17
✎
11:17
|
имхо такое событие не поймаешь
Никак |
||||||||||||||||
9
Torquader
07.02.17
✎
21:35
|
Неделя - это семь дней, а год на семь дней не делится, так что как ни старайтесь, или будут обрезанные недели, или будут потерянные дни.
|
||||||||||||||||
10
H A D G E H O G s
07.02.17
✎
21:46
|
Я правильно понимаю:
1С считает по системе США. Эта система понятна и логична человекам, но допускает нецелые недели. Европейцы сделали хитрое смещение и нецелых недель не появляется, но система нелогична и античеловечна, но внесена в ISO и нужна узколобым бухам. Все так? |
||||||||||||||||
11
Torquader
07.02.17
✎
22:25
|
(10) Проблема в том, что у нас по ГОСТу заявлена система ISO, но в некоторых календарях всё ещё используется вариант, когда 1 неделя - с первого января.
|
||||||||||||||||
12
Bell
07.02.17
✎
22:29
|
Номер недели использовал в создании нумератора договоров. Все хотелки реализуемы.
Написать свою интеллектуальную функцию |
||||||||||||||||
13
Живой Ископаемый
15.02.17
✎
15:52
|
2(10) да
Более того, Ексель тоже использует нумерацию недель, где первая неделя начинается с 1-го четверга в году. В оракле используется один из двух вариантов: WW Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year. IW Week of year (1-52 or 1-53) based on the ISO standard. select to_char(sysdate , 'IW') FROM DUAL; === 2(12) Наметь хотя бы приблизительно - как сделать так, чтобы название группировки выглядело не как "7-я неделя", а как "6-я неделя", когда в СКД выводится отчет с детализацией по периоду - неделя. |
||||||||||||||||
14
Вафель
15.02.17
✎
16:06
|
(13) делай свою колонку номер недели. не используй стандартные
|
||||||||||||||||
15
Живой Ископаемый
15.02.17
✎
16:32
|
2(14) Нет своей колонки. Нет стандартной. Есть 100500 отчетов, в каждом из котором на пользовательском уровне можно добавить группировку по периоду, и выбрать неделю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |