получение налоговой ставки НДС.
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный обитатель
- Сообщения: 144
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Красноярский Край
- Контактная информация:
получение налоговой ставки НДС.
Доброе время суток!
Подскажите, может есть стандартный интерфейс получение ставки НДС по нреку МЦ?
Подскажите, может есть стандартный интерфейс получение ставки НДС по нреку МЦ?
-
- Местный житель
- Сообщения: 2898
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область

В МЦ есть ссылка на группу налогов, а в ней уже прописаный периоды действия НДС. Какую из ставок ( 20 или 18 ) вы хотите увидеть?
Надо знать дату документа что бы получить какую-то ставку.
Либо нрек позиции а не МЦ.
Думаю стандартного такого ничего не найдёте.
Я ставку НДС достаю так:
INTERFACE Poisk_NDS 'Поиск ставки НДС' DoAccept,EscClose, CYAN;
SHOW AT (20,5,60,10);
VAR
st_nds:Double; //
myNrec:Comp; // ссылка на МЦ KatMc.Nrec
myNalog:Comp;
myGrNal:Comp; // SpGrNal.cGrNal;
myIsCustom:Word; // SpGrNal.IsCustom;
CREATE VIEW NN5
AS SELECT *
FROM KatMc, GrNal, SpGrNal, KatNalog
WHERE ((myNrec==KatMc.Nrec
and KatMc.cGrNal==GrNal.Nrec //
and GrNal.Nrec==SpGrNal.cGrNal //
and KatNalog.Nrec==SpGrNal.cNalog //
))
and 'NDS'=KatNalog.Kod
and Cur_Date<=SpGrNal.NalD2 //
and Cur_Date>=SpGrNal.NalD1 //
;
PARAMETERS myNrec, st_nds, myNalog, myGrNal, myIsCustom;
HANDLEEVENT
cmInit:
{
! message('Зашли в Поиск НДС')
IF (modifier GetFirst KatMc = tsOk)
{
IF (modifier GetFirst GrNal = tsOk)
{
IF (modifier GetFirst SpGrNal = tsOk)
{
st_nds:=SpGrNal.Nalog;
myNalog:=SpGrNal.cNalog;
myGrNal:=SpGrNal.cGrNal;
myIsCustom:=SpGrNal.IsCustom;
}
}
}
!message('Сделала Поиск НДС')
CloseInterFace(cmDefault);
Stop;
!abort;
}
end // Hadleevent
END. // Interface
Если что-то неверно - пишите - учту.
INTERFACE Poisk_NDS 'Поиск ставки НДС' DoAccept,EscClose, CYAN;
SHOW AT (20,5,60,10);
VAR
st_nds:Double; //
myNrec:Comp; // ссылка на МЦ KatMc.Nrec
myNalog:Comp;
myGrNal:Comp; // SpGrNal.cGrNal;
myIsCustom:Word; // SpGrNal.IsCustom;
CREATE VIEW NN5
AS SELECT *
FROM KatMc, GrNal, SpGrNal, KatNalog
WHERE ((myNrec==KatMc.Nrec
and KatMc.cGrNal==GrNal.Nrec //
and GrNal.Nrec==SpGrNal.cGrNal //
and KatNalog.Nrec==SpGrNal.cNalog //
))
and 'NDS'=KatNalog.Kod
and Cur_Date<=SpGrNal.NalD2 //
and Cur_Date>=SpGrNal.NalD1 //
;
PARAMETERS myNrec, st_nds, myNalog, myGrNal, myIsCustom;
HANDLEEVENT
cmInit:
{
! message('Зашли в Поиск НДС')
IF (modifier GetFirst KatMc = tsOk)
{
IF (modifier GetFirst GrNal = tsOk)
{
IF (modifier GetFirst SpGrNal = tsOk)
{
st_nds:=SpGrNal.Nalog;
myNalog:=SpGrNal.cNalog;
myGrNal:=SpGrNal.cGrNal;
myIsCustom:=SpGrNal.IsCustom;
}
}
}
!message('Сделала Поиск НДС')
CloseInterFace(cmDefault);
Stop;
!abort;
}
end // Hadleevent
END. // Interface
Если что-то неверно - пишите - учту.
У меня в запросе стоит условие такое:
and Cur_Date<=SpGrNal.NalD2 //
and Cur_Date>=SpGrNal.NalD1 //
Cur_Date - это текущая дата. (мне так нужно).
Если вам на нужно на какую-то другую дату, то замените Cur_Date на вашу переменную с датой, будет например так:
and d1<=SpGrNal.NalD2 //
and d1>=SpGrNal.NalD1 //
and Cur_Date<=SpGrNal.NalD2 //
and Cur_Date>=SpGrNal.NalD1 //
Cur_Date - это текущая дата. (мне так нужно).
Если вам на нужно на какую-то другую дату, то замените Cur_Date на вашу переменную с датой, будет например так:
and d1<=SpGrNal.NalD2 //
and d1>=SpGrNal.NalD1 //
Код: Выделить всё
Interface NalogsEx;
Create View
var cNalog
As Select *
From KatMc
,GrNal
,KatNalog
;
Public Function GetStNDS ( cMc : double; dDoc : date ) : Integer;
Begin
cNalog := coGetTune( 'Nalog.cNalogNDS' );
GetStNDS := 0;
If GetFirst KatMc Where (( cMc == KatMc.nrec )) = tsOk
If GetFirst GrNal Where (( KatMc.cGrNal == GrNal.nrec )) = tsOk
If GetFirst SpGrNal Where (( GrNal.nrec == SpGrNal.cGrNal
and cNalog == SpGrNal.cNalog
and dDoc >>= SpGrNal.NalD1 (noIndex)
and dDoc <<= SpGrNal.NalD2 (noIndex)
)) = tsOk
GetStNDS := SpGrNal.nalog;
End;
END.
....
var mNal : NalogsEx;
....
CurMcStNDS := mNal.GetStNDS ( McNrec, DatDoc );
-
- Постоянный обитатель
- Сообщения: 144
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Красноярский Край
- Контактная информация:
интерфейс предложенный hope отработал нормально 
вот тут надо было мне строковый параметр подправить
m0p3e - спасибо за "универсальный" фейс 

вот тут надо было мне строковый параметр подправить
Код: Выделить всё
and 'NDS'=KatNalog.Kod
