AXForum  
Вернуться   AXForum > Рынок > Microsoft и системы Microsoft Dynamics
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.02.2008, 15:52   #1  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Дождались! :) Feature Pack 1 for the Russian HRM and Payroll modules
Доступен на partnersource:
https://mbs.microsoft.com/partnersou...rintpage=false
  • Приказы на изменение параметров штатного расписания
  • Тарифные сетки
  • Оформление и расчет отпусков
  • В Системе требуется учитывать некоторые особенности законодательства РФ в части учета и расчета отпусков:
  • Сотрудник может находиться в длительном отпуске, у которого известны дата начала и окончания, но не известны и не могут быть рассчитаны количество дней отпуска. Такой отпуск должен вводиться интервалом дат.
  • Сотрудник имеет право на денежную компенсацию за неиспользованную часть ежегодного оплачиваемого отпуска.
  • Отпуск сотрудника может быть продлен в случае временной нетрудоспособности и в других, предусмотренных законом, случаях.
  • Сотрудник может быть отозван из отпуска с его согласия.
  • Персонифицированный учет – экспорт в Оазис
  • Страховые взносы по добровольному страхованию (НДФЛ)
  • Произвольная периодичность расчета зарплаты
  • Отчет по среднесписочной численности
  • Отчет для отображения суммы исчисленного НДФЛ
__________________
Ivanhoe as is..

Последний раз редактировалось Ivanhoe; 18.02.2008 в 15:56. Причина: поправил список
За это сообщение автора поблагодарили: mazzy (5), SerAl (1).
Старый 19.02.2008, 15:27   #2  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
а куда дели вид отпуска? что по законодательству его запретили?
зачем полю PayVacationType в таблице Расчет ср.заработка работника надо было ставить префикс DEL_ а все вызовы оставить прежними? теперь код дажене компилится!!! В частности форма ввода отпуска
Старый 19.02.2008, 16:35   #3  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 119 (4) +++++
Регистрация: 14.12.2001
Цитата:
Сообщение от sparur Посмотреть сообщение
а куда дели вид отпуска? что по законодательству его запретили?
зачем полю PayVacationType в таблице Расчет ср.заработка работника надо было ставить префикс DEL_ а все вызовы оставить прежними? теперь код дажене компилится!!! В частности форма ввода отпуска
Вид отпуска никуда не делся. Наоборот, появился. Если раньше в форме ввода отпусков указывался Тип отпуска (т.е. значение енума), то теперь выбирается Вид отпуска (значение из справочника). Сам тип отпуска теперь является признаком вида отпуска и указывается в соответствующем справочнике. Соответственно в таблице Расчет среднего заработка (RPayAverageEarnEmplPeriodTable), которая используется для ввода отпусков, поле PayVacationType зааменили на VacationTypeId.

Если у вас перестал компилироваться какой-то код, то либо у вас криво встало обновление, либо были какие-то модификации, которые использовали поле RPayAverageEarnEmplPeriodTable.PayVacationType. У меня на чистое приложение все встало без проблем, никаких ошибок компиляции нет
Старый 19.02.2008, 17:30   #4  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от Peter Savintsev Посмотреть сообщение
Если у вас перестал компилироваться какой-то код, то либо у вас криво встало обновление, либо были какие-то модификации, которые использовали поле RPayAverageEarnEmplPeriodTable.PayVacationType. У меня на чистое приложение все встало без проблем, никаких ошибок компиляции нет
ага, про енум уже понятно... непонятно почемуна форме ввода отпуска вот такой код:

метод RpayAverageEarnEmplPeriodTable_ds.write()
X++:
if (origTable.StartDate         != rPayAverageEarnEmplPeriodTable.StartDate ||
   origTable.EndDate           != rPayAverageEarnEmplPeriodTable.EndDate   ||
   origTable.PayVacationType   != rPayAverageEarnEmplPeriodTable.PayVacationType )
поле PayVacationType чудно превратилось в DEL_PayVacationType
врезультате есессно код не компилится!
Старый 19.02.2008, 17:36   #5  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
и это не единственное место где осталось обращение к полю PayVacationType ...

самое интересное, что глобальная компиляция промолчала!!! а вот потом... при попытке пользовать функционал... получаем то что получаем...
Старый 19.02.2008, 17:40   #6  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от Peter Savintsev Посмотреть сообщение
Вид отпуска никуда не делся. Наоборот, появился. Если раньше в форме ввода отпусков указывался Тип отпуска (т.е. значение енума), то теперь выбирается Вид отпуска (значение из справочника). Сам тип отпуска теперь является признаком вида отпуска и указывается в соответствующем справочнике. Соответственно в таблице Расчет среднего заработка (RPayAverageEarnEmplPeriodTable), которая используется для ввода отпусков, поле PayVacationType зааменили на VacationTypeId
Чудненько! а на форму Ввод отпуска контрол для выбора вида отпуска выводить не надо? енум значит скрыли на форме(причем именно скрыли - контрол так и висит на форме, просто не отображается) а новое поле забыли вывести?
Старый 19.02.2008, 17:40   #7  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 119 (4) +++++
Регистрация: 14.12.2001
Цитата:
Сообщение от sparur Посмотреть сообщение
ага, про енум уже понятно... непонятно почемуна форме ввода отпуска вот такой код:

метод RpayAverageEarnEmplPeriodTable_ds.write()
X++:
if (origTable.StartDate         != rPayAverageEarnEmplPeriodTable.StartDate ||
   origTable.EndDate           != rPayAverageEarnEmplPeriodTable.EndDate   ||
   origTable.PayVacationType   != rPayAverageEarnEmplPeriodTable.PayVacationType )
поле PayVacationType чудно превратилось в DEL_PayVacationType
врезультате есессно код не компилится!
У меня этот код выглядит так:

X++:
        if (origTable.StartDate      != rPayAverageEarnEmplPeriodTable.StartDate ||
            origTable.EndDate        != rPayAverageEarnEmplPeriodTable.EndDate   ||
            origTable.VacationTypeId != rPayAverageEarnEmplPeriodTable.VacationTypeId)
Т.е. используется новое поле VacationTypeId. Скорее всего, у вас форма RPayVacationTable модифицирована, а как известно, при обновлении приложения модифицированная форма не обновляется. Поэтому надо провести сравнение слоев и перенести изменения, сделанные в обновлении. То же самое касается всех прочих объектов, в которых возникают ошибки.

Еще раз повторюсь, у меня на чистом приложении никаких ошибок компиляции нет. Их не было при глобальной компиляции, их нет и при ручной компиляции всех объектов RPay*
Старый 19.02.2008, 17:45   #8  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 119 (4) +++++
Регистрация: 14.12.2001
Цитата:
Сообщение от sparur Посмотреть сообщение
Чудненько! а на форму Ввод отпуска контрол для выбора вида отпуска выводить не надо? енум значит скрыли на форме(причем именно скрыли - контрол так и висит на форме, просто не отображается) а новое поле забыли вывести?
Все там есть, см скриншот. Вместо поля Тип отпуска теперь Вид отпуска. Еще раз повторяю, разберитесь с вашими модификациями этой формы.
Миниатюры
Нажмите на изображение для увеличения
Название: RPayVacationTable.jpg
Просмотров: 441
Размер:	45.0 Кб
ID:	3221  
Старый 19.02.2008, 17:48   #9  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от Peter Savintsev Посмотреть сообщение
Все там есть, см скриншот. Вместо поля Тип отпуска теперь Вид отпуска. Еще раз повторяю, разберитесь с вашими модификациями этой формы.
гм...значит будем проводить эксперименты на чистой инсталляции
Старый 22.02.2008, 18:30   #10  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Не пропустите, уже вышло дополнение к FP1

Сергей Герасимов: Обновления в алгоритме расчета зарплаты
__________________
Ivanhoe as is..
Старый 28.03.2008, 09:55   #11  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
По поводу Видов отпусков: судя по документации есть возможность указать разные Time'ы для различных видов отпусков, чтобы корректно формировать табель.

Но сам функционал это не позволяет - в таблице спец. времен как и раньше можно указать только одно время по отпуску. Если отключить проверку, то все равно табель формируется только по одному Time'у.
__________________
Ivanhoe as is..
Старый 28.05.2008, 09:56   #12  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
По поводу Видов отпусков: судя по документации есть возможность указать разные Time'ы для различных видов отпусков, чтобы корректно формировать табель.

Но сам функционал это не позволяет - в таблице спец. времен как и раньше можно указать только одно время по отпуску. Если отключить проверку, то все равно табель формируется только по одному Time'у.
А в форме Виды отпусков таймы привязывали отпускам?
__________________
farlander.ru

Последний раз редактировалось farlander; 29.05.2008 в 15:21.
Старый 28.05.2008, 16:25   #13  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
В форме Виды отпусков можно указать только те Time'ы, которые указаны в форме "Общие настройки учета рабочего времени" (Расчеты с персоналом / Учет рабочего времени / Настройка / Настройка) на вкладке "Учет спец. времен" для отпуска. Но! на таблице RpayTblSpecTimeTable в методе validateWrite стоит проверка:
X++:
RpayTblSpecTimeType != RPayTblSpecTimeType::SickList
т.е. проверка осталась со старых времен, что несколько времен может быть только у больничных.

У Вас не так? У меня стоит DAX 4.0 SP2 + RHRM FP1
__________________
Ivanhoe as is..
Старый 28.05.2008, 18:46   #14  
Prof is offline
Prof
Участник
 
732 / 64 (4) ++++
Регистрация: 18.10.2002
Адрес: Москва
Да, у меня так же
Скорее всего это ошибка и должно быть примерно так:
X++:
public boolean validateWrite()
{
    boolean                 ret;
    RpayTblSpecTimeTable    rPayTblSpecTimeTableLocal;

    ret = super();

    if (ret && this.RpayTblSpecTimeType == RPayTblSpecTimeType::Mission)
    {
        select firstonly rPayTblSpecTimeTableLocal
            where rPayTblSpecTimeTableLocal.RpayTblSpecTimeType  == this.RpayTblSpecTimeType  &&
                  rPayTblSpecTimeTableLocal.RpayCalendarTimeCode != this.RpayCalendarTimeCode;

        if (rPayTblSpecTimeTableLocal)
        {
            ret = checkFailed("@HRP2355");
        }
    }

    return ret;
}
PS: есть некая непонятная проблема с таблицей RpayTblSpecTimeTable, она имеет особенность пропадать из проекта. Скорее всего ошибка связана именно с этим.
За это сообщение автора поблагодарили: SerAl (1).
Старый 28.05.2008, 19:20   #15  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Исправлял именно так, но в итоге при создании табеля времена брались неверно. Сейчас уже примера под рукой нет, на следующей неделе поставлю чистую Аксапту, постараюсь повторить.
__________________
Ivanhoe as is..
Старый 29.05.2008, 15:22   #16  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
Нужно дописывать код, чтобы в табелях проставлялся правильный тайм отпуска?
__________________
farlander.ru
Старый 30.05.2008, 09:56   #17  
Prof is offline
Prof
Участник
 
732 / 64 (4) ++++
Регистрация: 18.10.2002
Адрес: Москва
Нет, по идее ничего не нужно больше дописывать
Старый 03.06.2008, 15:09   #18  
farlander is offline
farlander
MCTS
Аватар для farlander
MCBMSS
Ex AND Project
 
282 / 27 (1) +++
Регистрация: 27.10.2006
Адрес: Россия
Функционал работает... просто есть ньюансик...
Если после обновления табеля меняешь тип бл или отпуска - то тайм не меняется, а остается прежним... потому при вводе бл желательно тип бл проставлять сразу после создания строки...
__________________
farlander.ru
Теги
расчеты с персоналом, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HRM and Payroll Modules for Russia Ivanhoe Microsoft и системы Microsoft Dynamics 3 25.09.2007 16:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:09.