Ссылка
на вид расчета
1-й вариант:
ВР = ВидРасчета.НаРуки;
ВР = ВидРасчета.Премия;
2-й вариант:
ВР = ВидРасчета.ПолучитьАтрибут("НаРуки");
Пример, определим
сумму "по окладу" текущего сотрудника:
ПоОкладу = 0;
ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаНач = '01.01.2002';
ЖЗ. ВыбратьПериодПоОбъекту(ТекСотр, ДатаНач);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
....Если ЖЗ.ВидРасч = ВидРасчета.ПоОкладу Тогда
.........ПоОкладу = ПоОкладу + ЖЗ.Результат;
....КонецЕсли;
КонецЦикла;
Вхождение
вида расчета в группу
Посчитаем все начисления
текущего сотрудника за январь:
1-й вариант:
ВсегоНачислено = 0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
....Если ЖЗ.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1
Тогда
..........ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;
....КонецЕсли;
КонецЦикла;
2-й вариант:
ВсегоНачислено = 0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
....Если ГруппаРасчетов.ВсеНачисления.СодержитВидРасчета(ЖЗ.ВидРасч)=1
Тогда
..........ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;
....КонецЕсли;
КонецЦикла;
Перебор
видов расчета, входящих в группу
Для Ном=1 По ГруппаРасчетов.ВсеНачисления.Количество()
Цикл
....ВР = ГруппаРасчетов.ВсеНачисления.ПолучитьРасчет(Ном);
....Сообщить(ВР.Код);
КонецЦикла;
Перебор
всех видов расчета
Для Ном=1 По Метаданные.ВидРасчета()
Цикл
....кфгВР = Метаданные.ВидРасчета(Ном);
....ВР = ВидРасчета.ПолучитьАтрибут(кфгВР.Идентификатор);
КонецЦикла;
Перебор
групп расчета
Для Ном=1 По Метаданные.ГруппаРасчета()
Цикл
....кфгГруппаРасч = Метаданные.ГруппаРасчета(Ном);
....//недоработка фирмы 1С. По имени группы расчета нельзя получить саму
группу расчета как объект.
....//если помечтать, то можно было бы сделать вот так:
....// ГруппаРасч = ГруппаРасчета.ПолучитьАтрибут(кфгГруппаРасч.Идентификатор);
КонецЦикла;
Еще я совсем не понимаю,
почему группа расчетов не является типообразующим объектом в 1С.
Т.е. нельзя, например, завести реквизит справочника и указать его тип
"ГруппаРасчетов.ВсеНачисления". Нельзя в диалоге поместить поле
типа "ГруппаРасчета", чтобы пользователь мог самостоятельно
выбрать группу расчетов так же, как он выбирает вид расчета. Будем надеяться,
что в версии 8.0 фирма 1С исправит эти упущения.
|