|
24.11.2014, 18:06 | #1 |
Участник
|
Доброго времени суток
Прошу подсказки, как начинающий в NAV 2009. Имеется база 6.0 R2 (6.00.32012) с обновлениями до 60060. По созданию и заполнению видов начисления, а также привяки в условиях трудового договора разобрался... Табели заполнены и выпущены. При попытке создания зарплатного документа, т.е. создаем документ, функции - Предложить документы (Report 17401) вроде как отрабатывает, но в какой-то момент выдает сообщение "Наобходимо определить Дата начала действия". Перерыл все модули, в отладчике прошел по коду несколько раз... Ошибку получаем в функции GetSalaryPay в CodeUnit 17404, т.е. при расчете месячного оклада по отработанным дням. PayrollElement.TESTFIELD("Action Starting Date"); По коду получается что при создании строк это поле нигде не заполняется, кроме 17401 в функции UpdateTemlLine, которую я не нашел при каком условии вызывается... Возможно кто-то сталкивался с данными поблемама и знает решение. С уважением, Алексей. |
|
25.11.2014, 09:25 | #2 |
Участник
|
Цитата:
Может, у Вас уже какие-то кастомизации сделаны? |
|
26.11.2014, 15:21 | #3 |
Участник
|
Цитата:
В исходном описании я допустил ошибку в описании кода... PayrollElement.GET(PayrollDocLine."Element Code"); PayrollDocLine.TESTFIELD("Action Starting Date"); PayrollDocLine.TESTFIELD("Action Ending Date"); PayrollDocLine.TESTFIELD("Employee Ledger Entry No."); Это таблица 17415 Payroll Document Line. Версия NAVRU6.00.01.01,PS60060. Какие-то кастомизации сделаны, но конкретно в этих таблицах и codeunit ничего не менялось. |
|
27.11.2014, 09:34 | #4 |
Участник
|
Я думаю, что в табличке "Employee Ledger Entry" (17413) у какого-то сотрудника не указана дата начала действия ставки (Action Starting Date). Именно из этого поля, если ставка начала действовать позднее начала расчетного периода,
в репорте 17401 в процедуре UpdateTempLine заполняется поле PayrollDocLine."Action Starting Date" : ---- IF EmplLedgEntry."Action Starting Date" < PayrollWagePeriod."Starting Date" THEN "Action Starting Date" := PayrollWagePeriod."Starting Date" ELSE "Action Starting Date" := EmplLedgEntry."Action Starting Date"; ---- Ну а у того сотрудника, у которого обнаружится это поле пустым, наверняка и в условиях для строки трудового договора дата начала действия ставки тоже будет пустая. |
|
27.11.2014, 20:59 | #5 |
Участник
|
Цитата:
Снял с утверждения трудовой договор и в условиях найма сотрудника полностью прошел и заново завел даты начала начислений. Утвердил его, при этом оказалось что надо дозаполнить еще и поля календаря в строке договора, чего небыло ранее и запустил по данному сотруднику заново расчет зарплаты... и ура, все прошло и даже поля заполнились. Расчет заработал 2 недели мучений... С уважением, Алексей |
|
28.11.2014, 20:17 | #6 |
Участник
|
Да не за что! Завсегда помогу, если что.
Похоже, я "последний из могикан" на этом форуме, кто модулем "Персонал и зарплата" занимается. |
|