Имя: Пароль:
1C
1С v8
ЗУП: Как получить базу по конкретному виду расчета?
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С, кстати, в типовых так до конца с этой проблемой не разобралась. Иногда после нештатных ситуаций еще попадаются непроведенные документы с движениями.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан