|
СКД: Процент по строке к общему итогу | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
09.12.16
✎
03:36
|
В производственный отчет попросили вставить колонки процентов по затратам (номенклатуре). В "Вычисляемые поля" вставил выражения:
КоличествоЗатрата/ВычислитьВыражение("Сумма(КоличествоЗатрата)","","ОбщийИтог")*100 СтоимостьЗатрата/ВычислитьВыражение("Сумма(СтоимостьЗатрата)","","ОбщийИтог")*100 В ресурсы: Сумма(ПроцентКоличествоЗатрата) и Сумма(ПроцентСтоимостьЗатрата), получил результат: http://s017.radikal.ru/i438/1612/38/1a3331c64e3d.jpg - вроде все как надо. Но, когда добавили группировку по категории затраты: http://s020.radikal.ru/i722/1612/87/b9e66e441209.jpg - мои проценты стали странными: итоги по категории верные (и общие 100%), а внутри - у каждой итог по 100%!? Вопрос по функции ВычислитьВыражение(Выражение, Группировка, ТипРасчета, , , , , ), ее параметру Группировка - что в нее писать? |
|||
1
Mikhail Volkov
09.12.16
✎
04:15
|
Нашел подробное описание этого параметра: http://1centerprise8.blogspot.ru/2016/06/funkcii-skd.html
Группировка (Строка). Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Убрал "" из параметров, вроде заработало как надо: http://s12.radikal.ru/i185/1612/05/4cbdcfebb0cf.jpg Вообще-то первоначальное выражение брал из примера, в некоторых источниках по другому описывают функцию ВычислитьВыражение(). От версии платформы зависит? Если у клиента (которому делаю отчет) платформа 8.2 не последняя, то может не заработать как надо? |
|||
2
SleepyHead
гуру
09.12.16
✎
05:46
|
Можно же проще. С 8.3.6 для числовых полей (ресурсов) при выборе поля отчета можно его развернуть и выбрать процент от общего итога.
|
|||
3
SleepyHead
гуру
09.12.16
✎
05:48
|
||||
4
SleepyHead
гуру
09.12.16
✎
05:48
|
||||
5
SleepyHead
гуру
09.12.16
✎
05:49
|
Ага, увидел, что там вообще 8.2, ну что же, надо мучаться с выражениями :)
|
|||
6
h-sp
09.12.16
✎
07:00
|
(5) есть эти проценты в 8.2
|
|||
7
Mikhail Volkov
09.12.16
✎
09:51
|
(6) Да есть, и очень много разных. В моем случае какой брат ПроцентОбщий?
|
|||
8
Mikhail Volkov
10.12.16
✎
05:51
|
+ Да, ПроцентОбщий правильно отображает, и внутри группировки по категории. Но заголовки колонок уж больно корявые. Можно их как-то поправить (желательно чтобы как в предыдущем варианте)?
http://s019.radikal.ru/i634/1612/15/e344406182e8.jpg |
|||
9
Худой
10.12.16
✎
06:59
|
(8)Ты можешь выкладывать свои картинки на другой ресурс?
А то задолбали эти рекламы сопроводительные. Сразу отпадает желание темой заниматься |
|||
10
Mikhail Volkov
10.12.16
✎
07:32
|
(9) Какой ресурс, посоветуй (самого задолбила эта реклама)!?
С заголовками разобрался: в настройках "Выбранные поля" по правой кнопке мыши можно любой "Задать заголовок...". Еще нарыл здесь v8: компоновка данных, но мне не подходит. Поскольку в моем "Набор данных" нет полей процентов. |
|||
11
Mikhail Volkov
10.12.16
✎
08:23
|
Вообще-то тема эта родилась по сомнением возможностей СКД. Проценты вычисляются к общим итогам, т.е. в конце формирования отчета. А в целом задача в объединении 2-х типовых: "Выпуск продукции" и "Затраты на выпуск". Беда в том, что по количеству все нормально, результаты сходятся. А по стоимости результаты появятся только по закрытию месяца, после расчета себестоимости. Поэтому пока их делают в Excel, количества берут из типовых отчетов, а стоимость вычисляют по ценам рассчитанным из предыдущих уже закрытых периодов. Специально для этого РС рассчитанная себестоимость создали. При этом итоги 2-х отчетов конечно же не сходятся. В Excel их просто подгоняют: общий итог стоимости берут из полученного в "Затраты на выпуск", считают корректирующий коэффициент: Итог стоимости затрат/Итог стоимости выпуска. И все стоимости выпуска (каждой продукции) умножают на этот коэффициент.
Подобное в СКД можно реализовать? |
|||
12
mistеr
10.12.16
✎
08:51
|
(10) Imgur нормальный.
(11) Про плановую себестоимость в УПП у вас там в курсе? |
|||
13
Худой
10.12.16
✎
11:25
|
Действительно, обычно используют плановую. Естественно, она должна быть адекватная.
И что мешает расчтывать себестоимость, если она так необходима? |
|||
14
Mikhail Volkov
10.12.16
✎
11:44
|
(12) Imgur.com? Хотел инструкцию скачать, предлагает доп. ПО, какое-то Амиго... Как им пользоваться?
Про плановую себестоимость в УПП вроде в курсе, недавно План - фактный анализ продаж переделывал. (13) Рассчитывать себестоимость очень трудоемко, база сильно зависает (рассчитывают в копии на другом сервере, после как-то результаты в рабочую переносят. Прошлый месяц не всегда рассчитан, не говоря о текущем. |
|||
15
Mikhail Volkov
10.12.16
✎
12:49
|
Задал КоэффициентЦены в "Вычисляемые поля" выражением:
ВЫБОР КОГДА ВычислитьВыражение("Сумма(СтоимостьВыпуск)",,"ОбщийИтог") = 0 ТОГДА 1 ИНАЧЕ ВычислитьВыражение("Сумма(СтоимостьЗатрата)",,"ОбщийИтог")/ВычислитьВыражение("Сумма(СтоимостьВыпуск)",,"ОбщийИтог") КОНЕЦ Пробовал в "Ресурсы" добавить вместо Сумма(СтоимостьВыпуск) на Сумма(СтоимостьВыпуск)* КоэффициентЦены дает: Ошибка получения данных по причине: Выражение не может быть вычислено "Сумма(НаборДанных1.СтоимостьВыпуск), " В текст запроса пытался вставить КоэффициентЦены - не воспринимает. Куда вставить этот КоэффициентЦены чтобы СтоимостьВыпуск скорректировать? |
|||
16
Mikhail Volkov
10.12.16
✎
17:56
|
Выражение в ресурсах: Сумма(СтоимостьВыпуск)* КоэффициентЦены - вроде явно не подходит, там может быть только из списка: Сумма, Среднее..? Создал СтоимостьВыпускСкорректированная - к тому же выражению приписал множитель СтоимостьВыпуск. Кстати, в ВычислитьВыражение() 2-м параметром пришлось добавлять "", иначе та же ошибка (15) выскакивает!? В итоге получилось такое выражение:
СтоимостьВыпуск*(ВЫБОР КОГДА ВычислитьВыражение("Сумма(СтоимостьВыпуск)","","ОбщийИтог") = 0 ТОГДА 1 ИНАЧЕ ВычислитьВыражение("Сумма(СтоимостьЗатрата)","","ОбщийИтог")/ВычислитьВыражение("Сумма(СтоимостьВыпуск)","","ОбщийИтог") КОНЕЦ) Не знаю на сколько это правильно, но теперь итоговые стоимости выпуска и затрат сходятся. Вот только цены выпуска не соответствуют СтоимостьВыпуск/КоличествоВыпуск, они же берутся из РС рассчитанная себестоимость. Как их скорректировать? |
|||
17
mistеr
10.12.16
✎
19:03
|
(16) >Хотел инструкцию скачать, предлагает доп. ПО, какое-то Амиго
Ты где-то не там скачивал. Imgur прекрасно работает без доп. ПО. |
|||
18
Mikhail Volkov
11.12.16
✎
08:33
|
Казалось, что тут думать, тоже выражение, только вместо СтоимостьВыпуск подставить Цена из РС:
Цена*(ВЫБОР КОГДА ВычислитьВыражение("Сумма(СтоимостьВыпуск)","","ОбщийИтог") = 0 ТОГДА 1 ИНАЧЕ ВычислитьВыражение("Сумма(СтоимостьЗатрата)","","ОбщийИтог")/ВычислитьВыражение("Сумма(СтоимостьВыпуск)","","ОбщийИтог") КОНЕЦ) но оказалось сама Цена неправильно рассчитывается у продукции. В запросе берется так: РасчитаннаяСебестоимостьСрезПоследних.Себестоимость КАК Цена Выражение в ресурсах: Среднее(Цена). Стал копать, задал выражение: Количество(Различные Цена), то вывелось 24 у основной продукции!? Откуда такое? у всех остальных затрат по 1. |
|||
19
Mikhail Volkov
11.12.16
✎
12:53
|
Оказывается 24 - это позиции затрат. Запрос был следующим:
ВЫБРАТЬ ВыпускПродукцииОбороты.Подразделение КАК Подразделение, ВыпускПродукцииОбороты.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ВыпускПродукцииОбороты.Продукция КАК Продукция, ВыпускПродукцииОбороты.ХарактеристикаПродукции КАК ХарактеристикаПродукции, ВыпускПродукцииОбороты.СерияПродукции КАК СерияПродукции, ВыпускПродукцииОбороты.Спецификация КАК Спецификация, ВыпускПродукцииОбороты.ДокументВыпуска КАК ДокументВыпуска, ВыпускПродукцииОбороты.Период КАК Период, NULL КАК Затрата, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость КАК Цена, СУММА(ВыпускПродукцииОбороты.КоличествоОборот) КАК КоличествоВыпуск, СУММА(ВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) КАК СтоимостьВыпуск, 0 КАК КоличествоЗатрата, 0 КАК СтоимостьЗатрата ИЗ РегистрНакопления.ВыпускПродукции.Обороты(&НачалоПериода, &КонецПериода, День, Подразделение В ИЕРАРХИИ (&ВыбПодразделение)) КАК ВыпускПродукцииОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РасчитаннаяСебестоимость.СрезПоследних({(&ПериодСебестоимости)}, ) КАК РасчитаннаяСебестоимостьСрезПоследних ПО ВыпускПродукцииОбороты.Продукция = РасчитаннаяСебестоимостьСрезПоследних.Номенклатура СГРУППИРОВАТЬ ПО ВыпускПродукцииОбороты.Подразделение, ВыпускПродукцииОбороты.НоменклатурнаяГруппа, ВыпускПродукцииОбороты.Продукция, ВыпускПродукцииОбороты.ХарактеристикаПродукции, ВыпускПродукцииОбороты.СерияПродукции, ВыпускПродукцииОбороты.Спецификация, ВыпускПродукцииОбороты.ДокументВыпуска, ВыпускПродукцииОбороты.Период, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗатратыНаВыпускПродукцииОбороты.Подразделение, ЗатратыНаВыпускПродукцииОбороты.НоменклатурнаяГруппа, ЗатратыНаВыпускПродукцииОбороты.Продукция, ЗатратыНаВыпускПродукцииОбороты.ХарактеристикаПродукции, ЗатратыНаВыпускПродукцииОбороты.СерияПродукции, ЗатратыНаВыпускПродукцииОбороты.Спецификация, ЗатратыНаВыпускПродукцииОбороты.ДокументВыпуска, ЗатратыНаВыпускПродукцииОбороты.Период, ЗатратыНаВыпускПродукцииОбороты.Затрата, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость, 0, 0, СУММА(ЗатратыНаВыпускПродукцииОбороты.КоличествоОборот), СУММА(ЗатратыНаВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) ИЗ РегистрНакопления.ЗатратыНаВыпускПродукции.Обороты(&НачалоПериода, &КонецПериода, День, Подразделение В ИЕРАРХИИ (&ВыбПодразделение)) КАК ЗатратыНаВыпускПродукцииОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РасчитаннаяСебестоимость.СрезПоследних({(&ПериодСебестоимости)}, ) КАК РасчитаннаяСебестоимостьСрезПоследних ПО ЗатратыНаВыпускПродукцииОбороты.Затрата = РасчитаннаяСебестоимостьСрезПоследних.Номенклатура СГРУППИРОВАТЬ ПО ЗатратыНаВыпускПродукцииОбороты.Подразделение, ЗатратыНаВыпускПродукцииОбороты.НоменклатурнаяГруппа, ЗатратыНаВыпускПродукцииОбороты.Продукция, ЗатратыНаВыпускПродукцииОбороты.ХарактеристикаПродукции, ЗатратыНаВыпускПродукцииОбороты.СерияПродукции, ЗатратыНаВыпускПродукцииОбороты.Спецификация, ЗатратыНаВыпускПродукцииОбороты.ДокументВыпуска, ЗатратыНаВыпускПродукцииОбороты.Период, ЗатратыНаВыпускПродукцииОбороты.Затрата, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость Полагая, что для выпуска продукции Цена берется только по продукции (вроде стоимость продукции правильно рассчиталась). Теперь запрос переделал, сделал раздельно ЦенаВыпуск и ЦенаЗатрата: ВЫБРАТЬ ВыпускПродукцииОбороты.Подразделение КАК Подразделение, ВыпускПродукцииОбороты.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ВыпускПродукцииОбороты.Продукция КАК Продукция, ВыпускПродукцииОбороты.ХарактеристикаПродукции КАК ХарактеристикаПродукции, ВыпускПродукцииОбороты.СерияПродукции КАК СерияПродукции, ВыпускПродукцииОбороты.Спецификация КАК Спецификация, ВыпускПродукцииОбороты.ДокументВыпуска КАК ДокументВыпуска, ВыпускПродукцииОбороты.Период КАК Период, NULL КАК Затрата, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость КАК ЦенаВыпуск, 0 КАК ЦенаЗатрата, СУММА(ВыпускПродукцииОбороты.КоличествоОборот) КАК КоличествоВыпуск, СУММА(ВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) КАК СтоимостьВыпуск, 0 КАК КоличествоЗатрата, 0 КАК СтоимостьЗатрата ИЗ РегистрНакопления.ВыпускПродукции.Обороты(&НачалоПериода, &КонецПериода, День, Подразделение В ИЕРАРХИИ (&ВыбПодразделение)) КАК ВыпускПродукцииОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РасчитаннаяСебестоимость.СрезПоследних({(&ПериодСебестоимости)}, ) КАК РасчитаннаяСебестоимостьСрезПоследних ПО ВыпускПродукцииОбороты.Продукция = РасчитаннаяСебестоимостьСрезПоследних.Номенклатура СГРУППИРОВАТЬ ПО ВыпускПродукцииОбороты.Подразделение, ВыпускПродукцииОбороты.НоменклатурнаяГруппа, ВыпускПродукцииОбороты.Продукция, ВыпускПродукцииОбороты.ХарактеристикаПродукции, ВыпускПродукцииОбороты.СерияПродукции, ВыпускПродукцииОбороты.Спецификация, ВыпускПродукцииОбороты.ДокументВыпуска, ВыпускПродукцииОбороты.Период, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗатратыНаВыпускПродукцииОбороты.Подразделение, ЗатратыНаВыпускПродукцииОбороты.НоменклатурнаяГруппа, ЗатратыНаВыпускПродукцииОбороты.Продукция, ЗатратыНаВыпускПродукцииОбороты.ХарактеристикаПродукции, ЗатратыНаВыпускПродукцииОбороты.СерияПродукции, ЗатратыНаВыпускПродукцииОбороты.Спецификация, ЗатратыНаВыпускПродукцииОбороты.ДокументВыпуска, ЗатратыНаВыпускПродукцииОбороты.Период, ЗатратыНаВыпускПродукцииОбороты.Затрата, 0, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость, 0, 0, СУММА(ЗатратыНаВыпускПродукцииОбороты.КоличествоОборот), СУММА(ЗатратыНаВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) ИЗ РегистрНакопления.ЗатратыНаВыпускПродукции.Обороты(&НачалоПериода, &КонецПериода, День, Подразделение В ИЕРАРХИИ (&ВыбПодразделение)) КАК ЗатратыНаВыпускПродукцииОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РасчитаннаяСебестоимость.СрезПоследних({(&ПериодСебестоимости)}, ) КАК РасчитаннаяСебестоимостьСрезПоследних ПО ЗатратыНаВыпускПродукцииОбороты.Затрата = РасчитаннаяСебестоимостьСрезПоследних.Номенклатура СГРУППИРОВАТЬ ПО ЗатратыНаВыпускПродукцииОбороты.Подразделение, ЗатратыНаВыпускПродукцииОбороты.НоменклатурнаяГруппа, ЗатратыНаВыпускПродукцииОбороты.Продукция, ЗатратыНаВыпускПродукцииОбороты.ХарактеристикаПродукции, ЗатратыНаВыпускПродукцииОбороты.СерияПродукции, ЗатратыНаВыпускПродукцииОбороты.Спецификация, ЗатратыНаВыпускПродукцииОбороты.ДокументВыпуска, ЗатратыНаВыпускПродукцииОбороты.Период, ЗатратыНаВыпускПродукцииОбороты.Затрата, РасчитаннаяСебестоимостьСрезПоследних.Себестоимость Но ничего не исправилось, та же хрень, цены продукции не те, не совпадают с РС РасчитаннаяСебестоимость!? |
|||
20
Mikhail Volkov
12.12.16
✎
06:04
|
В "Вычисляемые поля" для ЦенаВыпускСкорректированная прописал:
ВЫБОР КОГДА КоличествоВыпуск = 0 ТОГДА 0 ИНАЧЕ СтоимостьВыпуск/КоличествоВыпуск*( ВЫБОР КОГДА ВычислитьВыражение("Сумма(СтоимостьВыпуск)","","ОбщийИтог") = 0 ТОГДА 1 ИНАЧЕ ВычислитьВыражение("Сумма(СтоимостьЗатрата)","","ОбщийИтог")/ВычислитьВыражение("Сумма(СтоимостьВыпуск)","","ОбщийИтог") КОНЕЦ) КОНЕЦ СтоимостьВыпуск и КоличествоВыпуск правильно рассчитываются, но и это не помогло? |
|||
21
Mikhail Volkov
15.12.16
✎
06:28
|
Еще один эксперимент, фрагмент:
РасчитаннаяСебестоимостьСрезПоследних.Себестоимость КАК Цена, СУММА(ВыпускПродукцииОбороты.КоличествоОборот) КАК КоличествоВыпуск, СУММА(ВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) КАК СтоимостьВыпуск, Заменил на: ВЫБОР КОГДА СУММА(ВыпускПродукцииОбороты.КоличествоОборот) = 0 ТОГДА 0 ИНАЧЕ СУММА(ВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) / СУММА(ВыпускПродукцииОбороты.КоличествоОборот) КОНЕЦ КАК Цена, СУММА(ВыпускПродукцииОбороты.КоличествоОборот) КАК КоличествоВыпуск, СУММА(ВыпускПродукцииОбороты.КоличествоОборот * РасчитаннаяСебестоимостьСрезПоследних.Себестоимость) КАК СтоимостьВыпуск, СтоимостьВыпуск и КоличествоВыпуск правильно рассчитываются, а их частное от деления - нет. В СКД какая-то хитрая арифметика? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |