Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Расчет результатов начислений, удержаний, выплат

Rusa






РассчитатьНачисленияУдержания(СтрокаДвижений, Индекс, ДанныеБазы,

Если СтрокаДвижений.ВидРасчета = ПланыВидовРасчета.Все 12512j95m 42;идыРасчета. Оклад Тогда



Сообщить("Расчет оплаты по окладу: Нет рабочих дней в заданном периоде", СтатусСообщения.Информация);









ПланыВидовРасчета,Все 12512j95m 42;идыРасчета.ПремияПроцентом Тогда //






ПланыВидовРасчета.Все 12512j95m 42;идыРасчета.Отпуск Тогда


Сообщить("Расчет отпуска: Нет рабочих дней в базовом периоде", СтатусСообщения.Информация);



Возврат ДанныеБазы[Индекс].Результат/ОтработаноДней *



ПланыВидовРасчета.Все 12512j95m 42;идыРасчета.ШтрафСуммой ИЛИ


ПланыВидовРасчета.Все 12512j95m 42;идыРасчета.Выплата Тогда



нормы часов, по номеру строки, соответствующему номеру записи в




позже. При этом понятия Отработанное количество дней, Норма и




несколько разных по своей структуре регистров расчета... Но об этом

проведения документа в регистре расчета «РасчетыВсе»






Конфигурирование в системе " 1С:Предприятие 8.0". Решение расчетных задач


















Конфигурирование в системе "1С предприятие 8.0". Решение расчетных задач













плане видов расчета «Все 12512j95m 42;идыРасчета» следующим образом:




Доработаем модуль документа «НачислениеЗарплатыВсе 12512j95m 81;».

Если Строка.ВидРасчета = ПланыВидовРасчета.Все 12512j95m 42;идыРасчета.Отпуск







Создадим и проведем документ «НачислениеЗарплатыВсе 12512j95m 81;»


















действия, вводятся на основании уже имеющихся данных, поэтому являются вторичными данными. Отобразим сказанное на схеме.


Конфигурирование в системе " 1С:Предприятие 8.0". Решение расчетных задач











". Решение расчетных задач


действия (так работает метод ПолучитьДанныеГрафика (Отбор,





Доработаем документ «НачислениеЗарплатыВсе 12512j95m 81;».



сторно). Такие сторно-записи формируются на основании периодов действия записей регистра расчета и правил конкуренции за период действия, задаваемых списками вытесняемых видов расчета в плане






ййй£йЗ»^2&г:й¥£:5:Шя;^^









Движение.ПараметрРасчета = СтрокаПараметрРасчета;
















Конфигурирование в системе " 1 С: Предприятие 8.0". Решение расчетных задач


«Все 12512j95m 42;идыРасчета» следующим образом:





Перерасчета можно вводить записи и самим из программного кода).


обращать внимания» на сведения, которые предоставляет нам система в таблице перерасчета, то есть отказаться от пересмотра результатов



Сонфигурирование в системе "1С: Предприятие 8.0". Решение расчетных задач






=у придется создать ряд новых объектов и внести изменения в

создадим обработку, в которой будет проверяться регистра расчета, которые необходимо будет пересчитать - т.е. «ПремииПроцентом»),

создадим константу «Дата запрета редактирования». Эта константа будет определять «закрытие» периода. Записи регистра расчета с периодом регистрации меньше (или редактирования» будут считаться архивными, их нельзя будет редактировать. Для пересчета таких записей будем внесем изменения в модуль документа







о Табличные части: ДокументыПерерасчета.
























Вставим табличное поле СтрокиПерерасчета и определим тип




Подразделение: поле ввода типа СправочникСсылка.


Должность: поле ввода типа СправочникСсылка.










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

I



I

I");


следующий состав полей.

колонка с названием Пометка, содержащая значения Истина.



















перерасчетов объекта «Перерасчет», соответствующих документу из

ДокументыПерерасчета.






Конфигурирование в системе "1С:Предприятие 8.0". Решение расчетных задач








Найдем строку с февральским окладом Ивановой,
двойным щелчком откроем документ-регистратор и
и
зменим оклад Ивановой с 760 на 800. Проведем














При нажатии на кнопку «Выполнить перерасчет» вызывается



Если СтрокаТаблицы.Документ.ПериодРегистрации > Константы.ДатаЗапретаРедактирования.ПолучитьО Тогда


Сообщить("Перерасчитан "




Сообщить("Введен перерасчет документа "




Сообщить("Документ " + СтрокаТаблицы.Документ+ " не может быть перерасчитан автоматически");






ДокументыПерерасчета выполняется попытка:

пересчитать расчеты (фактически перепровести
документы-регистраторы этих расчетов), которые попали
в «Перерасчет». Это действие выполняется только в

ввести документы-перерасчеты для расчетов, которые
попали в «Перерасчет». Это действие выполняется в


модуль документа «НачислениеЗарплатыВсе 12512j95m 81;» процедуру





РВсе 12512j95m 52;енеджер=РегистрыРасчета.РасчетыВсе;


Отбор .Вставить("Регистратор",Ссылка);


Ресурсы[0] = "РасчетыВсе.Результат";


Измерения.Вставить("Подразделение","РасчетыВсе.Подразделение");

Измерения.Вставить("Должность","РасчетыВсе.Должность");

Измерения.Вставить("Сотрудник","РасчетыВсе.Сотрудник");

ДанныеБазы = РВсе 12512j95m 52;енеджер.ПолучитьБазу(Отбор,Ресурсы,Измерения);


РВсе 12512j95m 52;енеджер.ПолучитьДанныеГрафика(Отбор,ВидПериодаРегистраРасчета.Фактический ПериодДействия);

РВсе 12512j95m 52;енедхер.ПолучитьДанныеГрафика(Отбор,ВидПериодаРегистраРасчета.ПериодРегис
трации);


ОтработаноПоБазе =РВсе 12512j95m 52;енеджер.ПолучитьДанныеГрафика(Отбор,ВидПериодаРегистраРасчета.БазовыйПер




СтруктураПоиска = Новый Структура("Подразделение,Должность,Сотрудник");












найденной строке производится перерасчет записи (вызывается уже






Нажмем в обработке «ПерерасчетЗарплаты» кнопку

В результате в строке сообщений появится примерно


«Перерасчитан документ Начисление зарплаты всей 6 от



Для выполнения перерасчета с вводом

необходимо поместить в модуль документа

«НачислениеЗарплатыВсе 12512j95m 81;» процедуру

документа (перерасчета) на основании текущего, поэтому в модуль документа «НачислениеЗарплатыВсе 12512j95m 80;» также необходимо поместить процедуру ОбработкаЗаполнения.







ДокументПерерасчета = Документы.НачислениеЗарплатыВсе 12512j95m 81;.СоздатьДокумент();

"ВЫБРАТЬ

I

I


|где РегистрРасчета.РасчетыВсе.Регистратор=&парДокументОбъект


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

СтруктураПоиска = Новый Структура("Подразделение,Должность,Сотрудник");





НоваяСтрока.ВидРасчета = СтрокаРегистра.ВидРасчета; НоваяСтрока.Подразделение = СтрокаРегистраЛодразделение; НоваяСтрока.Должность = СтрокаРегистра.Должность; НоваяСтрока.График = СтрокаРегистра.График; НоваяСтрока.ВидРасчета = СтрокаРегистра.ВидРасчета;






НоваяСтрока.ВидРасчета = СтрокаРегистра.ВидРасчета; НоваяСтрока.Подразделение = СтрокаРегистраЛодразделение; НоваяСтрока.График = СтрокаРегистра.График; НоваяСтрока.ВидРасчета = СтрокаРегистра.ВидРасчета;










Конфигурирование в системе "1 С'Предприятие 8.0". Решение расчетных задач








Нажмем в обработке «ПерерасчетЗарплаты» кнопку

В результате в строке сообщений появится примерно


«НачислениеЗарплатыВсе 12512j95m 81;». Откроем последний

. Проведем данный документ.

В регистре расчета «РасчетыВсе» появятся две новые записи










Табличные части: Сотрудники. Реквизиты табличной

о «Сотрудник»







Конфигурирование в системе "1 С:Предприятие 8.0". Решение расчетных задач








В процедуре ОтчетРасчетыСотрудниковВсе 12512j95m 53;ажатие, связанной с







Макет = ПолучитьМакет("РасчетыСотрудников");

ТекстЗапроса = "ВЫБРАТЬ |

|КОГДА ВидРасчета.Тип=&Начисления ТОГДА СУММА(РасчетыВсе.Результат)


|КОГДА ВидРасчета.Тип=&Удержания ТОГДА СУММА(РасчетыВсе.Результат)


|КОГДА ВидРасчета.Тип=&Выплаты ТОГДА СУММА(РасчетыВсе.Результат)



|РасчетыВсе.ПериодРегистрации = &ДатаОтчета"; Условие="";

Условие = Условие + " И Сотрудник В Иерархии (&СписокСотрудников)";

Запрос.УстановитьПараметр("СписокСотрудников",

Сотрудники.ВыгрузитьКолонкуС'Сотрудник"));



ТекстЗапроса = ТекстЗапроса +"


■зирование в системе "1С:Предприятие 8.0"..













|";

Запрос .Текст = ТекстЗапроса; Запрос УстановитьПараметр("ДатаОтчета", ДатаОтчета);

Запрос .УстановитьПараметр("Начисления",

Запрос.У становитьПараметрС'Удержания",

Запрос .У становитьПараметрС'Выплаты", Перечисления.ТипыВидовРасчета.Выплата); Результат = Запрос.Выподнить();

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











|КОГДА ВидРасчета.Тип=&Начисления ТОГДА СУММА(РасчетыВсе.Результат)


|КОГДА ВидРасчета.Тип=&Удержания ТОГДА СУММА(РасчетыВсе.Результат)


|КОГДА ВидРасчета.Тип=&Выплаты ТОГДА СУММА(РасчетыВсе.Результат)


используем группировки, по каждой группировочной строке будет



Конфигурирование в системе "1С:Предприятие8,0". Решение расчетных задач





Создайте в плане видов расчета Все 12512j95m 42;идыРасчета предопределенный вид расчета Командировка. Выполните настройку базы вида расчета


[















"ВЫБРАТЬ







(ГрафикиРаботы.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания) И

ГрафикиРаботы.ГрафикРаботы=&График

|";

Запрос.УстановитьПараметрС'ДатаНачала", ДН); Запрос.УстановитьПараметр("ДатаОкончания", ДК); Запрос.УстановитьПараметр("График", График); Результат = Запрос.Выполнить();





нажатии на кнопку необходимо производить заполнение табличной

Колонка Месяц в табличной части должна заполняться

Колонка ОтработаноДней должна содержать информацию о
фактически отработанных сотрудником днях (по графику
Шестидневка) в соответствующих значениям из колонки Месяц

Колонка Зарплата должна содержать информацию о
колонки Месяц периодах. Зарплата сотрудника должна
рассчитываться как сумма результатов видов расчета,





ЗапросФПД = Новый Запрос("ВЫБРАТЬ










РасчетыВсе. ПериодДействия = &Период И

РасчетыВсе.Должность = &Должность И

РасчетыВсе.Подразделение = &Подразделение И

РасчетыВсе.Сотрудник = &Сотрудник И

РасчетыВсе.ВидРасчета = &ВидРасчетаОклад");

ЗапросФПД.УстановитьПараметр("Период", Период);

ЗапросФПД.УстановитьПараметр(" Должность", Должность);

ЗапросФПД.УстановитьПараметр("Подразделение", Подразделение);

ЗапросФПД,УстановитьПараметр("Сотрудник", Сотрудник);

ЗапросФПД.УстановитьПараметр("ВидРасчетаОклад", ПланыВидовРасчега.Все 12512j95m 42;идыРасчета. Оклад);
















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

регистр расчета еще не производилась.


Функция ПолучитьДанныеРасчетнойБазы(Период)
ЗапросБ = Новый Запрос("ВЫБРАТЬ
|


ПланВидовРасчета.Все 12512j95m 42;идыРаечета.БазовыеВидыРасчета

Все 12512j95m 42;идыРасчетаБазовыеВидыРасчета




Все 12512j95m 42;идыРасчетаБазовыеВидыРасчета.ВидРасчета


РасчетыВсе.ПериодДействия = &Период И

РасчетыВсе.Должность = &Должность И

РасчетыВсе.Подразделение = &Подразделение И

РасчетыВсе.Сотрудник = &Сотрудник И

Все 12512j95m 42;идыРасчетаБазовыеВидыРасчета.Ссылка = &Командировка");

ЗапросБ.УстановитьПараметр("Период", Период); ЗапросБ.УстановитьПараметр(" Должность", Должность); ЗапросБ.УстановитьПараметр("Подразделение", Подразделение); ЗапросБ.УстановшъПараметрС'Сотрудник", Сотрудник);

ЗапросБ.УстановитьПараметрС'Командировка", ПланыВидовРасчета.Все 12512j95m 42;идыРасчета.Командировка);





В данной функции производится суммирование значений ресурса





которого можно было очень просто получить базу для записей


воспользоваться этим методом затруднительно, т.к. запись в



также элемент управления формы надпись (свойство «Данные»


котором отображайте среднедневной заработок сотрудника за

несколько периодов. Формула для определения среднедневного


Список.Итог( "Зарплата ")/

Список.Итог(''ОтработаноДней ").




результата начисления с учетом среднедневного заработка






Pe e e

"эмулировать" работу функций ПолучитьДанныеГрафика и ПолучитьДанныеРасчетнойБазы. Сложность «ручной» реализации используется большое количество запросов, что сильно «утяжеляет» решение. Оптимальнее получать все необходимые данные "за один раз", а не "мельчить", создавая сетевой трафик и получая много



Конфигурирование в системе "1 С:Предприятие 8.0". Решение расчетных задач



































Конфигурироеание в системе " 1С:Предприятие 8.0". Решение расчетных задач































Document Info


Accesari: 3990
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )