![]() |
![]() |
![]() |
|
Средний остаток за месяц | ☑ | ||
---|---|---|---|---|
0
Чинандалар Бонг
20.03.09
✎
07:41
|
делаю отчет в котором считаю средний остаток за месяц. Среднее считается сложением начального остатка на каждый день и делением на колво дней.
Отчет имеет вид ----------------------------------------- Товар | Остаток | |------------------- |Январь | Февраль | ----------------------------------------- делается все на СКД, получился такой запрос ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодМесяц, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень, СРЕДНЕЕ(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток) КАК СредняяСебестоимость ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодМесяц, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень проблема в том что здесь две группировки по периоду - день и месяц. Когда я в отчете вывожу с группировкой по месяцу, то он мне показывает начальный остаток на этот месяц, а мне нужно среднее на месяц. Не могу сообразить как это сделать. Подскажите пожалуйста |
|||
1
Defender aka LINN
20.03.09
✎
07:43
|
(0) "Среднее считается сложением начального остатка на каждый день и делением на колво дней" - ну и где это?
|
|||
2
Чинандалар Бонг
20.03.09
✎
07:53
|
ну типа вот :)
СРЕДНЕЕ(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток) КАК СредняяСебестоимость |
|||
3
Чинандалар Бонг
20.03.09
✎
08:12
|
нид хелп
|
|||
4
Чинандалар Бонг
20.03.09
✎
08:44
|
помогите пожалуйста
|
|||
5
Чинандалар Бонг
20.03.09
✎
08:55
|
аксакалы, ау!
|
|||
6
Irbis
20.03.09
✎
08:56
|
Плюс еще не хило бы на начало и конец периода брать не весь остаток, а только половину.
|
|||
7
Чинандалар Бонг
20.03.09
✎
08:59
|
ну можно конечно на начало и конец брать и делить пополам, но это не принципиально. Вопрос в другом. Как в группировку по месяцу засунуть не данные остатка по это группировке а результат вычисления среднего по дням?
|
|||
8
Чинандалар Бонг
20.03.09
✎
09:18
|
буду настойчивым. спросить больше не у кого
|
|||
9
Irbis
20.03.09
✎
09:19
|
Периодичность кури. И то еще придется помучаться.
|
|||
10
чувак
20.03.09
✎
09:26
|
(7) Если это СКД, там в первой закладке есть же опция "Выражения"
|
|||
11
Чинандалар Бонг
20.03.09
✎
09:26
|
может сделать два набора данных в СКД, в одном считать по дням, в другом по месяца и потом соединить?
|
|||
12
Чинандалар Бонг
20.03.09
✎
09:46
|
может где то почитать про СКД можно? инфы очень мало, на ИТСе смотрел...
|
|||
13
Defender aka LINN
20.03.09
✎
09:52
|
(2) Это типа "СРЕДНЕЕ(Поле)". Это никак не "сложение начального остатка на каждый день и деление на колво дней"
|
|||
14
Чинандалар Бонг
20.03.09
✎
09:54
|
(13) ок. а как надо сделать?
|
|||
15
IronDemon
20.03.09
✎
10:18
|
||||
16
Чинандалар Бонг
20.03.09
✎
10:50
|
тупо сделал так
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень, СРЕДНЕЕ(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток) КАК СтоимостьНачальныйОстаток, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ПериодДень, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры формирую отчет за месяц, в итогах получаю нужную мне цифру - средний остаток за месяц рассчитанный с периодичностью день. Как получить тож самое но чтобы еще с периодичнлстью по месяцам? |
|||
17
Чинандалар Бонг
20.03.09
✎
10:51
|
(15) долго внимал. не увидел обшности задачи, тем более для СКД этот способ видимо не катит
|
|||
18
IronDemon
20.03.09
✎
10:52
|
(17) Запросом из (15) считается сумма по **всем** дням
|
|||
19
Irbis
20.03.09
✎
10:53
|
||||
20
IronDemon
20.03.09
✎
10:55
|
ВЫБРАТЬ
СУММА(Дебиторка.СуммаКонечныйОстаток) КАК Долг, ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, РазностьДат.НомерДняИзДиапазона) КАК Период, 0 КАК Средний, Дебиторка.Склад, Дебиторка.Организация ИЗ (ВЫБРАТЬ Оборот1.Дата КАК ДатаС, МИНИМУМ(ВЫБОР КОГДА Оборот2.Дата ЕСТЬ NULL ТОГДА КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) ИНАЧЕ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(Оборот2.Дата, ДЕНЬ, -1), ДЕНЬ) КОНЕЦ) КАК ДатаПо, Оборот1.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, Оборот1.Организация КАК Организация, Оборот1.Склад КАК Склад ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Дата, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьРеглКонечныйОстаток КАК СуммаКонечныйОстаток, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Организация КАК Организация ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , {(Организация).* КАК Организация, (Склад).* КАК Склад}) КАК ПартииТоваровНаСкладахОстаткиИОбороты) КАК Оборот1 ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Дата, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Организация КАК Организация ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&КонецПериода, &КонецПериода, День, , {(Организация).* КАК Организация, (Склад).* КАК Склад}) КАК ПартииТоваровНаСкладахОстаткиИОбороты) КАК Оборот2 ПО Оборот1.Дата < Оборот2.Дата И Оборот1.Склад = Оборот2.Склад И Оборот1.Организация = Оборот2.Организация СГРУППИРОВАТЬ ПО Оборот1.Дата, Оборот1.СуммаКонечныйОстаток, Оборот1.Организация, Оборот1.Склад) КАК Дебиторка ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d КАК НомерДняИзДиапазона ИЗ (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК cc ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК dd ПО (ИСТИНА) ГДЕ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= &КолДнейМеждуДатами) КАК РазностьДат ПО (ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, РазностьДат.НомерДняИзДиапазона) МЕЖДУ Дебиторка.ДатаС И Дебиторка.ДатаПо) СГРУППИРОВАТЬ ПО ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, РазностьДат.НомерДняИзДиапазона), Дебиторка.Склад, Дебиторка.Организация |
|||
21
Чинандалар Бонг
20.03.09
✎
10:55
|
(18) эт я понял. потом надо поделить на колво дней. можно конечно, тока зачем если способ (16) прекрсно работает
|
|||
22
IronDemon
20.03.09
✎
10:57
|
(21) Этот метод работает когда есть движение.
|
|||
23
Чинандалар Бонг
20.03.09
✎
11:00
|
а хоть бы и не было. не стоит задача снять остатки на каждый день. стоит задача посчитать СРЕДНЕЕ. если даже за весь месяц движения не было, то хоть н акаждый день остатки снимай и дели на колво дней, хоть фукнцию среднее используй - результат одинаковый
|
|||
24
Irbis
20.03.09
✎
11:02
|
(23) Приход 01.01 расход 31.01 - каков средний остаток? Половина прихода по твоему? А то что товар месяц пролежал на складе?
|
|||
25
IronDemon
20.03.09
✎
11:07
|
(23) Ну-ну
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |