Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-04-27, 16:36x



Odpowiedz w temacie  [ Posty: 10 ] 
NOTATKA co zrobić 
Autor Wiadomość

Rejestracja: 2008-12-14, 15:01
Posty: 56
Post NOTATKA co zrobić
Co mam dopisać w raporcie "wydruk etykiet do dokumentu",żeby opócz opisu dokumentu, numeru, datyi wartości, pojawiła się także notatka .


2008-12-16, 21:46
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post 
Raporty → Kartoteki → Sprzedaż → Wydruk nalepek dla dokumentów

ZNAJDŹ :
Kod:
#include "Wydruki - include"


POD TYM WPISZ :
Kod:
limit 8000
int bNotka


ZNAJDŹ :
Kod:
int iRazy =   Val(   GetIni( sSekcja, "Ilosc powtorzen") )


POD TYM WPISZ :
Kod:
int iNotka =   Val(   GetIni( sSekcja, "Notatka") )


ZNAJDŹ :
Kod:
Group "Informacje dodatkowe",240,50,165,80


ZMIEŃ :
Kod:
Group "Informacje dodatkowe",240,50,165,100


ZNAJDŹ :
Kod:
ChkBox "Wartość",bWartosc,250,105,150,20


POD TYM WPISZ :
Kod:
ChkBox "Notatka",bWartosc,250,125,150,20


ZNAJDŹ :
Kod:
PutIni ( sSekcja, "Ilosc powtorzen", using "%d", iRazy )


POD TYM WPISZ :
Kod:
PutIni ( sSekcja, "Notatka", using "%d", bNotka )


ZNAJDŹ :
Kod:
int err = SetTaggedPos(FS)


POD TYM WPISZ :
Kod:
BaseNT nt


ZNAJDŹ :
Kod:
if GetRec( dk,EQ ) then Error "Błąd wewnętrzny programu"
fKurs = GetField(dk,"kurs")


POD TYM WPISZ :
Kod:
nt.setkey("super")
nt.setkeyseg("typi",0)
nt.setkeyseg("baza",16)
nt.setkeyseg("super",id)
nt.getrec(EQ)


ZNAJDŹ :
Kod:
         if bWartosc && Poprawnie then
            buf = "zł."
            if GetField(dk,"waluta") then buf = GetField(dk,"waluta")
            Poprawnie = AddString( "wart.: "+Kwota( (GetField(dk,"netto") + GetField(dk,"vat")) / fKurs)+" "+buf, italic, ih)
         endif


POD TYM WPISZ :
Kod:
if bNotka then AddString( nt.GetField("opis"), italic, ih)


[center]Obrazek [/center]

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2008-12-17, 05:21
Wyświetl profil

Rejestracja: 2008-12-14, 15:01
Posty: 56
Post 
Chyba coś nie tak z poleceniem:

ChkBox "Notatka",bWartosc,250,125,150,20

bo czy zaznaczę "wartość" czy nie, to każdorazowo mi pokazuje.
Natomiast NOTATKI nie ma.


2008-12-17, 17:18
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post 
poprawka

ZNAJDŹ :
Kod:
ChkBox "Wartość",bWartosc,250,105,150,20


POD TYM WPISZ :
Kod:
ChkBox "Notatka",bNotka,250,125,150,20

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2008-12-17, 19:03
Wyświetl profil

Rejestracja: 2008-12-14, 15:01
Posty: 56
Post 
Po tej poprawce wyskoczył komunikat
"Wystąpił problem z aplikacją Symf. Handel Premium"


2008-12-17, 19:49
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post 
Raport jest niewielki więc postanowiłem zamieścić go tu w całości z w/w zmianami.
Raport pochodzi z programu Symfonia Handel PREMIUM 2009.

Kod:
//"nalepkid.sc","Wydruk nalepek dla dokumentów",12301,0,1.0.0,SYSTEM
//"Sprzedaż ",12002,14,16
/////////////////////////////
// Wydruk nalepek dla dokumentów
/////////////////////////////
#include "Wydruki - include"

limit 8000
int bNotka

int GRAF = !Val ( Arg0 )
str.wydruk ( !GRAF, -1, -1 )

#define OK 2
#define ANULUJ -1

int Poprawnie, max, k
string sPom
string sBledy(1)
string stri(1)
int fon(1)
int count
float fKurs
long id
int dk

if SetTaggedPos(FS) then
   if GetLineId() > 65535 then
      dk = Open KatalogFirmy()+"51dk.dat" For base "DK"
      BaseError ( dk,4 )
   else
      dk = Open KatalogFirmy()+"51bd.dat" For base "BD"
      BaseError ( dk,4 )
   endif
endif

int sub IsDigit()
   if buf && !find regular "[~0-9]" then IsDigit = 1
endsub

string sSekcja = GetReportName()
string sCol = GetIni ( sSekcja, "Ilosc kolumn" )
string sRow = GetIni ( sSekcja, "Ilosc wierszy" )
string sLeft = GetIni ( sSekcja, "Lewy margines" )
string sRight = GetIni ( sSekcja, "Prawy margines" )
string sTop = GetIni ( sSekcja, "Gorny margines" )
string sBottom = GetIni ( sSekcja, "Dolny margines" )
int bSiatka = Val( GetIni ( sSekcja, "Siatka" ) )
int bNumer = Val(GetIni( sSekcja, "Numer") )
int bData = Val(GetIni( sSekcja, "Data") )
int bWartosc = Val(GetIni( sSekcja, "Wartosc") )
int bPokaz =   Val(   GetIni( sSekcja, "Nie pokazuj dialogu") )
int iRazy =   Val(   GetIni( sSekcja, "Ilosc powtorzen") )
int iNotka =   Val(   GetIni( sSekcja, "Notatka") )

if !sCol then sCol = "5"
if !sRow then sRow = "10"
if !sLeft then sLeft = "0"
if !sRight then sRight = "0"
if !sTop then sTop = "0"
if !sBottom then sBottom = "0"
if !iRazy then iRazy = 1

int rv

bPokaz = !Val ( Arg7 )

if !bPokaz then

   Form "Drukowanie nalepek",415,250

      Group "Nalepki",5,5,400,40
      Edit "Ilość powtórzeń nalepki",iRazy,180,20,25,20,IsDigit()
      ChkBox "Rysuj siatkę",bSiatka,250,20,150,20

      Group "Układ strony",5,50,220,40
      Edit "Ilość kolumn",sCol,80,65,25,20,IsDigit()
      Edit "Ilość wierszy",sRow,180,65,25,20,IsDigit()

      Group "Marginesy",5,95,220,65
      Edit "Lewy",sLeft,80,110,25,20,IsDigit()
      Edit "Prawy",sRight,180,110,25,20,IsDigit()
      Edit "Górny",sTop,80,135,25,20,IsDigit()
      Edit "Dolny",sBottom,180,135,25,20,IsDigit()

      //Group "Informacje dodatkowe",240,50,165,80
      Group "Informacje dodatkowe",240,50,165,100
      ChkBox "Numer dokumentu",bNumer,250,65,150,20
      ChkBox "Data wystawienia",bData,250,85,150,20
      //ChkBox "Wartość",bWartosc,250,105,150,20
      ChkBox "Wartość",bWartosc,250,105,150,20
      ChkBox "Notatka",bWartosc,250,125,150,20

      ChkBox "Nie pokazuj tego okna ponownie",bPokaz,20,185,200,20

      Button "&OK",220,180,80,25,OK
      Button "&Anuluj",310,180,80,25,ANULUJ
   rv = ExecForm
   if (rv==ANULUJ)||(!rv) then Error ""

   PutIni ( sSekcja, "Ilosc kolumn", sCol )

   PutIni ( sSekcja, "Ilosc wierszy", sRow )
   PutIni ( sSekcja, "Lewy margines", sLeft )
   PutIni ( sSekcja, "Prawy margines", sRight )
   PutIni ( sSekcja, "Gorny margines", sTop )
   PutIni ( sSekcja, "Dolny margines", sBottom )
   PutIni ( sSekcja, "Siatka", using "%d", bSiatka )

   PutIni ( sSekcja, "Numer", using "%d", bNumer )
   PutIni ( sSekcja, "Data", using "%d", bData )
   PutIni ( sSekcja, "Wartosc", using "%d", bWartosc )
   PutIni ( sSekcja, "Nie pokazuj dialogu", using "%d", bPokaz )
   PutIni ( sSekcja, "Ilosc powtorzen", using "%d", iRazy )
   PutIni ( sSekcja, "Notatka", using "%d", bNotka )

endif

strona Val( sLeft ),val ( sTop ),val ( sRight ),val ( sBottom )

int tekst, bold, italic
int TxtHt, y, i, j, nLine
int nCol = Val( sCol ), nRow = Val( sRow )
int KolTab(nCol), StlTab(nCol), KolTab2(1), StlTab2(1)

if GRAF then
   bold = CopyFont ( "tekst",1 )
   tekst = CopyFont ( "tekst", -1 )
   italic = CopyFont ( "tekst", 2)
else
   italic = bold = tekst = CopyFont ( "12cpi", -1 )
endif
int bc = styl ( bold, 0 )
int tn = styl (tekst, 0)
int bh = TextHeight ( "X",bold )
int th = TextHeight ( "X",tekst )
int ih = TextHeight ( "X",italic )

For i = 1 To i > nCol
   KolTab(i) = str.szer/nCol
   StlTab(i) = bc
Next i

string sub CreateString( string s )
   String temp, temp2
   int pos
   nLine = 0
   while s
      nLine += 1
      pos = BreakLine (str.szer/nCol-40, 0, 1, s )
      trace(using "%dn",pos)
      temp2 = mid ( s, 1, pos )+lf
      CreateString += temp2
      temp = s
      s = mid ( s, pos+1 )
      If temp == s || str.szer/nCol < Textwidth(temp2) then CreateString = "BŁĄD" : exit
   wend
endsub

int tbl = tabela bSiatka*(!GRAF * 5 + GRAF),20,KolTab,StlTab

int sub AddString( string txt, int stl , int height)
   SetFont(stl)
   count+=1
   if count > size(stri) then grow stri,1 : grow fon,1
   stri(count) = CreateString ( txt )
   If stri(count) == "BŁĄD" then
      sBledy( size(sBledy) ) = GetField(dk,"kod")
      grow sBledy, 1
      AddString = 0
   else
      AddString = 1
   endif
   fon(count) = stl
   TxtHt += (height * nLine)
endsub


int err = SetTaggedPos(FS)

BaseNT nt

while err

   tabela #tbl

      i = 1
      while err && ( i <= nCol )

         id = GetLineId()
         SetKey ( dk,"id" )
         SetKeySeg( dk,"id",id )
         if GetRec( dk,EQ ) then Error "Błąd wewnętrzny programu"
         fKurs = GetField(dk,"kurs")

nt.setkey("super")
nt.setkeyseg("typi",0)
nt.setkeyseg("baza",16)
nt.setkeyseg("super",id)
nt.getrec(EQ)


//         s1 = GetField( dk,"khnazwa" )
//         s2 = GetField( dk,"khadres" )
//         s3 = GetField( dk,"khkodpocz" )+" "+GetField( dk,"khmiasto" )

         shrink stri, -1
         shrink fon, -1
         count = 0
         TxtHt=0
         Poprawnie = AddString( GetField(dk, "khnazwa"), bold, bh )
         if Poprawnie then Poprawnie = AddString( BuildAdresKh(dk), tekst, th )
         if Poprawnie then Poprawnie = AddString( GetField( dk,"khkodpocz" )+" "+GetField( dk,"khmiasto" ), tekst, th )
         if bNumer && Poprawnie then Poprawnie = AddString( "nr dok.: "+GetField(dk,"kod"), italic, ih)
         if bData && Poprawnie then Poprawnie = AddString( "data: "+GetField(dk,"data"), italic, ih)
         if bWartosc && Poprawnie then
            buf = "zł."
            if GetField(dk,"waluta") then buf = GetField(dk,"waluta")
            Poprawnie = AddString( "wart.: "+Kwota( (GetField(dk,"netto") + GetField(dk,"vat")) / fKurs)+" "+buf, italic, ih)
         endif

         if bNotka then AddString( nt.GetField("opis"), italic, ih)

         y = (str.wys/nRow-TxtHt-10)/2

         for k = 1 to k > iRazy
            if ( i > nCol ) then  : koniec : tabela #tbl :    i =1
            kolumna i
            if Poprawnie then
               SetFont ( fon(1) )
               print at #X,y;stri(1)
               for j=2 to j>size(stri)
                  SetFont ( fon(j) )
                  print stri(j)
               next j
               if TxtHt<(str.wys/nRow-15) then print at #X,#Y+y-th;" "
               i += 1   
            endif
         next k
         err = SetTaggedPos(NX)
      wend
   koniec
wend

If size(sBledy) > 1 Then
   setfont(bold)
   Print LF+ "UWAGA"
   setfont(tekst)
   Print "\tNie zmieściły się dane na nalepekach dla dokumentów o numerach:" +LF+LF
   i = 1
   While i <= size(sBledy)
      if max < Textwidth(sBledy(i)) then max = Textwidth(sBledy(i))
      i += 1
   Wend
   max += 40
   if size(KolTab2) < str.szer/max then grow KolTab2, (str.szer/max)-1 : grow StlTab2, (str.szer/max)-1
   For i = 1 To i > str.szer/max
      KolTab2(i) = max
      StlTab2(i) = tn
   Next i

   tbl = tabela 0,0,KolTab2,StlTab2

   tabela #tbl
   k = 1
   while k < size(sBledy)
      i = 1
      while k < size(sBledy) && i <= str.szer/max
         kolumna i, sBledy(k)+LF
            k += 1
            i += 1   
      wend
   wend
   koniec
EndIf

close

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2008-12-17, 20:12
Wyświetl profil

Rejestracja: 2008-12-14, 15:01
Posty: 56
Post 
U mnie to nadal nie działa. Notatki nie ma a wartość wyskakuje czy chcę czy nie

Mam HP 2007


2008-12-17, 21:00
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post 
generalnie tędy droga.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2008-12-17, 21:05
Wyświetl profil

Rejestracja: 2008-12-14, 15:01
Posty: 56
Post 
Jeszcze raz to wszystko prześledzę.
Tymczasem wielkie dzięki Rafale, za wskazówki.


2008-12-17, 22:04
Wyświetl profil

Rejestracja: 2008-03-12, 15:45
Posty: 71
Pomógł: 1
Post 
Odkopuję staroć, jednak mam właśnie z pobraniem opisu z NT problem. Chodzi o pobranie długich nazw pozycji dokumentu, kod:

Kod:
   
NT.SetKey("super")
NT.SetKeySeg("typi",0)
NT.SetKeySeg("baza",18)
NT.SetKeySeg("super",dpid)
errNT=NT.getrec(EQ)
if errNT==0 then
   message "jest"
   opis=NT.GetField("opis")
else
   message using "nie ma, błąd %d", errnt
   opis=DP.GetField("opis")
endif


albo nie znajduje rekordu, albo ustawia się na przypadkowym..
podobnie kiedy korzystam z klucza id po idlongname z dp
co jest nie tak? z góry dzięki za podpowiedź...


edit:

odpowiedź:
NT.SetKeySeg("typi",16)
;)


2011-05-11, 12:56
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 10 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. notatka

w Programowanie

supersebek

4

3164

2013-06-14, 09:59

supersebek Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Notatka kontrahenta na WZ

w Programowanie

lechuedat

5

3780

2009-02-03, 18:06

lechuedat Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Handel 2.0 notatka

w Programy Handlowe

anna84

0

2487

2019-04-24, 18:23

anna84 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Dokument sprzedaży - notatka

w Programowanie

borgrapid

2

2909

2016-10-23, 22:25

borgrapid Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 36 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

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant