Нужен пример алгоритма с ZarAlg

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Irina_
Местный житель
Сообщения: 554
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Нужен пример алгоритма с ZarAlg

Сообщение Irina_ »

Здравствуйте. Очень нужен образец алгоритма расчета с использованием ZarAlg. Буду очень благодарна. Если можно, то не самый простой. Технология описана в Help, а вот нормального примера нет.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Нужен пример алгоритма с ZarAlg

Сообщение 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.
Irina_
Местный житель
Сообщения: 554
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Нужен пример алгоритма с ZarAlg

Сообщение Irina_ »

Большое спасибо, edward_K. Пример нужен просто для ознакомления с возможностями. Похоже придется писать свой алгоритм.
Ответить