Главная » 1С Предприятие » ПРЕМИЯ СУММОЙ

0

ВР  ПремияСум_2 является  самовытесняющимся. Включен в  группу  ВР  ВсеНачисления_2.  Является  ведущим по  отношению  к  ВР  НДФЛ_2, ВБанк_2 и  Премия 1234 2 (разд.  7.7). Вытесняет ВР ПремияКоэф_2.

процедура ПровестиРасчет(  )                   //           Процедура модуля  ВР ПремияСум_2

// Процедура выполняется при проведении расчета с ВР ПремияСум_2

// Имеет следующий алгоритм:

// По значению реквизита ЖЗ сторокаДок в документе-родителе ищется запись,

// породившая расчет, в этой записи читается значение реквизита Сумма,

// которое и является искомой величиной премии Документ.ПолучитьСтрокуПоНомеру(строкаДок); результат  = Документ.Сумма;

конецПроцедуры // ПровестиРасчет

7.10.2.    ПРЕМИЯ 1234

.   ВР   Премия1234_2  является   самовытесняющимся.  Включен  в   группу  ВР  ВсеНачисления_2. Является  ведущим по  отношению  к  ВР  НДФЛ_2, ВБанк_2 и  зависимым от ВР Оклад_2, ПремияКоэф_2, ПремияСум_2 (разд.  7.7).

процедура      ПровестиРасчет()     //     Процедура  модуля       ВР      Премия      1234_2 перем жз, нтп, ктп, прем 1234;

// Процедура выполняется при проведении расчета с ВР Премия1234_2

// Вычисляется по следующей формуле:

// Премия 12342 = (Оклад_2 + ПремияКоэф_2 + ПремияСум_2) * к5, где

// к5 постоянный для всех сотрудников коэффициент

// Коэффициент к5 берется из списка периодических констант жз = СоздатьОбъект("ЖурналРасчетов.Зарплата_2");

нтп  =  жз.НачалоТекущегоПериода(); ктп = жз.КонецТекущегоПериода(); прем 1234 = 0;

жз.ВыбратьПериодПоОбъекту(Объект,  нтп); пока жз.ПолучитьЗапись() = 1 цикл

если (жз.ВидРасч  = ВидРасчета.Оклад_2) или (жз.ВидРасч = ВидРасчета.ПремияКоэф_2) или (жз.ВидРасч  = ВидРасчета.ПремияСум_2) тогда

прем 1234 = прем 1234 + жз.результат;

конецЕсли; конецЦикла; // пока

результат = прем1234  * Константа.К5.Получить(ктп); конецПроцедуры // ПровестиРасчет

Значение  числовой константы к5, которая должна  быть  периодической,  после ее добавления в  конфигурацию  определим, запустив  следующую  процедуру:

процедура Выполнить()                     //              Связана с кнопкой Пуск  обработки Проба  Константа.К5.Установить(ТекущаяДата(),  0.5);

конецПроцедуры // Выполнить

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии