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

Zmiana rodzaju dokumentu z AmBasic
https://forum.mix-soft.pl/viewtopic.php?f=15&t=5147
Strona 1 z 1

Autor:  user_Sam [ 2013-09-11, 14:31 ]
Tytuł:  Zmiana rodzaju dokumentu z AmBasic

Witam

Chciałbym zmienić rodzaj dokumentu sprzedaży po uprzednim sprawdzeniu użytkownika (użytkownik > odpowiadający mu rodzaj). Nie bardzo wiem jak się do tego zabrać. Jestem początkujący więc każda sugestia będzie mile widziana :)

Pozdrawiam

Autor:  rafal [ 2013-09-12, 16:38 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Czy dobrze rozumiem, że chciałbyś dać konkretnemu użytkownikowi możliwość wystawiania tylko konkretnego rodzaju dokumentu (np:. użytkownik Admin -> FVS, użytkownik AM -> FVS1 itd...) ?

Autor:  user_Sam [ 2013-09-13, 08:38 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Dokładnie tak, efektem miało by być nadanie odpowiednich parametrów (rodzaju, katalogu) po kliknięciu "Nowy dokument". Bez konieczności podświetlania się na odpowiednim rodzaju sprzedaży.

Autor:  rafal [ 2013-09-13, 16:51 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Proponuję zrobić to po wystawieniu dokumentu

Kod:
int Sub OnAfterInsert(long lId)

baseDK dk
dk.GetRecById( lId )
   
baseXT xt

// Przypisujemy dokument do rodzaju o nazwie jak zalogowany użytkownik

xt.SetKey("super")
xt.SetKeySeg("super", 3300)
xt.SetKeySeg("kod", CurrentUser() )

if !xt.GetRec( EQ ) then
   
   dk.SetField("rodzaj", xt.GetField("id") )
   dk.DoUpdate()

endif

Autor:  bongos [ 2013-09-16, 13:21 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Hej,

Rafał chyba miałeś na myśli OnAddNewDokument?
:-)

Autor:  rafal [ 2013-09-16, 13:51 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Skrypt przypisuje dokument do odpowiedniego rodzaju po wystawieniu dokumentu.
Dlatego użyłem bazy dokumentów DK.
Oczywiście można też tak jak proponujesz OnAddNewDokument() tylko wtedy należy użyć bazy BD.

Autor:  user_Sam [ 2013-09-19, 08:50 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Wielkie dzięki :)
Zrobiłem to na onAddNewDokument(), i bazie bufora. Mam tylko jeszcze mały problem z serią dokumentu, o ile typ_dk, rodzaj i schemat zmieniam bez problemu to seria pozostaje nieaktywna. Czy zmiana serii w ten sposób wymaga jeszcze czegoś?

Kod:
bd.SetField ("seria", "sFVSh")
bd.DoUpdate()

Autor:  rafal [ 2013-09-19, 10:54 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Ustaw na sztywno we wszystkich rodzajach typ dokumentu np:. na FVS i wtedy będziesz mógł w OnAddNewDokument() zmienić serię w sposób jaki podałeś.

Autor:  user_Sam [ 2013-09-19, 11:24 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Rzeczywiście, działa... problem w tym że nie mogę mieć ustawionego typu dokumentu i serii takiego samego dla wszystkich rodzajów sprzedaży

Autor:  rafal [ 2013-09-19, 11:37 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Nie musi być taki sam. Poprostu musi być ustawiony.

Autor:  user_Sam [ 2013-09-19, 12:20 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

I tu pojawia się problem, ponieważ jeśli przypadkowo zaznaczony jest inny rodzaj (a po kliknięciu kartoteki sprzedaży zaznaczony jest domyślny: "Dokumenty sprzedaży") to skrypcik nadaje rodzaj dokumentu i serię ale już numer dokumentu jest taki jak w ustawieniach na sztywno w rodzaju aktualnie podświetlonym. Czy istnieje jakaś metoda która wstawia numer kolejny, w wybranej serii?

Autor:  rafal [ 2013-09-19, 13:13 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Polecenie CreateSerialNumber.

Autor:  rafal [ 2013-09-20, 11:20 ]
Tytuł:  Re: Zmiana rodzaju dokumentu z AmBasic

Poniżej rozwiązanie, które może się przydać. Za jego pomocą można między innymi w prosty sposób określić początkowe ustawienia wystawianego dokumentu.

Dodatkowo (a może przede wszystkim) ogranicza listę wyświetlanych typów dokumentów dla użytkownika.
Może być pomocne dla firm z oddziałami i dużą ilością typów dokumentów.

W pierwszej kolejności ustawiamy wszystkie typy dokumentów na nieaktywne

Załącznik:
hmprawadok01.jpg
hmprawadok01.jpg [ 85.57 KiB | Przeglądany 5447 razy ]


W efekcie po wybraniu Nowy Dokument w kartotece dokumentów sprzedaży widzimy pustą listę Typ dokumentu

Załącznik:
hmprawadok02.jpg
hmprawadok02.jpg [ 96.54 KiB | Przeglądany 5447 razy ]


Załączony raport umieszczamy w Raporty -> Kartoteki -> Raporty z menu

Na początku raportu określamy który użytkownik ma prawo widzieć jaki typ dokumentu

Kod:
// Ustawienie praw uzytkownikow do typow dokumentow
mvPrawaDok.Set("Admin","|FVS|PAR|")
mvPrawaDok.Set("DD","|PAR|")


Teraz musimy przyzwyczaić użytkowników, żeby nowy dokument tworzyli z prawego klawisza myszy w Kartotece dokumentów sprzedaży.

Załącznik:
hmprawadok03.jpg
hmprawadok03.jpg [ 148.79 KiB | Przeglądany 5447 razy ]


Lista dostępnych typów dla użytkownika

Załącznik:
hmprawadok04.jpg
hmprawadok04.jpg [ 34.97 KiB | Przeglądany 5447 razy ]


I tu jest dla Ciebie możliwość określenia dokładnych parametrów nowego dokumentu.

Kod:
            io.SetField("typ_dokumentu", dRow.Value(COL_dg_SKROT))   
            //io.SetField("seria", "sFVs")   
            //io.SetField("rodzaj", "")
            //io.SetField("katalog", "")


Pokaże nam się nowy dokument o wybranym typie.

Załącznik:
hmprawadok05.jpg
hmprawadok05.jpg [ 95.68 KiB | Przeglądany 5447 razy ]



Załącznik:
Komentarz: Raport
raport.zip [1.59 KiB]
Pobrany 271 razy

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