Имя: Пароль:
1C
1С v8
СКД Вычислить процент и соединить со шкалой процентных ставок
0 mvgfirst
 
14.11.12
14:15
Объясните как сделать следующее используя СКД:
Есть определенный объем заказов сгруппированный по операторам.
По каждому оператору считается сумма заказов всего и сумма заказов содержащих определенный критерий.
Я написал запрос который выводит все продажи по операторам, в СКД добавил рессурсы по "СуммаВсего" и "СуммаПоКритерию" в настройках вывел группировку "Оператор" и добавил в нее все эти три поля. Так же добавил вложенную группировку по заказам. В результате получил отчет который показывает суммы продаж каждого оператора и разворачивается по заказам.

Теперь стоит задача расчитать процентное отношение "СуммаПоКритерию" к "СуммаВсего" получившийся процент найти в таблице "ШкалаПроентныхСтавок" и взяв из таблицы значение процентной ставки рассчитать сумму ЗП причитающуюся оператору.

При этом проценты и сумма ЗП оператору должны расчитываться только для группировки "Оператор" для группировки "Заказ" - она не имеет смысла (хотя в будущем можно будет усложнить задачу но пока ненадо)

Вопрос как это сделать средствами СКД а не расчитывая все показатели в Запросе?
1 mvgfirst
 
14.11.12
14:18
Таблица процентных ставок - это регистр сведений в котором указан диапазон значений? т.е. Минимальное и Максимальное значение а так же значение шкалы.
Например если процентное соотношение "СуммыПоКритерию" составляет 55,76% то нужно взять данные из строки со значениями Минимальное = 50 и Максимальное = 60
2 mvgfirst
 
14.11.12
14:19
С помощью одного запроса и левого внешнего соединения к шкале ставок я это у себя получил.
Но это запрос.
Я же думаю что тут должно быть два набора данных СКД и они должны быть связанны между собой.
3 mvgfirst
 
14.11.12
14:22
Так же, никак не могу понять как посредством СКД расчитать процентное соотношение сумм в одной строке группировки.
Пробовал использовать закладку Вычисляемые поля, но так как мой исходный запрос содержит только детальные записи - то вычисляемое поле расчитывает процент всегда равный 100%
А для получения в группировке требует сделать это поле ресурсом а если делаешь его ресурсом - он аавтоматически складывает занчения всех детальных записей

Что я делаю не так?
4 mvgfirst
 
14.11.12
15:13
Может хоть какие-то мысли, или подсказки будут?
5 mvgfirst
 
14.11.12
15:44
Походу меня все игнорят )))
6 Aprobator
 
14.11.12
15:54
посмотри в сторону вычисляемого поля. Там можно обращаться к общим модулям,ну и выражения для расчета использовать. Само поле в ресурсы и рассчитывать по .... что тебе надо.
7 mvgfirst
 
14.11.12
16:21
С вычисляемым полем уже разобрался.
Процент расчитывается.
Теперь задача с получением значения из таблицы процентных ставок

Т.е. поставим вопрос таким образом - можно ли получить данные из второго надобра данных СКД по данным конкретной группировки построенном на перовом?

У меня посчитаны по каждому Оператору проценты и есть во втром наборе данных таблица содержащая три поля "КритерийМинимум", "КритерийМаксиум" и "Значение"

Теперь нужно для каждой строки по группировке Оператор расчитать сумму ЗП взяв процент из второго набора данных.

Можно это как-то реализовать и если можно то как?
8 Aprobator
 
14.11.12
16:28
принцип такой же как у левого соединения. На вкладке связи.
9 mvgfirst
 
14.11.12
16:37
Как связать набор данных по полую расчитываемому только для одной группировки?
10 mvgfirst
 
14.11.12
16:38
И как задать условие на вхождение в диапазон?
11 Aprobator
 
14.11.12
17:24
думай, отсюда всяко фигово видно.
12 mvgfirst
 
14.11.12
17:33
Так можно связать два набора данных исползуя для услвоия связи вычисляемое поле?
13 Aprobator
 
14.11.12
17:34
нет. Только если поле для связи уже в запросе подготовить.
14 Trainee
 
14.11.12
17:38
Если не использовать вычисляемое поле, а вычислить в запросе и передать в параметр?
Будет что-то типа: http://help1c.com/faq/view/1002.html
15 mvgfirst
 
15.11.12
12:21
Суть задачи сводилась к тому что в отчете мне нужно было сгруппировать данные по операторам (посчитав сумму заказов всего и сумму заказов с критерием) - по результату этого расчета для каждого оператора в этой же строке - отобразить результат расчета его ЗП (взяв данные для расчета из шкалы по расчитанному проценту)

Но в то же время хотелось что бы группировку оператор можно было развернуть по заказам (для этого я хотел добавить подчиненную группировку)

Для того что бы возможна была подчиненная группировка - я в наборе данных выбирал запросом все заказы, и уже в СКД формиролва группировку по Оператору и расчитывал проценты

Но в виду того что я так и не нашел способ соединить другой набор данных по значению вычисляемого поля - пришлось отказаться пока от разворота по заказам и все вычисления и соединения с таблицей процентных ставок сделал внутри запроса набора данных.

В результате осталась только одна группировка в СКД
16 Aprobator
 
15.11.12
12:23
(15) вложенную схему не проще нарисовать было? Для развертки по оператору то?
17 mvgfirst
 
15.11.12
12:24
Да вот пока писал предыдущий пост - дошло )))
Но отчет уже сдал ))) Так что возможно как-нибудь потом!!!
18 Aprobator
 
15.11.12
12:25
ну прогресс есть - это радует )
19 mvgfirst
 
16.11.12
10:52
Кстати о вложенных схемах. Не совсем гладко у меня получается!

Я добавил вложенную схему с перечнем заказов по оператору.
Когда в настройках для группировки Оператор добавляю вложенный отчет а потом во влженном отчете группировку - то почему то верхняя группировка перестает быть таблицей!

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

Подскажите как это сделать?
20 mvgfirst
 
16.11.12
10:53
З.Ы. Книжку "Разрабтка сложных отчетов" - изучал, к сожалению она не оправдывает своего названия и никаких сложных примеров там не разбирают. И как раз вложенный отчет там сознательно рассмотрен на примере в котором верхняя группировка - не таблица а просто перечень контрагентов.
2 + 2 = 3.9999999999999999999999999999999...