Имя: Пароль:
1C
1С v8
Можно ли изменить начало недели в стандартном универсальном отчете
0 floatline
 
08.12.14
12:37
Нужно сгруппировать данные по неделям в стандартном универсальном отчете в УПП, но неделя должна начинаться с воскресенья. Есть ли возможность изменить день начала недели программно?

Или придется реализовать вариант: группируем по дням, обходим таблицу разбивая на недели нужным образом?
1 vicof
 
08.12.14
12:39
(0) Локализацию английскую попробуй поставить.
2 floatline
 
08.12.14
12:44
Так смена локализации повлечет за собой другие вопросы. Поиском не нашел как 1С определяет начало(в типовых конфигурациях: понедельник): производственный календарь, ISO 8601:1988 или каким-то другим способом?


Нашел только старый ответ от 1С:
Ошибка функции НеделяГода    19.06.2008 09:35 Русанов Дмитрий (1С, Москва)
592274
Считается, что способ определения номера недели (как и дня начала недели) является завимиым от локейла. То есть, в общем случае, в разных странах способы расчета номера недели отличаются. Функция НомерНедели() использует некоторый собственный алгоритм, не зависящий от локейла. В нем предполагается, что если хотя бы один день недели оказался в году (в начале года), то это уже неделя, имеющая номер. Началом недели всегда является понедельник. Например, если 1 января - воскресенье, то 1 января относится к первой неделе, а 2 января - ко второй. Наверное, это грубовато. Мы рассмотрим это вопрос.
3 floatline
 
08.12.14
12:46
Основной вопрос: программно изменить начало недели(и соответственно разбиение отчетов по неделям) в 1С нельзя?
4 Ненавижу 1С
 
гуру
08.12.14
13:02
что-то в таком роде:

ВЫБРАТЬ
    ВЫБОР
        КОГДА ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период) < 7
            ТОГДА ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период))
        ИНАЧЕ ПродажиОбороты.Период
    КОНЕЦ КАК НачалоНедели,
    СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот
ИЗ
    РегистрНакопления.Продажи.Обороты(, , День, ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период) < 7
            ТОГДА ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период))
        ИНАЧЕ ПродажиОбороты.Период
    КОНЕЦ
5 floatline
 
09.12.14
02:23
Благодарю, работает отлично.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан