Страница 1 из 1
Нужен пример алгоритма с ZarAlg
Добавлено: 28 ноя 2014, 15:40
Irina_
Здравствуйте. Очень нужен образец алгоритма расчета с использованием ZarAlg. Буду очень благодарна. Если можно, то не самый простой. Технология описана в Help, а вот нормального примера нет.
Re: Нужен пример алгоритма с ZarAlg
Добавлено: 28 ноя 2014, 15:50
edward_K
Сложный денег стоит
Вот чаго попроще
Обратите внимание на функции UCH_ - записи в nachisl еще нет и получить или установить значения можно только с использованием функций доступных в настройке алгоритмов по ЗП - ну кроме суммы - ее должна вернуть сама функция.
Код: Выделить всё
#include ZarAlg.vih
#component "Z_Zar"
vipinterface zarAlgorithm_TimeSverh implements IzarAlgorithm
licensed (FREE)
;
//Наш интерфейс с обязательной приставкой zarAlgorithm в названии
interface zarAlgorithm_TimeSverh cacheable; // из-за этого иногда получаем неверноую ставку работника
create view vNaryadDopl
var
CurLsch : comp;
dtb , dte , w_dt :date
as select Lschet.NREC
from
Lschet,UCHRABVR
where
((
CurLsch == Lschet.Nrec
and CurLsch == UCHRABVR.cLsch
and 24<<=UCHRABVR.VIDOPL
and 25>>=UCHRABVR.VIDOPL
and dtb <<=UCHRABVR.DATAN (noindex)
and dte>>=UCHRABVR.DATAN (noindex)
))
;
//Функция объектного интерфейса, возвращающая требуемую сумму, в нашей собственной реализации
public function CalcSum (Parameter : string): double;
var ww_dn,ww_ch:double;
{
// wc_PRNARYAD:=Nar_NRec ;
CurLsch:= UCH_LSCH
dtb := UCH_DATAN
dte := UCH_DATOK
ww_ch:=UCH_CHASF
_loop fullcache UCHRABVR
{ ww_ch:=ww_ch+UCHRABVR.chasf
}
UCH_SETCH(ww_ch)
CalcSum:=ww_ch;
} //public function CalcSum (Parameter : string): double;
public function GetDescription: string;
{
GetDescription := 'Добавляет сверхурочные часы(поиск от даты начала оплаты) к отработанному времени(для классности) и возвращает сумму ';
}
end.
Re: Нужен пример алгоритма с ZarAlg
Добавлено: 28 ноя 2014, 15:55
Irina_
Большое спасибо, edward_K. Пример нужен просто для ознакомления с возможностями. Похоже придется писать свой алгоритм.