|
|
Strona 1 z 1
|
[ Posty: 6 ] |
|
eStatus, ustawiać czy nie, oto jest pytanie
Autor |
Wiadomość |
qres
Rejestracja: 2010-03-30, 11:53 Posty: 23 Pomógł: 2
|
eStatus, ustawiać czy nie, oto jest pytanie
Finanse i księgowość 2013.d Witam ponownie
Wprawdzie Sage oferuje aplikację zarządzającą e-dokumentami , ale w naszym przypadku (biuro rachunkowe) tak rozbudowana funkcjonalność nie jest potrzebna, tak więc popełniłem raport umożliwiający przypisanie i podgląd e-doków(tak naprawdę to zwykłych PDF'ów) do dokumentu księgowego. Naturalnym wydawałoby się ustawić pole eStatus np. na 1 , mówiący o tym że tam jest "podczepiony" e-dokument, wtedy na liście pojawia się stosowny piktogram. Proszę o opinie, czy pole eStatus w bazach dokumentów można bezpiecznie wykorzystać dla własnych celów ?
|
2013-10-24, 15:22 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
wrob
Ekspert
Rejestracja: 2008-04-18, 18:52 Posty: 5169 Pomógł: 59
|
Re: eStatus, ustawiać czy nie, oto jest pytanie
Taki raport do podpinania obrazków do dokumentów to juz od lat istnieje i jest nawet darmowy z tego co pamietam - prosze opisz tez dokładniej ten twoj - moze np ma jakies nowe fajne pomysly itp - z checie sie zapoznam :)
Ale jak najbardziej możesz sobie ozywać tego pola - poza e dokumentami nie jest ono używane
|
2013-10-24, 19:46 |
|
|
qres
Rejestracja: 2010-03-30, 11:53 Posty: 23 Pomógł: 2
|
Re: eStatus, ustawiać czy nie, oto jest pytanie
Nie trafił mi się taki raport wcześniej, no i prawdopodobnie otwierałem zamknięte drzwi ale ile z tym było zabawy , no i pod "prawoklikiem" mam to co chciałem trudno nazwać to praca twórczą , raczej odtwórczą, posiłkowałem się gotowymi przykładami, fragmentami raportów dostępnymi w aplikacji oraz sugestiami i przykładami publikowanymi na Tym forum :) raport zawiera jedynie niezbędne elementy brak w nim np. wstępnej konfiguracji oraz usuwania e-dok, ale to z czasem Będzie potrzebny jeszcze raport analizujący powiązania e-doków z dokumentami księgowymi i usuwający nieprzypisane e-doki. Nie potrafię również odświeżyć Listy Dokumentów aby wyświetlił natychmiast ikonkę dokumentu po aktualizacji pola eStatus. poniżej kod który wypociłem Kod: #include "dbutil.sci" #include "fkutil.sci" #include "wrap.sci"
// zakładam istnienie pliku my-edok.ini w moim przypadku o zawartości: // [katalogi] // KatalogDanych = w:\\edoktest\\ // gdzie KatalogDanych to lokalizacja docelowa plików z pdf'ami
// trochę o strukturze katalogu z dokumentami // ..KatalogDanych // ..nipObsługiwanejFirmy // ..rok // ..nipKontrahenta lub // ..typ dokumentu nie związanego z konkretnym kontrahentem np WB(wyciąg bankowy)
dispatch ws = "WScript.Shell" dispatch fplik = "Scripting.FileSystemObject"
long idZlisty, ZrodloDb long i = 1, NumerKontr = 0 string szukanyPlik , NipFirmy= Firma.Nip , PodKatal, polecenie string sPath string katEdok int errDo
katEdok = GetIni("katalogi","KatalogDanych",Katalog()+"\\my-edok.ini")
string sub FormatEw(string a_ew) buf = a_ew while replace " ", "_" wend while replace "/", "_" wend while replace "\\", "_" wend FormatEw = buf endsub
string sub FormatNip(string e_ew) buf = e_ew while replace "-", "" wend FormatNip = buf endsub
int sub przegladajPlik() sPath = FileDlg (1, "Dokumenty Acrobat | *.PDF" ) przegladajPlik = 1 endsub
// określamy bazę dokumentów (bufor czy księgi) // nie znalazłem zmiennej, funkcji , czy metody która pozwoliłaby określić // z której bazy korzysta "grid" Lista Dokumentów // z tąd poniższy sekwencja identyfikująca na podstawie 1 indeksu userObject // zmienna ZrodloDb określa gdzie jesteśmy 0- księgi, 1- bufor // nie wiem czy to dobry pomysł aby grzebać w księgach ale....
#define XROWSDATA userObject idZlisty = XROWSDATA.item( 1 ).id
BASEHANDLE bD,bDo
bD = dbOpenDokBase( indeksRoku(), 1, 0 ) // bufor bDo = bD
SetKey( bDo, "id" ) SetKeySeg( bDo, "id", XROWSDATA.item( 1 ).id ) errDo = GetRec( bDo, EQ )
if dbNrEwToStr_Dok(bDo)==XROWSDATA.item( 1 ).numer Then ZrodloDb = 1 else ZrodloDb = 0 endif
// po okrewśleniu żródła danych "skaczemy" do rekordu o ID wskazanego w parametrze Arg0 // Arg0 zawiera id dokumentu wskazanego prawoklikiem (funkcjonalnosć dostępna jedynie gdy // jestesmy "na" Liście Dokumentów, i nie wiadomo czy\kiedy "zniknie")
if ZrodloDb == 0 then DbClose(bD) bD = dbOpenDokBase( indeksRoku(), ZrodloDb, 0 ) bDo = bD endif
SetKey( bDo, "id" ) SetKeySeg( bDo, "id", val(Arg0) ) errDo = GetRec( bDo, EQ )
long Did = GetField( bDo, "id") string Dskrot = GetField( bDo, "skrot") long Dnumer = GetField( bDo, "numer") string DnumerEw = dbNrEwToStr_Dok(bDo) string Dnazwa = GetField( bDo, "nazwa") string Dtresc = GetField( bDo, "tresc") long DnrKontrah = GetField( bDo, "kontrahent") string DdataDok = GetField( bDo, "datadok") string DdataWpr = GetField( bDo, "datawpr") string DdataOper = GetField( bDo, "dataoper") long Dkwota = GetField( bDo, "kwota") string Dnip = GetField( bDo, "nip") int DeStatus = GetField( bDo, "eStatus") DbClose(bD)
DnumerEw = formatEw(DnumerEw) Dnip = FormatNip(Dnip) NipFirmy = FormatNip(NipFirmy) if Dnrkontrah == 0 Then PodKatal = Dskrot else PodKatal = Dnip endif szukanyPlik = katEdok+NipFirmy+ "\\" + NazwaRoku() + "\\"+PodKatal+"\\"+DnumerEw+".PDF"
if (fplik.FileExists(szukanyPlik)) Then // jeśli pdf istnieje wyświetlamy go za pomocą Acrobat Rader i zamykamy raport polecenie = "AcroRd32.exe "+szukanyPlik ws.Run(polecenie,1,0) close : error ""
else if !(fplik.FolderExists(katEdok)) Then fplik.CreateFolder(katEdok) endif
if !(fplik.FolderExists(katEdok+NipFirmy)) Then fplik.CreateFolder(katEdok+NipFirmy) endif if !(fplik.FolderExists(katEdok+NipFirmy+"\\" + NazwaRoku())) Then fplik.CreateFolder(katEdok+NipFirmy+"\\" + NazwaRoku()) endif if !(fplik.FolderExists(katEdok+NipFirmy+"\\" + NazwaRoku()+ "\\"+PodKatal)) Then fplik.CreateFolder(katEdok+NipFirmy+"\\" + NazwaRoku()+ "\\"+PodKatal) endif
endif
Form "Wskarz dokument PDF", 400, 110 Medit "", sPath, 10, 10, 300, 40 button "Szukaj", 320, 10, 60, 22, przegladajPlik() Button "&OK", 20, 60, 80, 22, 2 Button "&Anuluj", 300, 60, 80, 22, -1 int rv = execform
if rv == 2 & len(sPath)>0 Then fplik.CopyFile(sPath,szukanyPlik) If ( Message "Czy skasować plik żródłowy ? DefBtn: &Tak=1 Btn: &Nie=2 Ico:?") == 1 Then fplik.DeleteFile(sPath) endif
bD = dbOpenDokBase( indeksRoku(), ZrodloDb, 0 ) bDo = bD SetKey( bDo, "id" ) SetKeySeg( bDo, "id", val(Arg0) ) errDo = GetRec( bDo, EQ ) SetField (bDo, "eStatus", 2) PutRec (bDo) DbClose(bD) endif
close : error ""
|
2013-10-25, 10:15 |
|
|
wrob
Ekspert
Rejestracja: 2008-04-18, 18:52 Posty: 5169 Pomógł: 59
|
Re: eStatus, ustawiać czy nie, oto jest pytanie
Fajnie to zrobiles :)- odezwij sie do mnie na priv to ci poszukam w wolnej chwili ten stary drugi raporcik :)
|
2013-10-26, 03:52 |
|
|
aja
Rejestracja: 2008-10-28, 13:24 Posty: 14
|
Re: eStatus, ustawiać czy nie, oto jest pytanie
raczej wskaż
|
2014-01-07, 20:35 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: eStatus, ustawiać czy nie, oto jest pytanie
qres pisze: [...] Nie potrafię również odświeżyć Listy Dokumentów aby wyświetlił natychmiast ikonkę dokumentu po aktualizacji pola eStatus[...] Poczytaj na forum o LOG_BASE Jeżeli nie używasz eDokumentów to nie bałbym się używać pola estatus.
|
2014-01-08, 09:10 |
|
|
|
Strona 1 z 1
|
[ Posty: 6 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 9 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
|
|
|
|