получение налоговой ставки НДС.

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

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

Ответить
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

получение налоговой ставки НДС.

Сообщение homak »

Доброе время суток!
Подскажите, может есть стандартный интерфейс получение ставки НДС по нреку МЦ?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

:) А за какой период вам нужна ставка НДС?

В МЦ есть ссылка на группу налогов, а в ней уже прописаный периоды действия НДС. Какую из ставок ( 20 или 18 ) вы хотите увидеть?

Надо знать дату документа что бы получить какую-то ставку.

Либо нрек позиции а не МЦ.

Думаю стандартного такого ничего не найдёте.
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

Я ставку НДС достаю так:

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

Если что-то неверно - пишите - учту.
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

Сообщение homak »

2 hope
Спасибо !!! то что надо :-)
[/b]
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

Интересно. Я так понял этот интерфейс что бы вытаскивать ставку НДС на сегодняшнее число? Т.к. либо 10 либо 18 ?
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение hope »

У меня в запросе стоит условие такое:
and Cur_Date<=SpGrNal.NalD2 //
and Cur_Date>=SpGrNal.NalD1 //

Cur_Date - это текущая дата. (мне так нужно).

Если вам на нужно на какую-то другую дату, то замените Cur_Date на вашу переменную с датой, будет например так:
and d1<=SpGrNal.NalD2 //
and d1>=SpGrNal.NalD1 //
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

Сообщение homak »

Не работает фейсик ... по всем МЦ у меня налог выдал ноль ... где то ошибочка закралась :(
Мария_Ф
Местный житель
Сообщения: 1044
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Иркутская область

Сообщение Мария_Ф »

homak
Долго же Вы этот фейсик делали :D
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

Сообщение homak »

Мария_Ф
Я долго до него добирался :D
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Код: Выделить всё

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 );
homak
Постоянный обитатель
Сообщения: 144
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Красноярский Край
Контактная информация:

Сообщение homak »

интерфейс предложенный hope отработал нормально :)
вот тут надо было мне строковый параметр подправить

Код: Выделить всё

and 'NDS'=KatNalog.Kod 
m0p3e - спасибо за "универсальный" фейс :-)
Ответить