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

Okno wyboru rodzaju dokumentu zakupu - HANDEL
https://forum.mix-soft.pl/viewtopic.php?f=15&t=5263
Strona 1 z 1

Autor:  grabber [ 2013-10-29, 14:37 ]
Tytuł:  Okno wyboru rodzaju dokumentu zakupu - HANDEL

Witam,
powolnymi krokami uczę się AMBasic (i coraz bardziej mam ochotę wybrać się do muzeum z dinozaurami ;)
Chciałem prosić kolegów o wytłumaczenie zawartości składni roportów dla :
Raporty >> Procedury >> ...
Chodzi dokładnie oto co oznaczaja np. OnAddNewDokument = 0 w procedurze:
int Sub OnAddNewDokument(long lId)
OnAddNewDokument = 0
EndSub
Rozumiem oczywiście że dana procedura wykona się w momencie próby stworzenia nowego dokumentu...
Proszę jednak o informacje na temat jak można w tej procedurze konfigurować/definiować nowo tworzony dokument...

Z góry dziękuje za pomoc...

Autor:  rafal [ 2013-10-29, 23:00 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Napisz konkretnie co chcesz zrobić.

Autor:  grabber [ 2013-10-30, 00:01 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Przykładowo:
1. Użytkownik klika na "Nowy dokument" w kartotece zakupy.
2. Przed pojawieniem się docelowego okna nowego dokumentu,
zostaje wyświetlone okno dialogowe z możliwym wyborem np. "rodzajem zakupu" - surowiec, koszt itp... (wybór z combobox'a)
3. W zależności od wyboru jakiego się dokona, nowy dokument który normalnie się pojawia
będzie miał już ustawiony wybrany "Rodzaj dokumentu"
a tym samym odpowiednio ustalone inne parametry typu "magazyn, znacznik itp..."

Sama realizacja okna dialogowego i jego zdarzeń to nie problem...
Interesuje mnie co należy zdefiniować aby nowe okno które się pojawi po zamknięciu okna dialogowego
miało już zdefiniowane parametry typu rodzaj dokumentu...

Autor:  bongos [ 2013-10-30, 07:31 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

będę strzelał - po zatwierdzeniu na okienku zapisać dane do bazy?
Zapisywałeś?

Autor:  rafal [ 2013-10-30, 08:59 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Pasuje mi tu idealnie użycie Rodzajów. Przed wybraniem opcji Nowy stań na rodzaju np:. surowiec. Nowy dokument będzie posiadał cechy rodzaju.

a jeżeli chcesz się pobawić to poczytaj:

viewtopic.php?f=15&t=5147

Autor:  grabber [ 2013-10-30, 14:41 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Oczywiście że najprościej jest klikać na wybrany rodzaj dokumentu i stworzyć nowy...
Ale niestety gdybym tylko ja wystawiał dokumenty to bym nie robił wam problemu...
ale że robi to więcej ludzi to chciałbym aby nie dochodziło do pomyłek...
Niestety ale wydaje mi się że zabawa z klikaniem w menu "mój Nowy dokument" zamiast głownego przycisku mija się z celem...
Jak ktoś już pracuje na programie kilka lat to odzwyczajanie go takich czynności będzie bardziej problematyczne niż to co chce osiągnąć...

Myślałem że jest to bardziej prosta kwestia w zefiniowaniu rodzaju w nowym dokumencie lub
po prostu po utworzeniu nowego dokumentu w zmianie jego rodzaju...

A tak poza konkursem to czy ma ktoś może przykład raportu który na podstawie
np dokumentu RW tworzy dokument PW z takim samym towarem i ilościami...
(mówiąc inaczej chodzi o raport który np po kliknięciu na wybrany dok. RW utworzy w buforze nowy taki sam dokument PW...)

Autor:  rafal [ 2013-10-30, 15:33 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Co za różnica czy użytkownik źle wskaże Rodzaj czy źle dokona wyboru w oknie, które chcesz mu pokazać.

Błędnie zakładasz, że jak pracują na programie kilka lat to nie możesz nic zmienić.

Druga część dotycząca RW..PW odbiega o tematu tego wątku więc proszę o napisanie nowej wiadomości.

Autor:  grabber [ 2013-10-30, 15:58 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Użytkownik nie będzie w ogóle klikał na Rodzaj bo zazwyczaj pracuje na tym samym magazynie...
ale do czasu do czasu małe skrzaty przychodzą i zmieniają magazyn ...
a użytkownik z przyzwyczajenia nie sprawdza czy ustawiony jest właściwy...

Autor:  rafal [ 2013-10-30, 16:05 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

No to trzeba w OnBeforeInsert() sprawdzać poprawność dokumentu i blokować wystawienie do czasu doprowadzenia dokumentu do stanu wystawialności.

Autor:  grabber [ 2013-10-30, 18:54 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

A czy jest jakieś polecenie typu: SetCurrentMag(magID) ?
Lub czy jest jakaś możliwość aby anulować wystawianie dokumentu?
w sensie że nie zostanie otwarte nowe okno dokumentu jeśli nie zostaną spełnione pewne założenia ?

Autor:  rafal [ 2013-10-30, 19:10 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Nie trzeba az tak drastycznie
Popatrz na przyklady uzycis funkcji OnBeforeInsert() na forum i wszystko stanie sie jasne.

Autor:  grabber [ 2013-10-30, 23:28 ]
Tytuł:  Re: Okno wyboru rodzaju dokumentu zakupu - HANDEL

Aby nie być tylko takim co pyta to wrzucam od siebie kod
który kontroluje aktulany magazyn z tym do jakiego ma się zamiar zapisać.
Niestety ale kod nie realizuje dokładnie tego co miałby realizować bo
ustawienie aktualnego magazynu nie ma powiązania z tym jaki jest ustawiony magazyn w formularzu dokumentu
(a przecież zależy nam aby użytkownik zmienił ten właśnie magazyn w dokumencie a nie ten z dolnego paska...)
Tak czy inaczej może się komuś przyda kod:

Kod:
int Sub OnBeforeInsert(long lId)
   Long MagazynSurowca_Kod = 98, MagazynKosztow_Kod = 99
   int Przycisk_Surowiec, Przycisk_Koszta, Wartosc_Wyboru = 0
   Long Aktywny_Magazyn = CurrentMag()
   Form "Kontrola typu zakupu", 400, 100
      Text "Proszę o potwierdzenie rodzaju wystawianego dokumentu zakupowego:", 20, 10, 340, 24
      Przycisk_Surowiec = Button "Surowiec", 242, 35, 130, 24, MagazynSurowca_Kod
      Przycisk_Koszta = Button "Koszta pośrednie", 20, 35, 130, 24, MagazynKosztow_Kod
   Wartosc_Wyboru = ExecForm
   If Wartosc_Wyboru != Aktywny_Magazyn Then
      Message "Wybrany magazyn dla tego rodzaju dokumentu jest nieprawidłowy!\nZmień magazyn i spróbuj ponownie."
      OnBeforeInsert = -6000
   Else
      OnBeforeInsert = 0
   Endif   
EndSub


PS. Oczywiście kody magazynów są u każdego inne więc proszę się nie dziwić że nie działa prawidłowo czy coś... ;P

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