Страница 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. Пример нужен просто для ознакомления с возможностями. Похоже придется писать свой алгоритм.