Имя: Пароль:
1C
 
СКД, хитрые доли, дубль...3!
0 samozvanec
 
09.06.15
09:14
предыстория(+ содержание предыдущих частей) есть у меня отчет. показывает расходы подразделений, и даже сравнивает с доходами. при чем для разных подразделений берется некая выручка, считающаяся для них "своей". например, для розничных магазинов - сколько продали, столько и выручка, а для офиса берется выручка общая, сколько наторговали все продающие подразделения.

и все бы хорошо, но есть у меня чудесный отдел розничных продаж. все остальные продажные подразделения управляют сами собой, например, оптовые отдел. а с розницей такая песня, что, хоть продают и магазины, но есть отдел, этими магазинами управляющий. и расходы его "неотделимы" от расходов магазинов. в кавычках потому что не не можем, а не хотим. так как отдел этот по сути офис, доля берется от общей выручки. а по магазинам от своей. и в тех редких случаях, когда они попадают в одну группировку, доля получается кривая.

считаю я долю вот так

ВЫБОР КОГДА СУММА(Массив(Свернуть(ТаблицаЗначений(фВыручка, ЦелевоеПодразделение)))) = 0 ТОГДА 0 ИНАЧЕ СУММА(СуммаФакт) / СУММА(Массив(Свернуть(ТаблицаЗначений(фВыручка, ЦелевоеПодразделение))))
* 100 КОНЕЦ

решил я, что в определенных группировках могу считать вот так

ВЫБОР КОГДА СУММА(Массив(Свернуть(ТаблицаЗначений(ВЫБОР КОГДА ЦелевоеПодразделение = &ОРП ТОГДА 0 ИНАЧЕ фВыручка КОНЕЦ, ЦелевоеПодразделение)))) = 0 ТОГДА 0 ИНАЧЕ СУММА(СуммаФакт) / СУММА(Массив(Свернуть(ТаблицаЗначений(ВЫБОР КОГДА ЦелевоеПодразделение = &ОРП ТОГДА 0 ИНАЧЕ фВыручка КОНЕЦ, ЦелевоеПодразделение))))
* 100 КОНЕЦ

но что-то совсем не то, что я ожидал, он мне выдает.
вопрос: где косяк и как сделать правильно?
1 Timon1405
 
09.06.15
09:38
Много букв) использовать свой макет уже было?
2 samozvanec
 
09.06.15
09:40
(1) не, такого не было. а зачем?
3 samozvanec
 
09.06.15
09:41
+(2) в зависимости от варианта, отчет может переворачиваться вверх ногами и выворачиваться наизнанку. какой тут макет?
4 Timon1405
 
09.06.15
09:42
(2) ИМХО, когда отчет разрастается до определенной сложности, становится проще сделать макет и понятный вывод, чем изворачиваться с многоэтажными конструкциями.
5 rsv
 
09.06.15
09:46
(3) " в зависимости от варианта, отчет может переворачиваться вверх ногами и выворачиваться наизнанку. "

Это нужно кому то ?  По ходу заказчику надо все в Excel сохранить .  Наверное напишите в консоли простое решение.
6 rsv
 
09.06.15
09:48
+(5) Разложите по временным таблицам и глядишь взлетит.
7 samozvanec
 
09.06.15
09:49
(4) вывод понятный, зачем тут макет - не ясно, кроме того, отчет уже разросся до сложности, при которой непонятно, как вообще сделать макет. и, опять же, нафига он мне???

(5) нужно. в ексель сохраняют, и не только в ексель. простого решения тут не получится, функциональности и разрезы очень хитрые.

господа, я не хочу простого решения, оно тут неуместно. помогите разобраться с языком выражений!
ВычислитьВыражениеСГруппировкойТаблицаЗначений кто-нибудь курил? чую, что оно, но, как сделать, пока не понял
8 samozvanec
 
09.06.15
09:51
(6) там все разложено уже. в схему передается готовая ТЗ, в которой посчитано все, кроме долей. с этим мы с СКДшкой должны справиться вместе.

там вообще три схемы на самом деле, выводятся в один таб док, и с друг другом взаимодействуют наборы этих схем. эта - средняя, самая сложная.
9 samozvanec
 
10.06.15
16:18
для тех, кому интересно, опишу решение. для определенной группировки, где выручка отдела мешалась, формула видоизменилась на

ВЫБОР КОГДА Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(Массив(Различные фВыручка))", "ЦелевоеПодразделение", "&ПоЦП ИЛИ НЕ (ЦелевоеПодразделение = &ОРП И Подразделение = &ОРП)")) = 0 ТОГДА 0 ИНАЧЕ СУММА(СуммаФакт) / Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(Массив(Различные фВыручка))", "ЦелевоеПодразделение", "&ПоЦП ИЛИ НЕ (ЦелевоеПодразделение = &ОРП И Подразделение = &ОРП)"))
* 100 КОНЕЦ

&ПоЦП - параметр указывает на один из вариантов отчета
&ОРП - отдел розничных продаж, потом может быть заменен на список, если, например, отдел франчайзинга разрастется настолько, что ими нужно будет управлять

единственный минус - сумма(массив(РАЗЛИЧНЫЕ)), очень надеюсь, что у продающего подразделения не будет одинаковой выручки в двух периодах. в противном случае буду экспериментировать дальше, сейчас лень.
10 eklmn
 
гуру
10.06.15
16:27
я тебе уже говорил, делай правильно объединение наборов
11 samozvanec
 
10.06.15
16:36
(10) это было в прошлом дубле, ту проблему решил именно так, как ты говорил. это уже другая проблема.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший