|
СКД - Расчет среднего | ☑ | ||
---|---|---|---|---|
0
serg999
23.02.21
✎
18:57
|
Добрый день, вопрос расчета среднего значения
================ ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК Остаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц КАК Период ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты ================ Настройка: https://www.screencast.com/t/eqajUT7b9p3 https://www.screencast.com/t/Xam9XO9QK2m5 Результат "Средний остаток", считает не правильно .. Может какая галочка в СКД волшебная есть ? https://www.screencast.com/t/DUXaVpOg38 |
|||
1
ДенисЧ
23.02.21
✎
19:11
|
В декабре у тебя NULL, вот и.
|
|||
2
Ненавижу 1С
гуру
23.02.21
✎
19:14
|
(0) сделайте в запросе периодичность МЕСЯЦ
в ресурсе проще сделать так: Сумма(Остаток)/(РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ)+1) |
|||
3
serg999
23.02.21
✎
19:20
|
(2) Сумма получается 1 897, вместо положенной ~7 489
|
|||
4
Ненавижу 1С
гуру
23.02.21
✎
19:30
|
(3) у вас в таблице данные на первый, последний и месяцы движения, отсюда и такой результат
(699+699+474+0)/4 = 474,25 чтобы остатки "работали", надо выводить начальные и конечные и устанавливать соответствующие роли |
|||
5
toypaul
гуру
23.02.21
✎
19:51
|
Тут скорее всего проблема в том как работает метод дополнения и как считает функция "Среднее". "Среднее" считает по исходным данным - до того как срабатывает дополнение. Поэтому остаток на каждую дату оно не видит.
Решить проблему можно только таким образом чтобы в исходном наборе которые возвращает запрос были данные по остаткам на каждую дату. |
|||
6
toypaul
гуру
23.02.21
✎
19:54
|
СКД не понимает что вы хотите посчитать среднее по всем датам периода. Сумма(Остаток) / "Количество периодов" тоже не сработает. По той же причине что и в (5).
|
|||
7
serg999
23.02.21
✎
20:11
|
(5) Да нашел запрос, который выводи список месяцев по периоду, кончено можно, ну как совсем резервный вариант.
(4) Насчет настройки ролей, мне показалось то, что надо ... но я никогда этим не пользовался, сижу разбираюсь, но пока ни фига понять не могу .. (6) Он и сумму корректно не считает . |
|||
8
serg999
23.02.21
✎
20:40
|
Блин вроде и задача плевая, а не получается :(
|
|||
9
Ненавижу 1С
гуру
23.02.21
✎
20:57
|
(6) да, ты прав, красиво не вышло
ВЫБРАТЬ РАЗЛИЧНЫЕ ДанныеПроизводственногоКалендаря.Дата КАК Дата ПОМЕСТИТЬ Календарь ИЗ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря ГДЕ ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &НачПериода И &КонПериода И ДанныеПроизводственногоКалендаря.Дата = НАЧАЛОПЕРИОДА(ДанныеПроизводственногоКалендаря.Дата, МЕСЯЦ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Период КАК Период, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток ПОМЕСТИТЬ ТЗ ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты({(&НачПериода)}, {(&КонПериода)}, Месяц, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахОстаткиИОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Календарь.Дата КАК Дата, МАКСИМУМ(ТЗ.Период) КАК Период ПОМЕСТИТЬ Периоды ИЗ Календарь КАК Календарь ЛЕВОЕ СОЕДИНЕНИЕ ТЗ КАК ТЗ ПО Календарь.Дата >= ТЗ.Период СГРУППИРОВАТЬ ПО Календарь.Дата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Периоды.Дата КАК Месяц, ТЗ.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, ТЗ.ВНаличииПриход КАК ВНаличииПриход, ТЗ.ВНаличииРасход КАК ВНаличииРасход, ТЗ.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток, ЕСТЬNULL(ТЗОстатки.ВНаличииКонечныйОстаток,0) КАК СреднийОстаток ИЗ Периоды КАК Периоды ЛЕВОЕ СОЕДИНЕНИЕ ТЗ КАК ТЗ ПО Периоды.Дата = ТЗ.Период ЛЕВОЕ СОЕДИНЕНИЕ ТЗ КАК ТЗОстатки ПО Периоды.Период = ТЗОстатки.Период |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |