![]() |
Сгруппировать отчет по "нестандартным" неделям. Всем привет. Помогите с нетривиальным заданием - для торговли (ут 10.3) необходимо как-то сделать, чтоб группировка была по "нестандартным" неделям. Тоесть, не с понедельника по воскресенье, а с пятницы (начало дня) по четверг (конец дня), тоесть по сути со сдвигом на 4 дня назад от стандартного периода. УТ 10.3, отчет написан через универсальный отчет (валовая прибыль с кое какими "добавками"). Подскажите, как добавить такое? Хоть примерно, хоть на СКД если есть такая возможность... (пока только такое решение и видеться - написать "свою" функцию "началонестандартнойнедели(выбдата)" , которая бы возвращала начало такой "нестандартной" недели, и далее по ней группировать... Но это не знаю, тока через СКД придёться всё делать - через простой запрос в универсальномотчете такое точно не сделать... Может как-то можно поиграть со сдвигами периода на 4 дня назад в неделе, чтоб получить то что надо? Общая цель - отгрузки в компании идут по таким "неделям", потому что всё что "грузиться" в пятницу и субботу уже будет отправлено в следующую неделю, вот руководитель так и хочет видеть в отчете... |
кстати, подумал что проще всего как есть оставить на универсальномотчете всё и просто написать функцию типа [em]выбор когда ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период) >4 тогда .... (возвращаем начало пятницы этой недели) иначе .... (возвращаем начало пятницы предыдущей недели) конец [/em] и потом по нему группировать |
осталось понять, как вытянуть начало пятницы ))) |
Всё, кому интересно - вот что получилось : [b]ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период) > 4 ТОГДА ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, 5 - ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период)) ИНАЧЕ ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -(ДЕНЬНЕДЕЛИ(ПродажиОбороты.Период) + 2)) КОНЕЦ КАК НачалоНестандартнойНедели[/b] |
(0) на границах периода выборки результат заказчика устроит? При формировании отчета по месяцам, например, в ряде случаев данные "уедут" в следующий месяц и "не приедут" из предыдущего. |
(4) Так и месяц не начинается в понедельник и не заканчивается в воскресенье. |
Текущее время: 11:36. Часовой пояс GMT +3. |