|
Клиент хочет сравнивать текущий и прошлый год по периодам день, неделя, месяц, год. | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
13.06.20
✎
15:48
|
Вот например 9 июня 2020 нужно сравнивать с 11 июня 2019, потому что вторник.
Но там косяки с первой неделей начинаются, если они не с одинаковой даты. И с високосными годами тоже. Думаю, брать номер недели и в ней искать такой же день. А если дня нет, обрезать, из прошлого года не тянуть. Клиент подтверждает, что хочет так. Но это несколько портит статистику. А как правильно уаще? |
|||
1
RoRu
13.06.20
✎
15:54
|
(0) ещё надо наверно рабочие и выходные сравнивать
так то клиент задачу ставит и должен сказать, что ему важно и как |
|||
2
RoRu
13.06.20
✎
15:55
|
в (1) сравнивать читать как учитывать и различать
|
|||
3
vde69
13.06.20
✎
16:00
|
что именно он будет сравнивать? количество продаж?
сравнивать имеет смысл только усредненные значения, по тому как бывают пики, по этому сравнивают кратно учетному периоду (обычно месяц), разрезы менее 1 месяца как правило приводят к полному бреду... |
|||
4
Гений 1С
гуру
13.06.20
✎
16:02
|
(3) Да, продажи сравнивает. именно по дням как раз важно, потому что нельзя сравнивать понедельник с воскресеньем, например.
Я написал нечто вроде, хз, пусть клиент проверяет: Функция СоответствиеВПрошломГоду(Дата) Экспорт //День = ДеньГода(Дата); //Возврат НачалоГода(НачалоГода(Дата) - 1) + День * 3600 * 24; //берем такой же день в прошлом году НеделяГода = НеделяГода(Дата); ДеньНедели = ДеньНедели(Дата); НачалоПрошлогоГода = НачалоГода(НачалоГода(Дата) - 1); КонецПрошлогоГода = КонецГода(НачалоПрошлогоГода); ДеньНеделиНачалоПрошлогоГода = ДеньНедели(НачалоПрошлогоГода); ДатаПрошлогоГода = НачалоПрошлогоГода + 3600*24*7*(НеделяГода - 1) + 3600*24*(ДеньНедели - ДеньНеделиНачалоПрошлогоГода); //Проверяем за выход за диапазон Если ДатаПрошлогоГода > КонецПрошлогоГода Тогда ДатаПрошлогоГода = КонецПрошлогоГода; КонецЕсли; Если ДатаПрошлогоГода < НачалоПрошлогоГода Тогда ДатаПрошлогоГода = НачалоПрошлогоГода; КонецЕсли; Возврат ДатаПрошлогоГода; КонецФункции Проверил: 1 января 2020 ср соответствует ср 2 января 2019. 12 января 2020 вс соответствует вс 13 января 2019. |
|||
5
breezee
13.06.20
✎
16:10
|
Задача бредовая) Но, может, сравнивать через производственный календарь? Там вроде номер дня есть и можно просто вывести рабочий день или выходной
|
|||
6
NorthWind
13.06.20
✎
16:15
|
(0) у меня менеджеры тоже хотели. Нашел им на инфостарте сравнение двух периодов продаж, чуть допилил и дал.
Но они не лезли в дебри с днями, им надо было просто задать два периода по их выбору и все. |
|||
7
NorthWind
13.06.20
✎
16:17
|
вообще дни странно сравнивать таким макаром, непоказательно. Сравнивают обычно месяцы - например нынешний январь с таким же январем прошлого года или позапрошлого. Сезоны можно также сравнивать, это лето с тем. Дни я хрен его знает зачем сравнивать, там имхо ничего не увидишь путного на таких периодах.
|
|||
8
stopa85
13.06.20
✎
16:30
|
Я в регистр накопления продажи добавил измерения
1. Полугодие года 2. Квартал года 3. Месяц Года 4. Неделя года. 5. День года. Конечно, первую неделю года и последнюю не нельзя сравнивать, да и 366-ой день года не всегда повадает, но в целом норм. Помесячно сравнивают. |
|||
9
Злопчинский
13.06.20
✎
17:18
|
я хз как в 8-ке, но в 77 в запросе были СТАНДАРТНЫЕ периоды - день, неделя, декада, квартал - по которым можно группировать результаты запроса
|
|||
10
MyNick
13.06.20
✎
18:20
|
(5) почему бредовая? Мож они бухлом торгуют. И хотят пятницы сравнивать.
|
|||
11
Гений 1С
гуру
13.06.20
✎
19:23
|
(7) вот по месяцам, кстати, показательно, да.
А вот сравнивать дни и недели, хз. |
|||
12
rphosts
13.06.20
✎
19:31
|
(0) твой клиент такой-же извращенец что и ты, но если бабло платит - имеет право!
Как правильно? Наверное сравнивать 01.01.<ГодБазовый>-28.02 с 01.01.<ГодСравнения>-21.02 + дельта1 и 01.03.<ГодБазовый>-31.12 с 01.03.<ГодСравнения>-31.12 + дельта2 |
|||
13
МихаилМ
13.06.20
✎
19:36
|
НачалоПрошлогоГода = НачалоГода(НачалоГода(Дата) - 1);
это что |
|||
14
МихаилМ
13.06.20
✎
19:38
|
(13) извините
|
|||
15
vvspb
13.06.20
✎
19:43
|
(7) вообще дни странно сравнивать таким макаром, непоказательно/// да, мельче недели сравнивают обычно только "особые" дни. В зависимости от специфики это НГ, 23.02, 08.03, 01.09 и тыды
|
|||
16
Гений 1С
гуру
13.06.20
✎
20:14
|
(15) ну там сранивают день и этот же день год назад.
потом неделю от дня до его начала (накопительно) и такую же неделю в прошлом. Потом месяц от дня до начала месяца и такой же месяц в прошлом. |
|||
17
Гений 1С
гуру
13.06.20
✎
20:53
|
(12) Бабло платит, да. ;-)
|
|||
18
mistеr
13.06.20
✎
21:11
|
Задача нормальная. Кто говорит бредовая, тот не шарит.
>А как правильно уаще? Правильно предоставить выбор периодов пользователю. Ну и удобства всякие сделать, вроде выравнивания по дням недели. Кнопки там для +/- неделя/месяц/год, и тюпю. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |