mojaSymfonia FORUM
https://forum.mix-soft.pl/

wz / delivery note
https://forum.mix-soft.pl/viewtopic.php?f=2&t=1413
Strona 1 z 1

Autor:  Magic [ 2009-11-18, 19:50 ]
Tytuł:  wz / delivery note

Witam
Czy ktos moze mi pomóc w temacie raportu do WZ , tak zebym podczas drukowania mogł wybrać drukowanie w jezyku Angielskim ???

Wiem ze trzeba miec raport Próbowałem sam go napisac ale niestety poległem w penym momecie i nie potrafie tego dalej ruszyc

Autor:  krzysiek [ 2009-11-18, 20:36 ]
Tytuł: 

pewien moment to mało precyzyjne określenie. Zeby zmienic raport czy go napiac trzeba niestety znać język programowania w którym jest napisany.
Na początek napisz jaka to wersja handlu

Autor:  byrusia [ 2009-11-18, 20:49 ]
Tytuł: 

raport wz to jego tresc oraz includy sa po polsku
trzeba to przekopiowac i przetlumaczyc wszystko na angielski (mam na myśli wszedzie tam gdzie jest print i nazwy poszczegolnych naglowkow)

dotyczy to takze includow (nazywamy je rowniez inaczej a pozniej w includzie musi sie to dowolywac do nowej zmienionej nazwy)

Kod:
#include "Formatka - magazyn dokumenty"
#include "Dokumenty magazynowe - include"
#include "Dokumenty magazynowe - ramki"
#include "Wydruki - include"
#include "Nagłówek i stopka raportu I"
#include "Engine do wydań z magazynu"
#include "Formatowanie ramek nagłówka"


nie zmieniamy tego co mamy poniewaz posypia nam sie standardowe wydruki

zapisujemy
i w momencie wydruku wybieramy albo standardowy albo ten zmieniony

jesli chcemy miec zupelnie inny wydruk no to pisze sie nowy


to jak poprzednik... nie do konca jestem pewna czy o to chodzi.. bo malo precyzyjnie

Autor:  Magic [ 2009-11-18, 20:51 ]
Tytuł: 

wiem ze to nie jest precyzyjne , ale nie potrafie tego zrobić z zamówieniami obcymi skopiowałem raport z DEX i poszło a tutaj jest inne układ dokumentu i nie moge tego zrobic

Mam handel 2010 r

Autor:  Magic [ 2009-11-18, 21:03 ]
Tytuł: 

mozecie mi to pokazać na raporcie

Kod:
//"dokmgwz1.sc","Wydanie z magazynu",12419,0,1.0.0,SYSTEM
//"Wydanie z magazynu ",12401,14,16
//////////////////
// Wydanie z magazynu
// dokmgwz1.sc
/////////////

#include "Wydruki - include"
#include "Nagłówek i stopka raportu I"
#include "Engine do wydań z magazynu"
#include "Formatowanie ramek nagłówka"
// *****************************

long lTemp
int  iPom, iPom1, iPom2, iPom3, jd
int nkol,fkol,nPom, nPom2
int ramkx,ramky,ramkdx,ramkdy
int pbRamki, nRamek, iNazwaWys, iKodWys, iSWWWys
string sPom, sBroken, sNazwaBroken, sKodBroken, sSWWBroken
int dx,dy, iBroken
int tblIn, pom
int yramk,dyramk,dxramk,bmp, grayTrigger, yBoldRamk, dyBoldRamk
string sNip
int tbl0,tbl1,tbl2
int i,j,k,x,y,y2
int KolTab1(1),StlTab1(1),kol(1), KolRam1(2), KolTab1X, tblTemp,KoltabSum(1),StlTabSum(1)
int nTblWidth1,nDiff
int StlTabH(1)
int nTblMarg = 5
#define FCENY
#include "Formatka - magazyn dokumenty"
#include "Dokumenty magazynowe - include"
#include "Dokumenty magazynowe - ramki"


int sub ObliczWys( string s, int szer )
   int t
   ObliczWys=0
   sBroken=""
   iBroken=0
   if GRAF then szer -= TextWidth("  ")
   if !s then exit
   while   s
      t = BreakLine(szer,0,1,s)
      if TextWidth(Mid(s,1,t))>szer then t = BreakLine(szer,0,0,s)
      ObliczWys += TextHeight(Mid(s,1,t))
      if GRAF then sBroken +=" "
      sBroken+=Mid(s,1,t)+lf
      iBroken += 1
      s = Mid(s,t+1)
      if s && mid(s,1,1)==" " then s = Mid(s,2)
      if s && mid(s,1,1)=="\n" then s = Mid(s,2)
   wend
endsub

string sub NaCene( float cena )
   int k,l
   if bZaokr then
      buf = Kwota(cena)
   else
      buf = using "%.6f",cena
      l=k=len(buf)
      while l>0 && buf(l)!='.'
         l-=1
      wend
      if l then l+=2
      while k>l && buf(k)=='0'
         k-=1
      wend
      buf = mid( buf, 1, k)
   endif
   replace ".",","
   NaCene = buf
endsub


// *************************

int sub Add(int pos, int szer, int stl, int typ )
   int i,siz=size(KolTab1)
   if KolTab1(1) then  //jeśli nie pierwsze wywołanie
      siz+=1
      Grow KolTab1,1
      Grow StlTab1,1
      Grow kol,1
   endif
   if pos == -1 then
      pos=siz
   else
      For i = siz To i<=pos+1 step -1
         KolTab1(i) = KolTab1(i-1)
         StlTab1(i) = StlTab1(i-1)
         kol(i) = kol(i-1)
      Next i
      pos+=1
   endif
   KolTab1(pos) = szer
   StlTab1(pos) = stl
   kol(pos) = typ
endsub

int sub DrukujKontakt(string t1, string t2, string fx, string eml, int flatmode)
   if flatmode then
      if t1 then
         SetFont ( "tekst" ) : print "Telefon:"
         SetFont ( nb )   :      print t1
         if t2 then print ", ";t2
      endif
      if fx then
         if t1 then print "   "
         SetFont ( "tekst" ) : print "Fax:"
         SetFont ( nb ) : print fx;
      endif
      if eml then
         if t1 || fx then print "     "
         SetFont ( "tekst" ) : print "E-mail:"
         SetFont ( nb ) : print eml
      endif
      exit
   endif
   if t1 then
      tabela #tblIn
         kolumna 1 :   SetFont ( "tekst" ) : print "Telefon:"
         kolumna 2 : SetFont ( nb ) : print t1
         if t2 then print ", ";t2
         if fx then
            SetFont ( "tekst" )   :   print "   Fax: "
            SetFont ( nb )   :   print fx
         endif
      koniec
   endif
   if fx && !t1 then
      tabela #tblIn
         kolumna 1 : SetFont ( "tekst" )   : print "Fax:"
         kolumna 2   :   SetFont ( nb ) : print fx;
      koniec
   endif
   if eml then
      tabela #tblIn
         kolumna 1   :   SetFont ( "tekst" ) : print "E-mail:"
         kolumna 2   :   SetFont ( nb ) : print eml
      koniec
   endif   
endsub


int sub WypiszDane()
   int nLines
   if !(pbRamki & 1) && (bSprzedawca || !nBitmap) then
      // wypisanie danych sprzedawcy
      SetStyl ( nl )
      nPom = TextWidth("Dostawca: ")+10
      tblIn = tabela 0,5,nPom,nl,dx-5-nPom,nbl
      tabela #tblIn
         kolumna 1,"Dostawca: "
         kolumna 2,firma.nazwa
      koniec
         nPom = TextWidth("Telefon:")+10
      tblIn = tabela 0,5,nPom,nl,dx-5-nPom,nbl
      tabela #tblIn
         kolumna 1,"Adres:"
         kolumna 2, firma.Kod+" "+firma.miasto
         if firma.ulica then print ", ";firma.ulica
      koniec
      sNip = firma.nip
      if sNip then
            nLines+=1
            tabela #tblIn
            kolumna 1
            SetFont ( "tekst" ) : print DajNip( sNip )
            kolumna 2
            SetFont ( nb ) : print buf
         koniec
      endif
      DrukujKontakt(firma.Telefon1, firma.Telefon2, firma.fax, firma.email, 0 )
      pbRamki |= 1
      exit
   endif

   if !(pbRamki & 2) && bOdbiorca && sNabywca  then
      SetStyl ( nl )
      if dx!=str.szer then
         nPom = TextWidth("Odbiorca: ")+10
         tblIn = tabela 0,5,nPom,nl,dx-nPom,nbl
         tabela #tblIn
            kolumna 1,"Odbiorca:"
            kolumna 2,sNabywca
         koniec
         nPom = TextWidth("Telefon:  ")+10
         tblIn = tabela 0,5,nPom,nl,dx-nPom,nbl
         tabela #tblIn
            kolumna 1,"Adres:"
            kolumna 2
          print sNabKodPocz;" ";sNabMiasto
            if sNabAdres then print ", ";sNabAdres
         koniec
         if sNabNip then
            tabela #tblIn
               kolumna 1
               SetFont ( "tekst" ) : print DajNip( sNabNip )
               kolumna 2
             SetFont ( nb ) : print buf;"  "
               if bKonth then
                  SetFont ( "tekst" ) : print "  Kod: "
                  SetFont ( nb ) : print sNabKod
               endif
            koniec
         endif
         if bKonth && !sNabNip then
            tabela #tblIn
               kolumna 1
               SetFont ( "tekst" ) : print " Kod: "
               kolumna 2
               SetFont ( nb ) : print sNabKod
            koniec
         endif
         DrukujKontakt(sNabTel1, sNabTel2, sNabFax, sNabEMail, 0 )
      else
         print " Odbiorca: "
         SetFont( nb )
         print sNabywca
         SetFont ( "tekst" )
          print "    Adres: "
          SetFont ( nb )
          print sNabKodPocz;" ";sNabMiasto
         if sNabAdres then print ", ";sNabAdres
         print lf
         if sNabNip then
            SetFont ( "tekst" ) : print " ";DajNip( sNabNip )
          SetFont ( nb ) : print buf;"  "
         endif
         if bKonth then
            SetFont ( "tekst" ) : print " Kod: "
            SetFont ( nb ) : print sNabKod
         endif
         DrukujKontakt(sNabTel1, sNabTel2, sNabFax, sNabEMail, 1 )
      endif
      pbRamki |= 2
      exit
   endif

   if !(pbRamki & 4) && (bMgKod || bMgNazwa) then
      SetStyl ( nl )
      nPom = TextWidth("Nazwa magazynu: ")+10
      tblIn = tabela 0,5,nPom,nl,dx-nPom,nbl
      firma.Magazyn(nMagazyn)
      if bMgKod then
         tabela #tblIn
            kolumna 1,"Kod magazynu: "
            kolumna 2,firma.KodMagazynu
         koniec
      endif
      if bMgNazwa then
         tabela #tblIn
            kolumna 1,"Nazwa magazynu: "
            kolumna 2,firma.nazwa
         koniec
      endif
      pbRamki |= 4
      exit
   endif

   if !(pbRamki & 8) && (bDokHandl) && (sKodDokHand || sDataDokHand) then
      SetStyl ( nl ) : print " Dokument handlowy: "
      SetStyl( nbl ) : print sKodDokHand
      if sDataDokHand then
         SetStyl( nl ) : print "      Data: "
         SetStyl( nbl ) : print sDataDokHand
      endif
      pbRamki |= 8
      exit
   endif

endsub

int sub Naglowek()
   int rozszerz=0,masa=0
   tbl0 = tabela 1,nTblMarg,KolTab1,StlTabH
   ramka od KolTab1X, #Y+10,nTblWidth1,10,0,nGray
      tabela #tbl0
         buf = "Nazwa"
         if nKod==1 then buf += ",kod"
         if nKod==1 && nKodTyp==2 then buf+=" obcy"
         if nKod==1 && nKodTyp==3 then buf+=" paskowy"
         y = TextHeight("X")/2 :
         if !bDostawy then
            kolumna 1 : print at #X,y; "Lp."
            kolumna 2 : print at #X,y; buf
         endif
         for i = 3-2*bDostawy to i > nkol
            select case kol(i)
               case KOD
                  sPom = "Kod"
                  if nKodTyp==2 then sPom+=" obcy"
                  if nKodTyp==3 then sPom+=" paskowy"
               case ILOSC,ILOSCD
                  sPom = "Ilość"
               case JM
                  sPom = "Jm"
               case CENA,CENAD
                  Select case nCenaElem
                     case 2
                        sPom="Cena magazynowa"
                     case 3
                        sPom="Cena A"
                     case 4
                        sPom="Cena B"
                     case 5
                        sPom="Cena C"
                     case 6
                        sPom = "Cena D"
                  endSelect
               case WART,WARTD
                  sPom = "Wartość"
               case DOSTAWY
                  sPom = "Dostawa"
               case SWWKW
                  sPom = G_SWWKW//"SWW/PKWiU"
               case IT_MASA
                  spom = "Masa Intrastat":masa=1
               case IT_ILOSCJU
                  spom = "Ilość Intrastat"
               case IT_JMJU
                  spom = "Jm Intrastat"
            endselect
            if ObliczWys(spom,KolTab1(i))>3*y then rozszerz=1:if masa ==1 then kolumna i-1,lf:print " "
            if (kol(i)==CENAD || kol(i)==CENA) && nCenaElem==2 then
               kolumna i : print at #X,0; sPom
            else
               kolumna i : print at #X,y; sPom
            endif
         next i
         print at 0,y*2;" "
      koniec
   koniec
   if bDostawy then
      dy=str.Pozycja(#B)-str.Pozycja(#T)
      ramka od 0,#T,KolTab1X,dy,0,nGray
         pom = tabela 1,0,KolRam1,StlTabH
         Tabela #pom
            kolumna 1 : print at #X,y; "Lp.";lf
            if rozszerz == 1 then kolumna 1," "
            kolumna 2 : print at #X,y; buf
            if !nKod then
               kolumna 3
               print at #X,y;"Kod"
               if nKodTyp==2 then print " obcy"
               if nKodTyp==3 then print " paskowy"
            endif
            if bSWW then kolumna 3+!nKod : print at #X,y;G_SWWKW //"SWW/PKWiU"
            print at 0,y*2;" "
         koniec
      koniec
   endif
endsub


int sub PiszPozycje()
string sTmp
   tabela #tbl1, at x,#Y
      if !bDostawy then
         kolumna 1, (using "%d",i)
         //ObliczWys(poz_opis.Get(using"%d",Pozycje(i).Lp),KolTab1(2)-15)
         //kolumna 2, sBroken
         sTmp=poz_opis.Get(using"%d",Pozycje(i).Lp)
         if nKod==1 then
            select case nKodTyp
               case 1
                  sTmp+= " " + Pozycje(i).Kod
               case 2
                  sTmp+= " " + Pozycje(i).KodObcy
               case 3
                  sTmp+= " " + KodPaskowy_pozycji(pozycje(i).idtw)
            endselect
         endif
      endif
      kolumna 2,PiszWyrazy(sTmp,KolTab1(2))
      For k = 3-2*bDostawy To k > nkol
         select case kol(k)
            case KOD
               select case nKodTyp
                  case 1
                     buf = Pozycje(i).Kod
                  case 2
                     buf = Pozycje(i).KodObcy
                  case 3
                     buf = KodPaskowy_pozycji(pozycje(i).idtw)
               endselect
            case JM
               buf = iif(nJednMiary,Pozycje(i).JmWP,Pozycje(i).Jm)
            case CENA
               buf = NaCene( iif(nJednMiary,Pozycje(i).cenaWP,Pozycje(i).cena))   
               replace ".", ","
            case CENAD
               buf = NaCene( iif(nJednMiary,Dostawy(jd).cena * (Pozycje(i).Ilosc / Pozycje(i).IloscWP),Dostawy(jd).cena) )
            case ILOSC
               buf = using "%4.4f", iif(nJednMiary,Pozycje(i).IloscWP,Pozycje(i).Ilosc)
               replace ".",","
               delete regular "(0#$)|(,0#$)"
            case ILOSCD
               buf = using "%4.4f",iif(nJednMiary,(Dostawy(jd).Ilosc / (Pozycje(i).Ilosc / Pozycje(i).IloscWP)),Dostawy(jd).Ilosc)
               delete regular "(0#$)|(.0#$)"
            case WART
               buf = kwota ( Pozycje(i).Wartosc )
            case WARTD
               buf = kwota ( Dostawy(jd).Wartosc )
            case DOSTAWY
               buf = Dostawy(jd).nazwa
            case SWWKW
               buf = Pozycje(i).SWW
            case IT_MASA
               buf = using "%4.4f",(IIF(bDostawy,Dostawy(jd).Ilosc,Pozycje(i).Ilosc)*Pozycje(i).przelITMasa)
               replace ".", ","   
               delete regular "(0#$)|(,0#$)"
            case IT_ILOSCJU
                  buf = using "%4.4f",(IIF(bDostawy,Dostawy(jd).Ilosc,Pozycje(i).Ilosc)*Pozycje(i).przelITJU)
                  replace ".", ","   
                  delete regular "(0#$)|(,0#$)"
            case IT_JMJU
                  buf = pozycje(i).JmITJU

         endselect
         kolumna k, buf
      next k
   koniec
   dy+=str.pozycja(#B)-str.pozycja(#T)
   if bVertLines then
      if Pozycje(i).lp==1 then DrawLine at #L,#T,nTblWidth1,0
      nPom=x
      pom = str.pozycja(#B)-str.Pozycja(#T)
      for k=1 to k>nkol
         DrawLine at nPom,#T,0,pom
         nPom+=KolTab1(k)
      next k
      DrawLine at nPom,#T,0,pom
   endif
endsub

int Sub PozycjePrzyDostawach(int Suma)
   if bVertLines then DrawLine at #L,#B,nTblWidth1,0
   // wyznaczenie dy - rysujemy ramki żeby zmierzyć ich wysokość
   SetStyl(nl)
   buf=poz_opis.Get(using"%d",i)
   if nKod==1 && nKodTyp==1 then buf += " " + Pozycje(i).Kod
   if nKod==1 && nKodTyp==2 then buf += " " + Pozycje(i).KodObcy
   if nKod==1 && nKodTyp==3 then buf += " " + KodPaskowy_pozycji(pozycje(i).idtw)
   iNazwaWys = ObliczWys(buf,KolRam1(2)-1)+5
   if iNazwaWys>dy then dy=iNazwaWys
   sNazwaBroken = sBroken
   if !nKod then
      select case nKodTyp
         case 1
            iKodWys = ObliczWys( Pozycje(i).Kod, KolRam1(3)-1)+5
         case 2
            iKodWys = ObliczWys( Pozycje(i).KodObcy, KolRam1(3)-1)+5
         case 3
            iKodWys = ObliczWys( KodPaskowy_pozycji(pozycje(i).idtw), KolRam1(3)-1)+5
      endselect
      sKodBroken = sBroken
      if iKodWys>dy then dy=iKodWys
   endif
   if bSWW then
      iSWWWys = ObliczWys( Pozycje(i).SWW, KolRam1(3+!nKod)-1)+5
      sSWWBroken = sBroken
      if iSWWWys>dy then dy=iSWWWys
   endif
   // ramki na wysokosc dy            
   SetStyl(nc)
   pom = TextHeight("X")
      tblTemp = tabela 0,0, KolRam1(1),nc
   tabela #tblTemp, at 0,0
   if iPom != i then print at #X,0;using "%d",i
   koniec
   dx=KolRam1(1)
   SetStyl(nl)
   tblTemp = tabela 0, 0, KolRam1(2),nl
   tabela #tblTemp, at dx,0
   if iPom != i then print at #X,0;sNazwaBroken
   koniec
   dx+=KolRam1(2)
   if !nKod then
      tblTemp = tabela 0, 0, KolRam1(3),nl
      tabela #tblTemp, at dx,0
      if iPom != i then print at #X,0;sKodBroken
      koniec
      dx+=KolRam1(3)
   endif
   if bSWW then
      tblTemp = tabela 0, 0, KolRam1(3+!nKod),nl
      tabela #tblTemp, at dx,0
      if iPom != i then print at #X,0;sSWWBroken
      koniec
      dx+=KolRam1(3)
   endif
   x=0
   for k=1 to k>Size(KolRam1)
      DrawLine at x,0,0,dy
      x+=KolRam1(k)
   next k
   DrawLine at x,0,0,dy
   DrawLine at 0,0,str.szer,0
   DrawLine 0,dy
   DrawLine -str.szer,0
koniec

y = str.Pozycja(#Y)
if suma then
   tabela #tbl1, at KolTab1X,#Y
      For k = 1 To k > nkol
         select case kol(k)
            case JM
               buf = iif(nJednMiary,Pozycje(i).JmWP,Pozycje(i).Jm)
            case CENAD
               buf = NaCene( iif(nJednMiary,Pozycje(i).cenaWP,Pozycje(i).cena))
            case ILOSCD
               buf = using "%4.4f", iif(nJednMiary,Pozycje(i).IloscWP,Pozycje(i).Ilosc)
               delete regular "(0#$)|(.0#$)"
            case WARTD
               buf = kwota ( Pozycje(i).Wartosc )
            case DOSTAWY
               buf = "Razem"
            case IT_MASA
               buf = using "%4.4f",(Pozycje(i).Ilosc*Pozycje(i).przelITMasa)
               replace ".", ","   
               delete regular "(0#$)|(,0#$)"
            case IT_ILOSCJU
                  buf = using "%4.4f",(Pozycje(i).Ilosc*Pozycje(i).przelITJU)
                  replace ".", ","   
                  delete regular "(0#$)|(,0#$)"
            case IT_JMJU
                  buf = pozycje(i).JmITJU
         endselect
         kolumna k, buf
      next k
   koniec
endif
dy = str.pozycja(#B)-str.pozycja(#T)
ramka od KolTab1X,#T,nTblWidth1-2,dy-2,2
koniec
x=KolTab1(1)+KolTab1X
for j=2 to j>nkol
   DrawLine at x,#T,0,dy
   x+=KolTab1(j)
next j
iPom=i
EndSub

//---------------------------------------------------------------

if !GRAF then goto Wydruk_Tekstowy

str.wydruk ( 0, -1, -1 )
strona 50,90,50,100
CheckFooterSize()
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" )


pom = (nKod==2) + !bCena + !bWart + !bSWW
if bDostawy then
   KolRam1(1) = 100
   KolRam1(2) = 350 + pom*10
   if !nKod then grow KolRam1,1 : KolRam1(3)= 250 + pom*20
   if bSWW then grow KolRam1,1 : KolRam1(size(KolRam1))= 250 + pom*20
   add ( -1, 250+pom*20, nc, DOSTAWY )
else
   Add ( -1, 100, nc, 0 )
   Add ( -1, 350 + pom*10, nl, 0 )
   if !nKod then   Add ( -1, 250 + pom*20, nl, KOD )
   if bSWW then Add ( -1, 250 + pom*20, nl, SWWKW )
endif

Add ( -1, 150 + pom*30, kr, ILOSC + bDostawy )
Add ( -1, 100 + pom*20, nc, JM )

if bCena then Add ( -1, 200 + pom*20 + 40*(!bZaokr), kr, CENA + bDostawy )
if bWart then   Add ( -1, 220 + pom*20, kr, WART +bDostawy )

if nIT == 0  then   Add(-1,150+pom*30,kr,IT_MASA)
if nIT == 1  then
    Add(-1,150+pom*30,kr,IT_ILOSCJU)
   Add(-1,150+pom*20,nc,IT_JMJU)
endif

nkol=Size(kol)
grow StlTabH,nkol-1

for i=1 to i>nkol
   StlTabH (i) = bc
   nTblWidth1 += KolTab1(i)
next i

for i=1 to i>size(KolRam1)
   KolTab1X+=KolRam1(i)
next i

pom=str.szer
if bDostawy then pom-=KolTab1X
if nTblWidth1 > pom then
   message sMarg : error ""
else
   if bDostawy then
      KolRam1(2) += pom-nTblWidth1
      KolTab1X += pom-nTblWidth1
   else
      KolTab1(2) += pom-nTblWidth1
      nTblWidth1 = pom
   endif
endif

npom = 1+ bWart+((nIT+1)%3)

grow KolTabSum,npom-1
grow StlTabSum,npom-1
npom2=0
for i=npom-1 to i<0 step -1
   KolTabSum(npom-i) = KolTab1(size(KolTab1)-i)
   npom2+=KolTab1(size(KolTab1)-i)
   StltabSum(npom-i) = Stltab1(size(StlTab1)-i)
next i
StltabSum(1) = nc

//początek rysowania
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(60,6,bRamki,0)
      FRAddCol(-34,170,2,bRamki,nGray)
      FRAddCol(-33,170,0,0,0)
      FRAddColRow(55,4,bRamki,0)
      FRAddColRow(-100,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,11,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()
dx = str.szer
nRamek = (bSprzedawca || !nBitmap) + (bOdbiorca && sNabywca) + (bMgKod || bMgNazwa) + ((bDokHandl) && (sKodDokHand || sDataDokHand))
if nRamek > 1 then dx = str.szer/2-5

if nRamek>0 then
   ramka od 0,#B+10,dx,10,bRamki*(nRamek==1)
      WypiszDane()
   koniec
endif

if nRamek > 1 then
   x = str.pozycja(#R)+10
   y = str.pozycja(#T)
   dy = str.pozycja(#B)-str.pozycja(#T)
   ramka od x,y,dx,dy,0
      WypiszDane()
   koniec
   if dy<str.pozycja(#B)-str.pozycja(#T) then dy=str.pozycja(#B)-str.pozycja(#T)
   ramka od 0,#T,dx,dy,bRamki
   koniec
   ramka od x,#T,dx,dy,bRamki
   koniec
endif

if nRamek>2 then
   dx = str.szer
   if nRamek > 3 then dx = str.szer/2-5
   y=str.pozycja(#B)+10
   ramka od 0,y,dx,10,bRamki
      WypiszDane()
   koniec
   if nRamek==4 then
      dy = str.pozycja(#B)-str.pozycja(#T)
      ramka od #R+10,y,dx,dy,bRamki
         WypiszDane()
      koniec
   endif
endif


if bOpis && sOpis then
   Ramka od 0,#B+10,str.szer,10,bRamki
      SetFont ( "tekst" )
      print " " + sOpis
   koniec
endif

if bAnulowano then
   ramka od 0,#Y+10, str.szer,10
      SetFont( CopyFont( "tekst",1,100 ) )
      Align(0)
      print "ANULOWANO"
   koniec
endif

if !bNoPoz then

   Naglowek()

   nTblMarg = 4010
   tbl1 = tabela 1*!bVertLines,nTblMarg,KolTab1,StlTab1
   if nCenaElem>=3 then UstalTypCen(sCenaTab(nCenaElem))
   y2 = str.Pozycja(#Y)
   For i = 1 To i > size( Pozycje )
      if bDostawy then
         iPom2=str.Pozycja(#Y)
         ramka at 0,#Y+10*(i!=1),str.szer,10,0,nOddGray*grayTrigger
            x=KolTab1X
            dy=0
            for jd=1 to jd>dostIdx
               if Dostawy(jd).lp == i then
                  if iPom3==0 then
                     iPom1=str.Pozycja(#Y)
                  endif
                  if iPom3==1 then
                     iPom1=str.Pozycja(#Y)-iPom1
                     iPom3=2
                  endif
                  if iPom3==0 || (iPom3!=0 && (str.Pozycja(#Y)+iPom1+iPom2+44) < str.wys) then
                     PiszPozycje()
                     if iPom3==0 then iPom3=1
                  else
                     PozycjePrzyDostawach(0)
                     strona
                     ramka at 0,#Y+10*(i!=1),str.szer,10,0,nOddGray*grayTrigger
                     x=KolTab1X
                     dy=0
                     iPom2=str.Pozycja(#Y)
                     PiszPozycje()
                  endif
               endif
            next jd
            iPom3=0
            PozycjePrzyDostawach(1)
      else
         x = 0
         ramka at 0,#Y,str.szer,10,0,nOddGray*grayTrigger
            PiszPozycje()
         koniec
      endif
      if bOddGray then grayTrigger = !grayTrigger
   Next i

   if bVertLines && !bDostawy then DrawLine at 0,#B,str.szer,0

nTblMarg = 4010
if bWart || nIt!= 2 then
   tbl0 = tabela 1,nTblMarg,KoltabSum,StltabSum
   y=str.Pozycja(#Y)+10*bDostawy
   i=1
   tabela #tbl0, od str.szer-nPom2,y
      kolumna i,"Suma":i+=1
      if bWart then kolumna i,Kwota(tot_netto) + " ":i+=1
      if nIT==0 then kolumna i,sSumaMasa:i+=1
      if nIT==1 then
         kolumna i,sSumaIloscIT:i+=1
         kolumna i, " - "
      endif
   koniec
   dy=str.Pozycja(#B)-y
   Ramka od str.szer-npom2,y,KolTabSum(1)-1,dy-1,2,nGray
   koniec
   i=1
   tabela #tbl0, od str.szer-nPom2,y
      kolumna i,"Suma":i+=1
         if bWart then kolumna i,Kwota(tot_netto) + " ":i+=1
         if nIT==0 then kolumna i,sSumaMasa:i+=1
         if nIT==1 then
            kolumna i,sSumaIloscIT:i+=1
            kolumna i, " - "
         endif
   koniec
   Ramka od str.szer-nPom2+KolTabSum(1),y,nPom2-KolTabSum(1)-1,dy-1,2,-1
   koniec
    if bWart then
   Ramka od 0, #B+10,str.szer/2,70,1
   SetStyl ( nbl )
     print at 30,10;"Razem: "
      SetFont ( grub )
   print kwota( tot_netto )
   koniec
   Ramka od 0, #B+10,str.szer,70,1
      SetStyl ( nbl )
      print at 30,10;"Słownie: "
      SetFont ( "tekst" )
      print KwotaNaTekst( (using "%.2f",tot_netto), "" )
   koniec
    endif
endif


endif

buf = Arg5 : sPom="sc2"
if find regular "=-(^u$)|(upowa?nienie)" then
   buf="Dokument wystawiony na podstawie pisemnego upoważnienia kupującego"
else
   if !buf then
      buf="imię,nazwisko i podpis osoby upoważnionej do\nodebrania dokumentu"
   else
      buf="Odebrał(a): "+buf : sPom="sc3"
   endif
endif
SetStyl ( sPom )
ramka od (str.szer/2-700)/2,#B+50,700,250,0
   print at #X,#Y+210;buf
koniec
nPom=str.pozycja(#B)-str.pozycja(#T)
buf="imię, nazwisko i podpis osoby upoważnionej do\nwystawienia dokumentu"   : sPom="sc2"
if Arg4 then buf="Wystawił(a): "+Arg4 : sPom="sc3"
SetStyl ( sPom )
ramka od str.szer/2+(str.szer/2-700)/2,#T,700,250,0
   print at #X,#Y+210;buf
koniec
if str.pozycja(#B)-str.pozycja(#T)>nPom then nPom = str.pozycja(#B)-str.pozycja(#T)
ramka od (str.szer/2-700)/2,#T,700,nPom,bRamki,-1
koniec
ramka od str.szer/2+(str.szer/2-700)/2,#T,700,nPom,bRamki,-1
koniec

if bNotat && sNotatka then
   print "\n\n"
   ramka od 0, #y+20, str.szer, 10, bRamki
      SetStyl(nl)
      print sNotatka
   koniec
endif

if bNotatRodz && sNotatkaRodz then
   print "\n\n"
   ramka od 0, #y+20, str.szer, 10, bRamki
      SetStyl(nl)
      print sNotatkaRodz
   koniec
endif

if arg6 != "" then
   ramka od 0, #y+20, str.szer, 250
      SetFont ( "tekst" ) : Align(-1)
     print "\n\n"
      print arg6
   koniec
endif

Dekretacje()

close
Footer(1)
end

// --- wydruk tekstowy ---
Wydruk_Tekstowy:
#include"Wydanie z magazynu - tryb tekstowy"
//#include"Wydanie z magazynu - tryb tekstowy"
FooterTxt(1)

Autor:  krzysiek [ 2009-11-18, 21:27 ]
Tytuł: 

Jak masz HMP/HMF 2010 to dokumenty magazynowe możesz drukować przez formatki RTF, zdecydowanie prościej sie to przerabia bo robisz kopie rtf'a itd. na pewno na forum jest to gdzieś opisane a potem zmieniasz tylko opisy na angielskie czy jakie tam chcesz. Generalnie do drukowania wystarcza potem tylko wordviewer, tak więc nawet na stanowiskach bez pełnego WORD/Office można generować takie wydruki.

Chyba, że ambitnie chcesz modyfikować raporty wewnętrzne to byrusia dał/a Ci wystarczające wskazówki. Skopiowanie/przemianowanie raportów a potem użycie szukaj/znajdz/zamień powinno wystarczyć do całej pracy :)

I nie wklejaj całych raportów bo potem człowiek "pół dnia" spędza przewijając temat. Od tego są załączniki.

Autor:  Magic [ 2009-11-18, 23:10 ]
Tytuł: 

udało mi sie zmienic prawie wszystko nie moge dojsc jak zmienić nazwe dokumentu date wystawienia tego wszystkiego co znajduje sie ponad sprzedawca i kupujacym
Pomozecie mi
Nie wiem jak to zrobić

Autor:  byrusia [ 2009-11-18, 23:25 ]
Tytuł: 

nazwe nadajesz w ustawieniach dokumentu

a reszte w ktoryms includzie
mozliwe ze w #include "Dokumenty magazynowe - ramki"

Autor:  Magic [ 2009-11-19, 00:06 ]
Tytuł: 

ok juz zrobiłem został mi tylko jeden temat jak pisze zamiast adres - address to zawija mi go do nastepnego wiersza gdzie sie ustawia ilosc liter w danym wierszu i czy tak sie to robi ?
w danych sprzedawcy mam:

add 01-466 Warszawa ul . postepu 2
rres:

Autor:  wrob [ 2009-11-19, 00:38 ]
Tytuł: 

Pogrzeb w rozmiarach ramki/tabeli w ktorej to drukujesz - albo zmniejsz czcionke :)

Autor:  rafal [ 2009-11-19, 10:52 ]
Tytuł: 

Szerokośc kolumny określana jest poleceniem
Kod:
nPom = TextWidth("Telefon:")+10

Zwieksz tą wartość do np:
Kod:
nPom = TextWidth("Telefon:")+50


Tak samo dla dostawcy i dla odbiorcy

Autor:  Magic [ 2009-11-21, 15:52 ]
Tytuł: 

ok zrobione jak ktos potrzebuje taki raport moge go przesłać na miala

Autor:  zz [ 2010-06-01, 12:50 ]
Tytuł: 

To może wklej raport w tym wątku.

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/