ВИДЫ И ГРУППЫ РАСЧЕТОВ

Ссылка на вид расчета
Вхождение в группу
Перебор видов расчета в группе
Перебор всех видов расчета
Перебор всех групп расчета


Ссылка на вид расчета

1-й вариант:

ВР = ВидРасчета.НаРуки;
ВР = ВидРасчета.Премия;

2-й вариант:

ВР = ВидРасчета.ПолучитьАтрибут("НаРуки");

Пример, определим сумму "по окладу" текущего сотрудника:

ПоОкладу = 0;
ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаНач = '01.01.2002';
ЖЗ. ВыбратьПериодПоОбъекту(ТекСотр, ДатаНач);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
....Если ЖЗ.ВидРасч = ВидРасчета.ПоОкладу Тогда
.........ПоОкладу = ПоОкладу + ЖЗ.Результат;
....КонецЕсли;
КонецЦикла;


Вхождение вида расчета в группу

Посчитаем все начисления текущего сотрудника за январь:
1-й вариант:
ВсегоНачислено = 0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
....Если ЖЗ.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1 Тогда
..........ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;
....КонецЕсли;
КонецЦикла;

2-й вариант:
ВсегоНачислено = 0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
....Если ГруппаРасчетов.ВсеНачисления.СодержитВидРасчета(ЖЗ.ВидРасч)=1 Тогда
..........ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;
....КонецЕсли;
КонецЦикла;


Перебор видов расчета, входящих в группу

Для Ном=1 По ГруппаРасчетов.ВсеНачисления.Количество() Цикл
....ВР = ГруппаРасчетов.ВсеНачисления.ПолучитьРасчет(Ном);
....Сообщить(ВР.Код);
КонецЦикла;


Перебор всех видов расчета

Для Ном=1 По Метаданные.ВидРасчета() Цикл
....кфгВР = Метаданные.ВидРасчета(Ном);
....ВР = ВидРасчета.ПолучитьАтрибут(кфгВР.Идентификатор);
КонецЦикла;


Перебор групп расчета

Для Ном=1 По Метаданные.ГруппаРасчета() Цикл
....кфгГруппаРасч = Метаданные.ГруппаРасчета(Ном);
....//недоработка фирмы 1С. По имени группы расчета нельзя получить саму группу расчета как объект.

....//если помечтать, то можно было бы сделать вот так:
....// ГруппаРасч = ГруппаРасчета.ПолучитьАтрибут(кфгГруппаРасч.Идентификатор);
КонецЦикла;


Еще я совсем не понимаю, почему группа расчетов не является типообразующим объектом в 1С. Т.е. нельзя, например, завести реквизит справочника и указать его тип "ГруппаРасчетов.ВсеНачисления". Нельзя в диалоге поместить поле типа "ГруппаРасчета", чтобы пользователь мог самостоятельно выбрать группу расчетов так же, как он выбирает вид расчета. Будем надеяться, что в версии 8.0 фирма 1С исправит эти упущения.