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