Показать сообщение отдельно
Старый 02.11.2018, 14:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
d365technext: Default parameters can be wrapped In extension classes COC
Источник: http://d365technext.blogspot.com/201...rapped-in.html
==============




Default parameters can be wrapped In extension classes







In Build-8.1 you can override the default parameter by using class extension COC.




Code reference


There is the method in HCMWORKER table isEmployee in which you can see the default value set with _validFrom & _validto.




publicHcmIsEmployee isEmployee(
utcdatetime _validFrom = DateTimeUtil::utcNow(),
utcdatetime _validTo = _validFrom
)
{
HcmIsEmployee hcmIsEmployee = NoYes::No;
HcmEmployment hcmEmployment;
unchecked(Uncheck::XDS)
{
if (prmisDefault(_validFrom) && prmisDefault(_validTo))
{
selectfirstonly RecId from hcmEmployment
where hcmEmployment.Worker == this.RecId
&& hcmEmployment.EmploymentType == HcmEmploymentType::Employee;
}
elseif (_validFrom == _validTo)
{
selectfirstonly ValidTimeState(_validFrom) RecId from hcmEmployment
where hcmEmployment.Worker == this.RecId
&& hcmEmployment.EmploymentType == HcmEmploymentType::Employee;
}
else
{
selectfirstonly ValidTimeState(_validFrom, _validTo) RecId from hcmEmployment
where hcmEmployment.Worker == this.RecId
&& hcmEmployment.EmploymentType == HcmEmploymentType::Employee;
}


if (hcmEmployment.RecId != 0)
{
hcmIsEmployee = NoYes::Yes;
}


return hcmIsEmployee;
}
}




So we created extension class of Hcmworker with name of Demo_Extension and override the method using COC.






[ExtensionOf(tableStr(HcmWorker))]
finalclassDemo_Extension
{


publicHcmIsEmployee isEmployee(
utcdatetime _validFrom,
utcdatetime _validTo
)
{
HcmIsEmployee hcmIsEmployee = NoYes::No;
HcmEmployment hcmEmployment;

next isEmployee(_validFrom,_validTo);


unchecked(Uncheck::XDS)
{
if (_validFrom == _validTo)
{
selectfirstonlyValidTimeState(_validFrom) RecId from hcmEmployment
where hcmEmployment.Worker == this.RecId
&& hcmEmployment.EmploymentType == HcmEmploymentType::Employee;
}
else
{
selectfirstonlyValidTimeState(_validFrom, _validTo) RecId from hcmEmployment
where hcmEmployment.Worker == this.RecId
&& hcmEmployment.EmploymentType == HcmEmploymentType::Employee;
}


if (hcmEmployment.RecId != 0)
{
hcmIsEmployee = NoYes::Yes;
}


return hcmIsEmployee;
}
}



}


Now perform build & Sync on your module..



Источник: http://d365technext.blogspot.com/201...rapped-in.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.