|
|
Strona 1 z 1
|
[ Posty: 11 ] |
|
Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Autor |
Wiadomość |
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Witam, Chciałbym dowiedzieć się wjaki sposób zmienić stawkę VAT na pozycji dokumentu sprzedaży. Odpalam jedną z procedur (np OnTwChanged(long lId)): Kod: int Sub OnTwChanged(long lId) OnTwChanged = 0 // long iddok = using "%i", getlineid() //Potrzebne przy wprowadzaniu nowego dokumentu/Modyfikacji dokumentu w buforze do przeliczaniustawek pozycji wystawianego dokumentu. // message iddok string iddok = using "%l",lIdDok message using "%l",lIdDok // message using "%l",lId long nCount, i Dispatch xDk, xPoz int nErr
xDk = xFactory.NewObject("BDokumentSp") nErr = xDk.Load("id=" + iddok + "") if nErr then error Using "\nBłąd nr %l\n", nErr nCount = xDk.pozycje.count for i=1 to i>nCount xPoz = xDk.pozycje.item(i)
if xpoz.PKWiU != "" then message xpoz.stVat.nazwa
endif
next i nooutput() EndSub Jestem w stanie odczytać stawkę ale chciałbym ją zmienić na NP jeśli PKWIU jest puste dla towaru. Nie ma takiej metody która bezpośrednio by to umozliwiła. Czy jest jakiś prosty trik?
|
2013-09-19, 11:58 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Przez obiekt BDokumentSP raczej nie edytuje się dokumentów. Użyj BIORec. Ale może się nie udać w OnTwChanged bo dokument jest w edycji.
|
2013-09-19, 12:21 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Czy mogę zapytać jak kolega WOJTEK 'obrabia' sprzedaż tzw. towarów wrażliwych z VAT-em NP, bo domyślam się że o to chodzi? Ja zrobiłem oddzielne dokumenty dla towarów i wyrobów NP (jak wcześniej sprzedaż złomu), ale jeśli byłoby to niepoprawne, wolałbym wiedzieć jak najszybciej.
_________________ zz
|
2013-10-04, 08:59 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Chodzi o sprzedaż z odwrotnym obciążeniem. Ostatecznie też założyłem odrębne dokumenty o charakterze rachunek. Pierwotnie idea miała polegać na tym, by na jednym dokumencie (o charakterze faktura sprzedaży) dało się sprzedawać towary ze zwykłym Vatem 23 % oraz złom i stal. ALe wtedy trzeba by zmieniać na dokumencie stawkę Vat dla odpowiednich pozycji z 23 na NP (bo w kart. towarów wszystkie są na 23 i tak ma pozostać). Ostatecznie złom i stal sprzedaje sie na dok typu rachunek a pozostałe na zwykłym dokumencie sprzedaży.
|
2013-10-04, 09:51 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
I ja tak samo.
Nie wiem jak by się skończyło 'dublowanie' towarów
_________________ zz
|
2013-10-04, 12:22 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
A jak macie zdefiniowane dokumenty zakupowe NP? Jako rachunek czy import? (Handel i FK)
_________________ zz
|
2013-10-07, 08:56 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Dokumenty zakupowe mam 2 ( zkorektami 4) Faktura zakupowa działa jak "Faktura nabycia". Do celów naliczenia VATu występuje jeszcze faktura wewnętrzna(zakupowe). To po stronie handlu. W FK odpowiednio leci Faktura nabycia i faktura wewnętrzna VAT.
Jako rachunek mam w Handlu sprzedaż, a w FK odpowiednio jesit sprzedaż jako dokument importowy, z odpowiednio skonfigurowanym rejestrem Importowym "Dostawa dla której podatnikiem jest nabywca"
|
2013-10-07, 15:44 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
THX A jak dodać kolumnę PKWiU do wydruku? (próbuję zmienic dok.bez VAT, ale na razie nie wiem gdzie patrzeć)
_________________ zz
|
2013-10-08, 14:07 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Poniżej wydruk Dokument Bez VAT I z dorobionym PKWiU. Na formatce raportu są dwa dodatkowe Cheki (PKWiU i PCN). Trzeba zaznaczyć PKWiU wtedy pojawi siędodatkowa kolumna na wydruku. Treść raportu trzeba skopiować i wkleić w gałęzi Raporty\Dokumenty\Sprzedaż\Dokument bez VAT\[NAZWA RAPORTU]. Testowane na wersji 2011a. Kod: //"dokbvat1.sc","Dokument bez VAT I","\Dokumenty\Sprzedaż\Dokument bez VAT\",0,2.1.3,SYSTEM //////////////////////////// // Dokument bez VAT I z PKWIU // dokbvat1.sc ////////////////////////////
#define XSYSTEM #define DEKRET #include "Lang_pol" int VAT = 0 #include "Nagłówek i stopka raportu I" #include "Engine do dokumentów" NoDate = 1
#define OK 2 #define ANULUJ -1
string sMarg = "Zbyt małe marginesy lub zbyt wiele kolumn{{icon=S}}" string cmbBoxKod(3) = "własny","obcy","paskowy" string cmbBoxZaokr(3) = "0,01","0,1","1,0" string cmbBoxZaokrCen(3) = "0,01","0,001","0,0001"
int bRabaty,bPokaz,nKod,nPom,nKodTyp,nRabatRound,bKhTeleadr, bWartoscPrzedRabatem, bDekretacje, j, bDostawy, nJednMiary,nCenaRound int nDat,bRabPods,bPolowa,bOdbiorca,bOpis,bKonth,ramkx,ramky,ramkdx,ramkdy int bNotat,pos,tblIn, sl, bNotatRodz int bFNotatka int dx,dy,bmpbtn,btnok,bGrayTrigger,nRatio long lTemp int bPlatnosci, bWydania, nFootStartPos string sPlatTyp,sTmpStr int bOpisTypu int bStanRozl int kr,bc,nl,nc,nr,bbc,nbl,nbr,nb,bb,sc,grub,ss,numr,sc2,sc3 int yramk,dyramk,dxramk,bmp
int tbl0,tbl1,tbl2 int i,x,y,nResult
int iPKWiU int iPCN int iPKWiUiPCN
string sPom,sSekcja = GetReportName() string sSekcjaIn = sSekcja sSekcja += " "+xDocument.TypDk if GetIni( sSekcja, "Opis")!="" then sSekcjaIn=sSekcja
bPokaz = !Val ( Arg7 )
int sub OnCommand2(int id,int msg) if !id && !msg then if !GRAF then Enable ( bmpbtn,-1 ) endif endsub
#include "Ustawienia grafiki"
//#include "Dokument sprzedaży - ramki" #include "Dokument sprzedaży - ramki" //---------------------------------------------------------------
bRabaty = Val( GetIni ( sSekcjaIn, "Rabaty" ) ) nKod = Val( GetIni ( sSekcjaIn, "Pokaz kod" ) ) bPolowa = Val( GetIni ( sSekcjaIn, "Polowa strony" ) ) bOdbiorca = Val( GetIni ( sSekcjaIn, "Pokaz odbiorce" ) ) bRabPods = Val( GetIni ( sSekcjaIn, "Pokaz podsumowanie rabatow" ) ) sBitmap = GetIni ( sSekcjaIn, "Bitmap" ) nBitmap = Val( GetIni ( sSekcjaIn, "Pokaz bitmape" ) ) bSprzedawca = Val( GetIni ( sSekcjaIn, "Pokaz dane sprzedawcy" ) ) nDat = Val( GetIni ( sSekcjaIn, "Data sprzedazy" ) ) bKonth = Val( GetIni ( sSekcjaIn, "Kontrahent" ) ) bOpis = Val( GetIni ( sSekcjaIn, "Opis" ) ) bNotat = Val( GetIni ( sSekcjaIn, "Notatka" ) ) bNotatRodz = Val( GetIni ( sSekcjaIn, "Notatka z rodzaju" ) ) nKodTyp = GetValFromIni("Rodzaj kodu" ,1) nRabatRound = GetValFromIni("Zaokr. rabatu",1) bKhTeleadr = GetValFromIni("Dane teleadresowe kontrahenta",0) bWartoscPrzedRabatem = Val(GetIni(sSekcjaIn, "WartoscPrzedRabatem")) bDekretacje = Val( GetIni ( sSekcjaIn, "Dekretacje" ) ) bDostawy = Val( GetIni ( sSekcjaIn, "Dostawy" ) ) nJednMiary = GetValFromIni("Jednostka miary",1) iPKWiU = Val( GetIni ( sSekcjaIn, "PKWiU" ) ) iPCN = Val( GetIni ( sSekcjaIn, "PCN" ) ) nCenaRound=GetValFromIni("Zaokr. ceny",1) bOpisTypu = GetValFromIni("Opis typu dokumentu",1) bStanRozl = GetValFromIni("Stan rozliczenia",0) bFNotatka = GetValFromIni("Notatka firmy",0) if !bPokaz then
Form " Ustawienia wydruku",470,338+(20*bRabatDlaWartosci)
Group " Kod towaru ",10,2,140,105 RadioBtn "W osobnej kolumnie",nKod,20,20,120,20 RadioBtn "Obok nazwy towaru", nKod,20,40,120,20 RadioBtn "Nie pokazuj", nKod,20,60,100,20 CmbBox "",CmbBoxKod,nKodTyp,79,81,65,80 Text "Kod towaru:",19,85,60,18
Group " Data/Okres sprzedaży ",10,112,140,60 RadioBtn "Data sprzedaży", nDat,20,127,120,20 RadioBtn "Okres sprzedaży", nDat,20,147,120,20
Group " Zaokrąglanie cen",10,178,140,60 Text "Rabatów:",15,197,52,18 CmbBox "",CmbBoxZaokr,nRabatRound,78,193,62,120 Text "Cen:",15,217,52,18 CmbBox "",CmbBoxZaokrCen,nCenaRound,78,213,62,120
Group " Inne elementy wydruku dokumentu ",160,2,290,198+(20*bRabatDlaWartosci) ChkBox "Kod kontrahenta", bKonth, 170,15,110,20 ChkBox "Dane odbiorcy", bOdbiorca,170,35,110,20 ChkBox "Opis dokumentu", bOpis, 170,55,110,20 ChkBox "Dostawy", bDostawy,170,75,100,20 ChkBox "Notatka firmy", bFNotatka, 170,95,100,20 ChkBox "Dane kontr.", bKhTeleadr, 170,115,100,20 If bRabatDlaWartosci Then ChkBox "Wartość przed rabatem", bWartoscPrzedRabatem, 170,135,150,20 ChkBox "Dekretacje księgowe na kopii dokumentu", bDekretacje, 170,135+(20*bRabatDlaWartosci),220,20 ChkBox "Stan rozliczenia z dnia wystawienia", bStanRozl, 170,155+(20*bRabatDlaWartosci),220,20 ChkBox "Drukuj opis typu jako nazwę dokumentu", bOpisTypu, 170,175+(20*bRabatDlaWartosci),220,20 ChkBox "Rabaty do pozycji", bRabaty, 280,15,155,20 ChkBox "Podsumowanie rabatów", bRabPods, 280,35,155,20 ChkBox "Notatka", bNotat, 280,55,155,20 ChkBox "Notatka z rodzaju", bNotatRodz, 280,75,155,20 ChkBox "PKWiU", iPKWiU, 280,95,155,20 ChkBox "PCN", iPCN, 280,115,155,20
Group " Jednostka miary ",160,205+(20*bRabatDlaWartosci),290,40 RadioBtn "Ewidencyjna",nJednMiary,170,220+(20*bRabatDlaWartosci),120,20 RadioBtn "Wprowadzona", nJednMiary,280,220+(20*bRabatDlaWartosci),120,20
ChkBox "Nie pokazuj tego okna ponownie",bPokaz,10,292,200,20
btnok = Button "&OK", 240,265+(20*bRabatDlaWartosci),100,28,OK Button "&Anuluj",350,265+(20*bRabatDlaWartosci),100,28,ANULUJ bmpbtn= Button "Ustawienia &grafiki...",10,263,140,25,GraphSet2()
if ExecForm ( OnCommand2 ) == ANULUJ then error ""
PutIni ( sSekcja, "Rabaty", using "%d",bRabaty ) PutIni ( sSekcja, "Pokaz kod", using "%d",nKod ) PutIni ( sSekcja, "Polowa strony", using "%d",bPolowa ) PutIni ( sSekcja, "Nie pokazuj dialogu", using "%d",bPokaz ) PutIni ( sSekcja, "Pokaz odbiorce", using "%d",bOdbiorca ) PutIni ( sSekcja, "Pokaz podsumowanie rabatow",using "%d",bRabPods ) PutIni ( sSekcja, "Data sprzedazy",using "%d",nDat ) PutIni ( sSekcja, "Opis", using "%d",bOpis ) PutIni ( sSekcja, "Kontrahent",using "%d",bKonth ) PutIni ( sSekcja, "Notatka",using "%d",bNotat ) PutIni ( sSekcja, "Notatka z rodzaju",using "%d",bNotatRodz ) PutIni ( sSekcja, "Rodzaj kodu", using "%d",nKodTyp ) PutIni ( sSekcja, "Zaokr. rabatu", using "%d",nRabatRound ) PutIni ( sSekcja, "Dane teleadresowe kontrahenta", using "%d",bKhTeleadr ) PutIni ( sSekcja, "WartoscPrzedRabatem", using "%d", bWartoscPrzedRabatem) PutIni ( sSekcja, "Dekretacje", using "%d",bDekretacje ) bDostawy=KomunikatImp(xDocument.CzyKopia,bDostawy) PutIni ( sSekcja, "Dostawy", using "%d",bDostawy ) PutIni ( sSekcja, "Jednostka miary", using "%d",nJednMiary ) PutIni ( sSekcja, "Zaokr. ceny", using "%d",nCenaRound ) PutIni( sSekcja, "Opis typu dokumentu", using "%d",bOpisTypu ) PutIni( sSekcja, "Stan rozliczenia", using "%d",bStanRozl ) PutIni( sSekcja, "Notatka firmy", using "%d",bFNotatka) SaveGraphIni() endif nRabatRound=3-nRabatRound if !bOpisTypu then sNazwaDok=xDocument.nazwa Plat(!bStanRozl) If !bRabatDlaWartosci Then bWartoscPrzedRabatem = 0
//---------------------------------------------------------------
if GRAF then
str.wydruk(0,-1,-1) if bPolowa then strona 50,90,50,str.wys/2+100 else strona 50,90,50,100 endif CheckFooterSize(xDocument.TypDK) bc = Styl ( "nagłówek", 0, "bc" ) nl = Styl ( "tekst", -1, "nl" ) nc = Styl ( "tekst", 0, "nc" ) nr = Styl ( "tekst", 1, "nr" ) kr = Styl ( "kwota", 1, "kr" ) nb = CopyFont ( "tekst",1 ) grub = CopyFont ( "tekst", 1, 45 ) numr = CopyFont ( "tytuł", 1, 45 ) nbl = Styl ( nb, -1, "nbl" ) ss = CopyFont ( "tekst", -1, 25 ) sc = Styl ( ss, 0, "sc" ) sc2 = Styl ( CopyFont ( "tekst", -1, 30 ), 0, "sc2" ) sc3 = Styl ( CopyFont ( "tekst", -1, 32 ), 0, "sc3" ) bb = CopyFont ( "tytuł", 1, 50 ) bbc = Styl ( bb, 0, "bbc" )
else str.wydruk(1,-1,-1) if bPolowa then strona 50,100,50,str.wys/2+100 else strona 50,100,50,100 endif CheckFooterSize(xDocument.TypDK) bc = Styl ( "12cpi", 0, "bc" ) nbl = Styl ( "10cpi", -1, "bl" ) nbr = Styl ( "10cpi", 1, "br" ) nl = Styl ( "17cpi", -1, "nl" ) nc = Styl ( "17cpi", 0, "nc" ) kr = nr = Styl ( "17cpi", 1, "nr" ) bbc = Styl ( "5cpi", 0, "bbc" ) sl = Styl ( "17cpi", -1 )
endif
if iPKWiU || iPCN then iPKWiUiPCN=1 //---------------------------------------------------------------
int KolTab1( 6 + !nKod + bDostawy +iPKWiUiPCN + bRabaty + bWartoscPrzedRabatem) int StlTab1( 6 + !nKod + bDostawy +iPKWiUiPCN + bRabaty + bWartoscPrzedRabatem) int KolTabPR(2)= 250,250 int StlTabPR(4)= kr,kr int nTblWidth1,nTblWidth2,nDiff
//----------------------------------------------------
int nkol = 2 KolTab1(1) = 90 : StlTab1(1) = nr : KolTab1(2) = 440 : StlTab1(2) = nl : if nKod==1 then KolTab1(2) += 100 if !nKod then KolTab1(nkol+=1) = 300 : StlTab1(nkol) = nc if bDostawy then KolTab1(nkol+=1) = 200 : StlTab1(nkol) = nl if iPKWiUiPCN then KolTab1(nkol+=1) = 200 : StlTab1(nkol) = nl //PKWIU KolTab1(nkol+=1) = 160 : StlTab1(nkol) = kr KolTab1(nkol+=1) = 110 : StlTab1(nkol) = nc
If bRabatDlaWartosci Then KolTab1(nkol+=1) = 200 : StlTab1(nkol) = kr // cena If bWartoscPrzedRabatem Then KolTab1(nkol+=1) = 200 : StlTab1(nkol) = kr if bRabaty then KolTab1(nkol+=1) = 200 : StlTab1(nkol) = kr If !bRabatDlaWartosci Then KolTab1(nkol+=1) = 200 : StlTab1(nkol) = kr // cena
KolTab1(nkol+=1) = 200 : StlTab1(nkol) = kr
int StlTabH(nkol)
for i=1 to i>nkol StlTabH (i) = bc nTblWidth1 += KolTab1 (i) next i
if nTblWidth1 > str.szer then message sMarg : error "" else KolTab1(2) += str.szer - nTblWidth1 nTblWidth1 = str.szer endif
int KolTab2(2) = KolTab1(nkol-1),KolTab1(nkol) int StlTab2(2) = nc,kr nTblWidth2 = KolTab2(1) + KolTab2(2)
//--------------------------------------------------------------- #include "Engine do wydruków tekstowych"
if GRAF then
if nBitmap==1 then if !nBmpCoord(1) then nBmpCoord(1)=str.szer if !nBmpCoord(2) then nBmpCoord(2)=250 bmp = Bitmap nBmpCoord(1),nBmpCoord(2),sBitmap Bitmap #bmp, at nBmpCoord(3),nBmpCoord(4) print lf : print at #X,#Y+5; endif FRNewRow(0) select case nBitmap case 0 FRAddCol(-33,220,1,bRamki,0) FRAddCol(-34,220,0,0,0) FRAddColRow(130,2,bRamki,nGray) FRAddColRow(80,3,bRamki,0) FRAddCol(-33,220,0,0,0) FRAddColRow(65,4,bRamki,0) FRAddColRow(-100,5,0,0) FRAddColRow(80,6,bRamki,0) case 1 FRAddCol(-33,170,0,0,0) FRAddColRow(80,3,bRamki,0) FRAddColRow(-100,6,bRamki,0) FRAddCol(-34,170,2,1,nGray) FRAddCol(-33,170,0,0,0) FRAddColRow(-50,4,bRamki,0) FRAddColRow(-50,5,0,0) case 2
lTemp = str.szer lTemp = lTemp*66/100 nPom=lTemp if !nBmpCoord(1) then nBmpCoord(1)=nPom - nBmpCoord(3) if !nBmpCoord(2) then nBmpCoord(2)=450 - iif(nBmpCoord(4)>=450,0,nBmpCoord(4)) if nBmpCoord(1)>nPom then nBmpCoord(1)= nPom if nBmpCoord(1)+nBmpCoord(3)>nPom then nBmpCoord(3)=0
nPom = iif(nBmpCoord(2)+nBmpCoord(4)>450,nBmpCoord(2)+nBmpCoord(4),450) FRAddCol(nBmpCoord(1)+nBmpCoord(3),nPom,7,0,0) FRAddCol(-100,nPom,0,0,0) FRAddColRow(130,2,1,nGray) FRAddColRow(65,4,bRamki,0) FRAddColRow(-100,5,0,0) FRAddColRow(80,3,bRamki,0) FRAddColRow(80,6,bRamki,0) endselect FRDraw() FRNewRow(-1) if bSprzedawca || !nBitmap then FRAddCol(-50,10,8,bRamki,0) FRAddCol(-50,10,9,bRamki,0) else FRAddCol(-100,10,9,bRamki,0) endif FRDraw()
FRNewRow(-1) FRAddCol(-100+50*bOdbiorca,10,10,bRamki,0) if bOdbiorca then FRAddCol(-100+50*bOdbiorca,10,11,bRamki,0) FRDraw()
if bOpis && sOpis then Ramka od 0,#B+10,str.szer,10,bRamki SetFont(nb) print sOpis koniec endif
else nRatio=TextWidth("W","17cpi") SetFont ( "17cpi" ) print at 150,250;"pieczęć firmy" SetStyl ( bbc ) print at 0,50;sNazwaDok;lf;lf SetStyl ( nbr ) buf = "Nr " + sNumerDok + " " print buf;lf buf = sNapis if find "DUPLIKAT" then buf += " " + data() endif buf += " " print buf;lf SetStyl ( nbl )
SetFont ( "17cpi" ) print lf print at 650,#Y;"Data wystawienia: "; SetFont ( "12cpi" ) print sDataWyst;", " print MiejsceWyst;lf SetFont( "17cpi" ) if nDat==0 then print at 650,#Y;"Data sprzedaży : "; SetFont ( "12cpi" ) print sDataSp;lf;lf else print at 650,#Y;"Okres sprzedaży : "; SetFont ( "12cpi" ) print sDajOkres(sDataSp);lf;lf endif
SetFont( "12cpi" ) rysuj "-" : print lf SetFont ( "17cpi" ) print "Sprzedawca: " SetFont( "12cpi" ) print sFNazwa;lf SetFont( "17cpi" ) print "Adres: " SetFont( "12cpi" ) print sFKodPocz;" ";sFMiejsce if sFAdres then print ", ";sFAdres print lf sPom = sFNip print DajNip(sPom);buf;lf nPom=0 if sFTel1 then SetFont ( "17cpi" ) : print "Telefon:" SetFont ( "12cpi" ) : print sFTel1 if sFTel2 then print ", ";sFTel2 nPom=1 endif if sFFax then if nPom then print " " SetFont ( "17cpi" ) : print "Fax:" SetFont ( "12cpi" ) : print sFFax; nPom=1 endif if sFEMail then if nPom then print " " SetFont ( "17cpi" ) : print "E-mail:" SetFont ( "12cpi" ) : print sFEMail nPom=1 endif if nPom then print lf if bFNotatka then print sFNotatka;lf rysuj "-" : print lf SetFont( "17cpi" ) print "Nabywca: " SetFont( "12cpi" ) print sNabywca;lf SetFont( "17cpi" ) print "Adres: " SetFont( "12cpi" ) print sNabKodPocz;" ";sNabMiasto if sNabAdres then print ", ";sNabAdres print lf print DajNip(sNabNip);buf if sNabNip then print " " if bKonth then SetFont( "17cpi" ) print "Kod: " SetFont( "12cpi" ) print sNabKod endif print lf if bKhTeleadr then nPom=0 if sNabTel1 then SetFont ( "17cpi" ) : print "Telefon:" SetFont ( "12cpi" ) : print sNabTel1 if sNabTel2 then print ", ";sNabTel2 nPom=1 endif if sNabFax then if nPom then print " " SetFont ( "17cpi" ) : print "Fax:" SetFont ( "12cpi" ) : print sNabFax; nPom=1 endif if sNabEMail then if nPom then print " " SetFont ( "17cpi" ) : print "E-mail:" SetFont ( "12cpi" ) : print sNabEMail nPom=1 endif if nPom then print lf endif rysuj "-" : print lf if bOdbiorca then SetFont( "17cpi" ) print DrukujDaneTxt(1,str.szer/2,"Odbiorca: "+sOdbiorca,-1) print DrukujDaneTxt(2,str.szer/2,"Forma płatności: "+sPlatName,-1);lf if RestData(size(RestData)).sdane!="" then DrukujDaneRst() : print lf sTmpStr="Adres: "+sOdbKodPocz+" "+sOdbMiasto if sOdbAdres then sTmpStr+=" "+sOdbAdres print DrukujDaneTxt(1,str.szer/2,sTmpStr,-1) print DrukujDaneTxt(2,str.szer/2,"Termin płatności: "+sTerminPlat,-1);lf if RestData(size(RestData)).sdane!="" then DrukujDaneRst() : print lf if !bPrzelew then shrink nTabSzer, -1 : nTabSzer(1)=0 if bPrzelew then print Spacje((str.szer/nRatio)/2-len(PODZIALKOL));PODZIALKOL print DrukujDaneTxt(2,str.szer/2,"Bank: "+sNazwaBanku,-1);lf if RestData(size(RestData)).sdane!="" then DrukujDaneRst() : print lf print Spacje((str.szer/nRatio)/2-len(PODZIALKOL));PODZIALKOL print DrukujDaneTxt(2,str.szer/2,"Konto: "+sKonto,-1);lf if RestData(size(RestData)).sdane!="" then DrukujDaneRst() : print lf shrink nTabSzer, -1 : nTabSZer(1)=0 endif else if bPrzelew then SetFont ( "17cpi" ) else SetFont ( "12cpi" ) endif print "Forma płatnośći: ";sPlatName if bPrzelew then print " Termin płatności: ";sTerminPlat;" Bank: ";sNazwaBanku;" Konto: ";sKonto;lf else print od str.szer/2,#Y;"Termin płatności: ";sTerminPlat;lf endif endif SetFont( "12cpi" ) rysuj "-" : print lf if bOpis && sOpis then SetFont ( "17cpi" ) print sOpis;lf SetFont( "12cpi" ) rysuj "-" : print lf endif
endif
if bAnulowano then ramka od 0,#Y+10, str.szer,10,bRamki if GRAF then SetFont( CopyFont( "tekst",1,100 ) ) else SetFont( "5cpi" ) endif Align(0) print "ANULOWANO";lf koniec if xPoz.Count() && !GRAF then rysuj "-" : print lf endif
int nTblMarg = 5 if GRAF then nTblMarg = 8005
string sBuf, sBufTmp if xPoz.Count() then sPom = "Nazwa" if nKod==1 then sPom += ",kod" if nKod==1 && nKodTyp==2 then sPom += " obcy" if nKod==1 && nKodTyp==3 then sPom += " paskowy" pos = 2 if GRAF then tbl0 = tabela 1,nTblMarg,KolTab1,StlTabH ramka od 0, #Y+10*GRAF,nTblWidth1,10,0,nGray*GRAF tabela #tbl0 kolumna 1, "Lp." kolumna 2, sPom if !nKod then kolumna (pos+=1) ,"Kod" if !nKod && nKodTyp==2 then print " obcy" if !nKod && nKodTyp==3 then print " paskowy" if bDostawy then kolumna (pos+=1),"Nazwa dostawy" if iPKWiUiPCN then if iPKWiU && iPCN then kolumna (pos+=1),"PKWiU, CN" if iPKWiU && !iPCN then kolumna (pos+=1),"PKWiU" if !iPKWiU && iPCN then kolumna (pos+=1),"CN" endif kolumna (pos+=1),"Ilość" kolumna (pos+=1),"Jm" If bWartoscPrzedRabatem Then kolumna (pos+=1), "Cena" If bWartoscPrzedRabatem Then kolumna (pos+=1), "Wartość przed rab." if bRabaty then kolumna pos+=1,"Rabat%" If !bWartoscPrzedRabatem Then kolumna (pos+=1),"Cena" kolumna (pos+=1),"Wartość" koniec koniec else for i=1 to i > size(KolTab1) UstalSzerKolumn(i,KolTab1(i)) next i DopasujDoStrony() print DrukujDaneTxt(1,KolTab1(1),"Lp.",0) print DrukujDaneTxt(2,KolTab1(2),sPom,0) if !nKod && nKodTyp==1 then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Kod",0) if !nKod && nKodTyp==2 then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Kod obcy",0) if !nKod && nKodTyp==3 then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Kod paskowy",0) if bDostawy then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Nazwa dostawy",0) if iPKWiUiPCN then if iPKWiU && iPCN then print DrukujDaneTxt(pos+=1,KolTab1(pos),"PKWiU, CN",0) if iPKWiU && !iPCN then print DrukujDaneTxt(pos+=1,KolTab1(pos),"PKWiU",0) if !iPKWiU && iPCN then print DrukujDaneTxt(pos+=1,KolTab1(pos),"CN",0) endif print DrukujDaneTxt(pos+=1,KolTab1(pos),"Ilość",0) print DrukujDaneTxt(pos+=1,KolTab1(pos),"Jm",0) If bWartoscPrzedRabatem Then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Cena",0) If bWartoscPrzedRabatem Then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Wartość przed rab.",0) if bRabaty then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Rabat%",0) If !bWartoscPrzedRabatem Then print DrukujDaneTxt(pos+=1,KolTab1(pos),"Cena",0) print DrukujDaneTxt(pos+=1, KolTab1(pos),"Wartość",0);lf if RestData(size(RestData)).sdane!="" then DrukujDaneRst() : print lf rysuj "-" print lf endif
if GRAF then nTblMarg = 4005 tbl1 = tabela !bVertLines || !GRAF,nTblMarg,KolTab1,StlTab1
For i = 1 To i > xPoz.Count() if !xPoz.item(i).dokompletu then if GRAF then ramka od 0,#Y,nTblWidth1,10,0,nOddGray*bGrayTrigger tabela #tbl1 kolumna 1, using "%d ",xPoz.item(i).lp else print DrukujDaneTxt(1,KolTab1(1),(using "%d ",xPoz.item(i).lp),1) endif sPom = xPoz.item(i).Opis if nKod==1 then select case nKodTyp case 1 sPom += xPoz.item(i).Kod case 2 nResult=xPoz.item(i).PodajKodObcy() : xErr(nResult) if nResult then Message sStndError : error "" sPom += xPoz.item(i).KodObcy case 3 sPom += KodPaskowy_pozycji(i) endselect endif if GRAF then kolumna 2, Piszwyrazy(sPom,KolTab1(2)-10) else print DrukujDaneTxt(2,KolTab1(2),sPom,-1) endif pos = 2 if !nKod then select case nKodTyp case 1 sBufTmp=xPoz.item(i).Kod case 2 nResult=xPoz.item(i).PodajKodObcy() : xErr(nResult) if nResult then Message sStndError : error "" sBufTmp=xPoz.item(i).KodObcy case 3 sBufTmp=KodPaskowy_pozycji(i) endselect if GRAF then pos+=1 kolumna(pos), PiszWyrazy(sBufTmp,KolTab1(pos)-10) else print DrukujDaneTxt(pos+=1,KolTab1(pos),sBufTmp,-1) endif endif if bDostawy then buf="" for idw=1 to idw>nDostawy if Dostawy(idw).lp == i then buf+= Dostawy(idw).nazwa+" " next idw if GRAF then kolumna (pos+=1), PiszWyrazy(buf,KolTab1(pos)-10) else print DrukujDaneTxt(pos+=1,KolTab1(pos),buf,0) endif endif if iPKWiUiPCN then buf="" if iPKWiU && iPCN then buf=xPoz.item(i).PKWiU + lf +DajPCN(i) endif if iPKWiU && !iPCN then buf=xPoz.item(i).PKWiU if !iPKWiU && iPCN then buf=DajPCN(i) if GRAF then kolumna (pos+=1), PiszWyrazy(buf,KolTab1(pos)-10) else print DrukujDaneTxt(pos+=1,KolTab1(pos),buf,0) endif endif buf = using "%4.4f",iif(nJednMiary,xPoz.item(i).IloscWP,xPoz.item(i).Ilosc) delete regular "(0#$)|(.0#$)" if GRAF then kolumna (pos+=1), PiszWyrazy(buf,KolTab1(pos)-10) kolumna (pos+=1), PiszWyrazy(iif(nJednMiary,xPoz.item(i).JednostkaMiaryWP,xPoz.item(i).JednostkaMiary),KolTab1(pos)-10) If bWartoscPrzedRabatem Then kolumna (pos+=1), PiszWyrazy(formatuj ( Round(iif(nJednMiary,xPoz.item(i).CenaCennikowa,xPoz.item(i).CenaCennikowa/Ceny(i).PrzelJmDod),nCenaRound+1),nCenaRound+1 ),KolTab1(pos)-10) If bWartoscPrzedRabatem Then kolumna (pos+=1), PiszWyrazy(formatuj ( Round(iif(nJednMiary,xPoz.item(i).CenaCennikowa,xPoz.item(i).CenaCennikowa/Ceny(i).PrzelJmDod) * iif(nJednMiary,xPoz.item(i).IloscWP,xPoz.item(i).Ilosc),nCenaRound+1),nCenaRound+1 ),KolTab1(pos)-10) if bRabaty then buf = using "%2.2f", Round(xPoz.item(i).Rabat*100,nRabatRound) find regular "{(/-)|():d##}.{:d##}" if (regular 2) == "00" then buf = (regular 1) if buf == "0" then buf="" kolumna (pos+=1), PiszWyrazy(buf,KolTab1(pos)-10) endif If !bWartoscPrzedRabatem Then kolumna (pos+=1), PiszWyrazy(formatuj ( Round(iif(nJednMiary,Ceny(i).CenaNettoWP,Ceny(i).CenaNetto),nCenaRound+1),nCenaRound+1 ),KolTab1(pos)-10) kolumna (pos+=1), PiszWyrazy(kwota( xPoz.item(i).Wartosc ),KolTab1(pos)-10) koniec koniec else print DrukujDaneTxt(pos+=1,KolTab1(pos),buf,1) print DrukujDaneTxt(pos+=1,KolTab1(pos),iif(nJednMiary,xPoz.item(i).JednostkaMiaryWP,xPoz.item(i).JednostkaMiary),0) If bWartoscPrzedRabatem Then print DrukujDaneTxt(pos+=1,KolTab1(pos),formatuj ( Round(iif(nJednMiary,xPoz.item(i).CenaCennikowa,xPoz.item(i).CenaCennikowa/Ceny(i).PrzelJmDod),nCenaRound+1),nCenaRound+1 ),1) If bWartoscPrzedRabatem Then print DrukujDaneTxt(pos+=1,KolTab1(pos),formatuj ( Round(iif(nJednMiary,xPoz.item(i).CenaCennikowa,xPoz.item(i).CenaCennikowa/Ceny(i).PrzelJmDod) * iif(nJednMiary,xPoz.item(i).IloscWP,xPoz.item(i).Ilosc),nCenaRound+1),nCenaRound+1 ),1) if bRabaty then buf = using "%2.2f", Round(xPoz.item(i).Rabat*100,nRabatRound) find regular "{(/-)|():d##}.{:d##}" if (regular 2) == "00" then buf = (regular 1) if buf == "0" then buf="" print DrukujDaneTxt(pos+=1,KolTab1(pos),buf,0) endif If !bWartoscPrzedRabatem Then print DrukujDaneTxt(pos+=1,KolTab1(pos),formatuj ( Round(iif(nJednMiary,Ceny(i).CenaNettoWP,Ceny(i).CenaNetto),nCenaRound+1),nCenaRound+1 ),1) print DrukujDaneTxt(pos+=1,KolTab1(pos),kwota( xPoz.item(i).Wartosc ),1);lf if RestData(size(RestData)).sdane!="" then DrukujDaneRst() : print lf Rysuj "-" print lf endif if i==1 && bVertLines && GRAF then DrawLine at 0,#T,nTblWidth1,0 if GRAF && bVertLines then x = 0 y = str.pozycja(#B)-str.pozycja(#T) pom = 1 do x+=KolTab1(pom) DrawLine at x,#T,0,y pom+=1 loop until pom>size(KolTab1) DrawLine at 0,#T,0,y endif if bOddGray && GRAF then bGrayTrigger = !bGrayTrigger endif Next i if GRAF && bVertLines then DrawLine at 0,#Y,nTblWidth1,0 endif
if GRAF then nTblMarg = 8005 ramka od str.szer-nTblWidth2,#B,KolTAb2(1),5,1,20 SetStyl(nc) : print "RAZEM" koniec ramka od #R,#T,KolTab2(2)-1,5,1,0 SetStyl(nr) : print kwota(xDocument.Wartosc) koniec else print DrukujStopkeTxt(size(nTabSzer)-1,size(nTabSzer)-1,nTabSzer(size(nTabSzer)-1),"RAZEM:",0,1) print DrukujStopkeTxt(0,size(nTabSzer),nTabSzer(size(nTabSzer)),kwota(xDocument.Wartosc),1,1);lf endif
if GRAF then ramka od 0,#B+10,700,90,bRamki SetStyl ( nbl ) print at 30,20;"Razem do zapłaty: " SetFont ( grub ) print kwota( fDoZaplaty)+sPLN koniec
SetStyl ( nl ) print at #R+50,#T+40;" " if Sign ( fDoZaplaty - fWplaty) then if fWplaty then print "Zapłacono: " SetFont ( nb ) print kwota( fWplaty )+sPLN; SetStyl ( nl ) print " " endif print "Pozostało do zapłaty: " SetFont ( nb ) print kwota ( fDoZaplaty - fWplaty )+sPLN else SetFont(grub) print "ZAPŁACONO" endif
ramka od #L,#B+10,str.szer,90,bRamki SetStyl ( nbl ) print at 30,20;"Słownie: " SetFont ( "tekst" ) print kwotanatekst ( (using "%.2f",fDoZaplaty),"") koniec else SetStyl( nl ) print lf print "Razem do zapłaty: " SetFont ( "12cpi" ) print kwota( fDoZaplaty )+sPLN SetFont ( "10cpi" ) print lf;"Słownie: " SetFont ( "12cpi" ) print kwotanatekst ( (using "%.2f",fDoZaplaty),"");lf if Sign ( fDoZaplaty - fWplaty ) then SetFont ( "17cpi" ) if fWplaty then print "Zapłacono: ";kwota ( fWplaty )+sPLN;"\t\t" print "Pozostało do zapłaty: ";kwota ( fDoZaplaty - fWplaty )+sPLN;lf else SetFont ( "17cpi" ) print "Z A P Ł A C O N O\n" endif endif
if bRabPods then if GRAF then nTblMarg = 8005 tbl0 = tabela 1,nTblMarg,KolTabPR,StlTabH Ramka od str.szer-500,#Y+50,500,10,0,nGray*GRAF tabela #tbl0 if fRabat >= 0 then kolumna 1,"W sumie rabat" else kolumna 1,"W sumie narzut" endif kolumna 2,"Wartość" koniec koniec tbl0 = tabela 1,nTblMarg,KolTabPR,StlTabPR tabela #tbl0, od str.szer-500,#Y if fRabat >= 0 then kolumna 1, kwota( Round(fRabat,nRabatRound) ) + "% " kolumna 2, kwota( tot_wartbaza - xDocument.Wartosc) else kolumna 1, kwota ( -Round(fRabat,nRabatRound) ) + "% " kolumna 2, kwota ( xDocument.Wartosc - tot_wartbaza ) endif koniec else sTmpStr="W sumie rabat" if fRabat < 0 then sTmpStr="W sumie narzut" print DrukujStopkeTxt(size(nTabSzer)-2,size(nTabSzerFoot)-1,15,sTmpStr,0,1) print DrukujStopkeTxt(0,size(nTabSzerFoot),15,"Wartość",0,1);lf sTmpStr=kwota( Round(fRabat,nRabatRound) ) + "% " if fRabat < 0 then sTmpStr=kwota ( -Round(fRabat,nRabatRound) ) + "% " print DrukujStopkeTxt(size(nTabSzer)-2,size(nTabSzerFoot)-1,15,sTmpStr,0,1) sTmpStr=kwota( tot_wartbaza - xDocument.Wartosc) if fRabat < 0 then sTmpStr=kwota ( xDocument.Wartosc - tot_wartbaza ) print DrukujStopkeTxt(0,size(nTabSzerFoot),15,sTmpStr,0,1);lf endif endif
if GRAF then
print at 0,#B+50; FRNewRow(0) FRAddCol(-100,250,14,0,0) FRDraw()
if bNotat && sNotatka then print "\n\n" ramka od 0, #y, str.szer, 10, bRamki SetStyl( nl ) print sNotatka koniec endif if arg6 != "" then ramka od 0, #y+20, str.szer, 250,bRamki SetFont ( nb ) : Align(-1) print "\n\n" SetFont ( "tekst" ) print arg6 koniec endif if bNotatRodz && sNotatkaRodz then print "\n\n" ramka od 0, #y, str.szer, 10, bRamki SetStyl( nl ) print sNotatkaRodz koniec endif print "\n\n\n"; "PODATEK VAT ROZLICZA NABYWCA. ART. 17 UST. 1 PKT 7" else print lf;lf;lf;lf SetFont ( "17cpi" ) buf = Arg5 if find regular "=-(^u$)|(upowa?nienie)" then sPom = "Dokument wystawiony na podstawie pisemnego upoważnienia kupującego" else if !buf then sPom = "osoba upoważniona do odebrania dokumentu" else sPom = "Odebrał(a): "+Arg5 endif endif print at (str.szer/2-TextWidth(sPom))/2,#Y;sPom if Arg4 then sPom = "Wystawił(a): "+Arg4 print at str.szer/2+(str.szer/2-TextWidth(sPom))/2,#Y;sPom else sPom = "osoba upoważniona do wystawienia dokumentu" print at str.szer/2+(str.szer/2-TextWidth(sPom))/2,#Y;sPom endif SetStyl( nl ) if bNotat && sNotatka then print "\n\n\n";sNotatka endif if arg6 then print "\n\n";arg6;lf endif if bNotatRodz && sNotatkaRodz then print "\n\n\n";sNotatkaRodz endif print "\n\n\n"; "PODATEK VAT ROZLICZA NABYWCA. ART. 17 UST. 1 PKT 7" endif
if GRAF then DrukujDekretacjeTxt(1,0,0) : close : Footer(1) else DrukujDekretacjeTxt(0,0,0) : close : FooterTxt(1) endif
|
2013-10-08, 15:01 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Dzięki. Aż takiej pomocy się nie spodziewałem. :)
PS. Jeśli jest zaznaczona dekretacja na kopii, nakłada się napis "PODATEK VAT ROZLICZA...", więc musiałem poprawić
_________________ zz
|
2013-10-09, 10:24 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Re: Jak zmienić stawke VAT na pozycji dokumentu sprzedaży
Faktycznie... Nie zauważyłem. Ciesze sie że mogłem pomóc. Pzdr
|
2013-10-09, 11:24 |
|
|
|
Strona 1 z 1
|
[ Posty: 11 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 10 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|