ПО НДС

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

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

Ответить
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

ПО НДС

Сообщение korvanakorvana »

Есть отчет.
Interface _gt_AnalizProd_kor 'EXEL анализ продаж' escclose;
//show at(,,60,);
show at(,,40,15);

create view
var
dat1:date
dat2:date
date1:date
date2:date
t1,t2:time
as
Select
// systdate.* , stepdoc.nrec , stepdoc.cbasedoc , basedoc.descr
*
From
katsopr //katsopr1
, stepdoc
, basedoc
, spsopr
, tKatsSPSopr //tKatsSPSopr1
, tkatpodr tkatpodr1
// , tkatpodr tkatpodr2
, tKatMc tKatMc1
, tKatMc tKatMc2
// , katOrg
, katcity
, tkatorg tkatorg1
, tkatorg tkatorg2
, tmanager tmanager1
// , tmanager tmanager2
// , tInfo tInfo1
, tInfo tInfo2
// , tMon tMon1
, tMon tMon2
// , tBody tBody1
, tBody tBody2
, systdate
, tNalMc
, katparty
, exclassname
, Exclassseg texclassseg
// , ExclasSier
, Exclassval

// , sklost //текушие остатки по мц
Where
((
word(201)==katsopr.vidsopr
and dat1<<=katsopr.dsopr
and dat2>>=katsopr.dsopr
//and word(2)==katsopr.tipsopr (noindex)
and date(1,1,1900)<<=katsopr.dopr (noindex)

and katsopr.nrec == spsopr.csopr
and katsopr.cpodrfrom == tkatpodr.nrec
and katsopr.corg == tkatorg.nrec //

and katsopr.cstepdoc==stepdoc.nrec
and stepdoc.cbasedoc==basedoc.nrec
and basedoc.descr==tmanager.descr

and 1 == spsopr.prmc
and spsopr.cmcusl == tKatMc1.nrec

// подцепляем производителя из партии
and spsopr.cparty == katparty.nrec

and 'Страна происхождения'==exclassname.name
and word(1430)==exclassname.wtable

//and exclassname.classcode==exclassier.classcode(noindex)
//and 1=exclassseg.isleaf

and katparty.nrec==exclassval.crec

and exclassname.classcode==exclassval.classcode//(noindex)
and exclassval.cclassseg==exclassseg.nrec

//and exclassname.classcode==exclassseg.classcode(noindex)

// вроде как подцепили

//and tKatMc1.cgroupmc == tGroupmc.nrec

and tKatsSPSopr.cmcusl == tKatMc.nrec
and tKatsSPSopr.corg == tKatOrg2.nrec //

and tInfo2.org==tkatorg1.nrec
and tkatorg1.city==katcity.nrec
and tInfo2.sclad==tkatpodr1.nrec
and tInfo2.nrec==tBody2.ctInfo
and tInfo2.descr==tmanager1.descr
and tInfo2.cproizw==texclassseg.nrec

and tMon2.mon==tBody2.mon
//and word(201)==katsopr1.vidsopr
//and katorg.ccity==katcity.nrec

and systdate.nrecmyorg == katorg.nrec

and double(0)<<=sklost.kol (noindex)
))
;

Form aprep01 ('out\aprep01.out');

Form aprep02 ('out\aprep02.out');

Form aprep03 ('out\aprep03.out');

Form aprep04 ('out\aprep04.out');

Form aprep05 ('out\aprep05.out');

Form aprep07 ('out\aprep07.out');

Form aprep08 ('out\aprep08.out');

Form badorg01 ('out\badorg01.out');

Form noprod01 ('out\noprod01.out');

screen params show at(,1,,14);
fields date1:,noprotect;
date2:,noprotect;
buttons
cmOK, default;
cmFilt;
cmPrn1;
cmMcCity;
cmScladMC;
cmMc;
cmSclad;
cmOrg;
cmMen;
cmNoProd;
cmCancel;
<<
c .@@@@@@@@@@ по .@@@@@@@@@@
<. Выбрать данные за период .>
<. Фильтровать данные .>
Помесячный анализ продаж
<.МЦ-Склад-Организация-Менеджер-Город.>
<. МЦ-Город .>
<. МЦ-Склад .>
<. Итоговый отчет по МЦ .>
<. Итоговый отчет по складам .>
<. Итоговый отчет по организациям .>
<. Итоговый отчет по менеджерам .>
<. Непродаваемые препараты .>
<. Закрыть окно .>
>>
end;


handleevent
cmInit:
{
date1:=DATE(1,1,YEAR(Cur_Date));
date2:=Cur_Date;
}

cmFilt:
{
runInterface(_gt_filtanaliz);
}

cmOk:
{
var i,j,monplat:word;
var itogkol,itogsum:double;
var sum,kol:double;

Delete all from tKatsSPSopr;

dat1:=date1;
dat2:=date2;

t1:=Cur_Time;

StartNewVisual(vtRotateVisual, vfTimer+vfBreak+vfConfirm,'Идет процесс выборки данных...', RecordsInTable(#katsopr));


getfirst exclassname;

_loop katsopr
{
if getfirst tkatpodr=tsOk and getfirst tkatorg=tsOk and getfirst tmanager=tsok then
_loop spsopr
{
if getfirst tkatmc1=tsOk then
{
insert into tKatsSPSopr set
tKatsSPSopr.nrec:=spsopr.nrec,
tKatsSPSopr.data:=katsopr.dsopr,
tKatsSPSopr.corg:=katsopr.corg,
tKatsSPSopr.cpodrfrom:=katsopr.cpodrfrom,
tKatsSPSopr.cmcusl:=spsopr.cmcusl,
tKatsSPSopr.cproizw:=exclassseg.nrec,
tKatsSPSopr.kol:=spsopr.kolfact,
tKatsSPSopr.descr:=basedoc.descr,
tKatsSPSopr.sum:=If (KatSopr.vHodNal=1,(SpSopr.Price*SpSopr.KolFact-SpSopr.SumNDS),SpSopr.Price*SpSopr.KolFact);
}
//message (katsopr.dsopr + ' ' + katsopr.nsopr +' ' + spsopr.kolfact + ' '+ tKatsSPSopr.sum*1,1);
if (not nextvisual) break;
}
}


t2:=Cur_Time;
StopVisual('Данные выбраны!',0);

message('Время выборки данных :'+timetostr(sub_time(t2,t1),'HH:MM:SS:SSSS'));

//getfirst katorg where ((coGetTune('MyOrg')==katorg.nrec));

}


Как сделать чтобы tKatsSPSopr.sum учитывала еще налог НДС ? Что необходимо добавить в формуле(количество*Цену без НДС*(1+НДС%) а как на языке программирования не знаю)?(НАЛОГ 10 и 18 % . В таблице GRNAL поле KOD имеет названия 10 и 18 соответственно ). ПОДСКАЖИТЕ ПОЖАЛУЙСТА !!! ОПЫТ В ПРОГРАММИРОВАНИИ ОЧЕНЬ МАЛЕНЬКИЙ
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

подключите таблицу spdocnal - налоги по позиции.
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

т.е я правильно понял
-Подключил таблицу.
-и теперь можно использовать spdocnal.Nalog
Т.е моя формула поменяется на SPSopr.Price*SpSopr.KolFact*(1+spdocnal.Nalog)
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

katsopr.vidsopr == spdocnal.tipdoc
and spsopr.nrec == spdocnal.cspdoc

Формула зависит от входимости налогов. Если налоги входят в цену, то достаточно количество умножить на цену.
Если налоги не входят - то цену умножаем на количество и прибавляем сумму НДС из таблицы spdocnal
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

у нас на каждую мат ценность свой % . 10 или 18. А сумма НДС из таблицы spdocnal это поле SUMNAL?
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

СПАСИБО большое все получилось) :-)
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Терпение и труд все перетрут! :-)
Ответить