mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
eStatus, ustawiać czy nie, oto jest pytanie https://forum.mix-soft.pl/viewtopic.php?f=15&t=5252 |
Strona 1 z 1 |
Autor: | qres [ 2013-10-24, 15:22 ] |
Tytuł: | 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 ? |
Autor: | wrob [ 2013-10-24, 19:46 ] |
Tytuł: | 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 |
Autor: | qres [ 2013-10-25, 10:15 ] |
Tytuł: | 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 "" |
Autor: | wrob [ 2013-10-26, 03:52 ] |
Tytuł: | 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 :) |
Autor: | aja [ 2014-01-07, 20:35 ] |
Tytuł: | Re: eStatus, ustawiać czy nie, oto jest pytanie |
Cytuj: Wskarz |
Autor: | rafal [ 2014-01-08, 09:10 ] |
Tytuł: | 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. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |