Добрый день коллеги.
Пытаюсь написать собственный алгоритм расчета подоходного налога.
в Нелпе нашел
#include ZarAlg.vih
#doc
  Демонстрационный пример vip-алгоритма.
#end                
#component "Z_Zar"
vipinterface ZarRasPodoh_RasPodohNal implements Z_Zar::IZarAlgorithm;
interface ZarRasPodoh_RasPodohNal;
  function CalcSum(Parameter: string): double;
  {
    ls.getfirst;
    Message('GetDateBeginRasPodoh ' +nakp6+'____'+pr_fornalog, Information);
    CalcSum:=1000;
    Result:=1000;
    SetPriznUderCreatedByUser();   
  }
  function GetDescription: string;
  {
    Result := 'Демонстрационный пример vip-алгоритма';
  }
end.
Но почему то Налог в таком случае пропадает.
Как можно настроить Вип алгоритм, чтобы сумма подоходного налога попадала в удержания, 
и корректировалась таблица Размер годового налога после засчета ЗП
			
			
									
									
						Альтернативный расчет подоходного налога ч/з ZarRasPodoh
Модератор: Sparrow
- 
				Ged
- топ-софт
- Сообщения: 76
- Зарегистрирован: Вс, 16/09/2007 10:23
- Имя Фамилия: Леонид Поликутин
- Откуда: Галактика СПб
- Контактная информация:
Потому что после 
вызова
Дальнейший расчет идет силами пользователя 
			
			
									
									
						вызова
Код: Выделить всё
SetPriznUderCreatedByUser(); Код: Выделить всё
#include ZarAlg.vih
VipInterface ZarRasPodoh_RasPodohNal implements IZarAlgorithm licensed(free);
Interface ZarRasPodoh_RasPodohNal;
Create view vLs
Var cLschetNrec:Comp;
As Select
*
From
 Lschet,
 Uder
Where
((
  cLschetNrec == Lschet.Nrec
))
;
Function CalcSum(Parameter: string): double;
{
  var wMes,wYear:word;
  var dDate:date;
   dDate:=dGetTune('UP.DATOTCH');
  wMes:=Month(dDate);
  wYear:=Year(dDate);
  cLschetNrec:= GetLschetRef;
  If(GetFirst Lschet=tsOk) {}
    Message(Lschet.TabN);
/*
   SetPriznUderCreatedByUser; // Делаю сам
  ClearBuffer(#Uder);
  Uder.TabN  :=Lschet.TabN;
  Uder.CEX   :=Lschet.Cex;
  Uder.CEXOZ :=Lschet.Cex;
  Uder.SUMUD :=1000;
  Uder.VIDUD :=182;
  Uder.MESN  :=wMes;
  Uder.MES   :=wMes;
  Uder.MESV  :=wMes;
  Uder.CLSCH :=Lschet.Nrec;
  Uder.TPERSON := Lschet.TPerson;
  Uder.VIDUDS:=182;
  Uder.YEARV :=wYear;
  insert Current Uder;
*/
  Result := 555;
}
Function GetDescription: string;
{
  Result := 'Test ZarRasPodoh_RasPodohNal';
}
end.

