|
ЗУП: Как получить базу по конкретному виду расчета? |
☑ |
0
FireAlex
09.11.12
✎
10:58
|
Возникла такая задача:
необходим отчет в котором есть четыре колонки:
и задаётся параметр вид расчета (например квартальная премия) и период:
----------------------------------
сотрудник | БазаНачислений1 | БазаНачислений2 | БазаНачислений3
----------------------------------
где
БазаНачислений1 - база начислений за первый месяц
БазаНачислений2 - база начислений за второй месяц
БазаНачислений3 - база начислений за третий месяц
никак не могу подобраться запросом к виртуальной БазаОсновныеНачисленияРаботниковОрганизаций
она всё время пустая.
как можно получить такие данные и возможно ли вообще?
|
|
1
zak555
09.11.12
✎
11:03
|
группировка по периоду - месяц
в параметрах виртуальной таблицы укажи авто для периодичности
|
|
2
FireAlex
09.11.12
✎
11:52
|
zak555, в параметрах виртуальной таблицы БазаОсновныеНачисленияРаботниковОрганизаций
нет периодичности.
|
|
3
dmpl
09.11.12
✎
11:53
|
(0) Сначала добавь запись в регистр расчета, для которой хочешь получить базу.
|
|
4
FireAlex
09.11.12
✎
12:09
|
(3)
без добавления никак?
я не могу понять одну вещь:
допустим у меня есть 3 вида расчета процентом - ПВР дополнительные начисления и у каждого своя база.
где в параметрах виртуальной таблицы задаётся к какому именно виду расчета я хочу получить базу?
|
|
5
dmpl
09.11.12
✎
12:27
|
(4) Базу можно получить только для конкретной записи регистра расчета, по виду расчета вообще ее получить нельзя.
Соответственно, устанавливай отбор по параметрам нужной записи регистра расчета - и получишь базу. Может просто указать ВидРасчета = &НужныйВидРасчета, но тогда получишь базу для всех записей этого вида расчета.
|
|
6
FireAlex
12.11.12
✎
09:02
|
(5)
Спасибо, всё получилось.
На самом деле нужно было изменить алгоритм расчета квартальной премии с показом отчета по каждому сотруднику - но менять стандартный расчет не хотелось - поэтому сделал через внешнюю обработку заполнения ТЧ, только перед этим надо было создать наборы записей регистра расчета, записать их и потом только получать базу и делать нужные расчеты.
|
|
7
dmpl
12.11.12
✎
09:39
|
(6) Рекомендую особое внимание уделить удалению этих записей после формирования базы. Это самая большая проблема, и тут надо учитывать, что в любой момент обработка может остановиться по ошибке (например, блокировка транзакций или подобное). Поэтому надо делать все в транзакции, как минимум.
1С, кстати, в типовых так до конца с этой проблемой не разобралась. Иногда после нештатных ситуаций еще попадаются непроведенные документы с движениями.
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан