АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Создание процедуры расчета записей регистра Начисления

Читайте также:
  1. PR через создание виртуальных групп
  2. VI раздел. Создание представлений о здоровом образе жизни
  3. Акцизный налог. Порядок начисления и взимания.
  4. Алгоритм геометрического расчета передачи
  5. Алгоритм расчета основных параметров производства
  6. Алгоритм расчета товарооборота.
  7. Алгоритм регистрации индивидуального предпринимателя и действий, необходимых для начала деятельности
  8. Ам-ция ОФ. М-ды начисления ам-ции в с-ме фин-го и нал учета . Амортиз-ная пол-ка ОАО «РЖД».
  9. Анализ результатов расчета ВПУ
  10. База данных учетных записей
  11. Бюджет. Регистрация профсоюза как юридической организации
  12. В первые два месяца работы компании на оплату труда и сопутствующие начисления и отчисления по ФЗП потребуется 42625 грн.

Откройте в конфигураторе текст обработчика проведения документа НачисленияСотрудникам и добавьте в него следующий текст на встроенном языке (добавляйте в соответствующие строки только те команды, которые выделены жирным шрифтом):

Процедура ОбработкаПроведения(Отказ, Режим)

// Записываем движения регистров

Движения.Начисления.Записать();

// Получим список всех сотрудников, содержащихся в документе

Запрос = Новый Запрос(

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| НачисленияСотрудникамНачисления.Сотрудник

|ИЗ

| Документ.НачисленияСотрудникам.Начисления КАК НачисленияСотрудникамНачисления

|ГДЕ

| НачисленияСотрудникамНачисления.Ссылка = &ТекущийДокумент");

Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);

// Сформируем список сотрудников

ТаблЗнач = Запрос.Выполнить().Выгрузить();

МассивСотрудников = ТаблЗнач.ВыгрузитьКолонку("Сотрудник");

СписокСотрудников = Новый СписокЗначений;

СписокСотрудников.ЗагрузитьЗначения(МассивСотрудников);

РасчитатьНачисления(Движения.Начисления, ПланыВидовРасчета.

ОсновныеНачисления. Оклад, СписокСотрудников);

Движения.Начисления.Записать(, Истина);

РасчитатьНачисления(Движения.Начисления, ПланыВидовРасчета.

ОсновныеНачисления.Премия, СписокСотрудников);

Движения.Начисления.Записать(, Истина);

 

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

 

КонецПроцедуры

Обратите внимание: при проведении документа сначала записываются движения, сформированные документом, в регистр, а затем этот набор записей регистра передаются в процедуру расчета. Сначала для расчета первичных записей (Оклад), а затем для расчета вторичных (Премия). Процедура расчета на основе описанных в ней алгоритмов и данных, содержащихся в записях регистра, должна сформировать значения ресурсов регистра. После того, как ресурсы будут рассчитаны, перезаписывается набор записей регистра без формирования записей перерасчета (второй параметр в методе Записать() – Истина).

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

Теперь создайте в ветке Общие новый общий модуль ПроведениеРасчетов. Укажите, что он будет глобальный, установите соответствующий флажок. Добавьте в него заготовку процедуры РасчитатьНачисления:


Процедура РасчитатьНачисления(НаборЗаписейРегистра, ТребуемыйВидРасчета,


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)