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

Czy błąd w HMF2010
https://forum.mix-soft.pl/viewtopic.php?f=2&t=1938
Strona 1 z 1

Autor:  zz [ 2010-04-15, 09:08 ]
Tytuł:  Czy błąd w HMF2010

Witam.
Próbowałem w procedurach dok. płatności OnBeforeEdit() zablokować możliwość edycji dokumentu z datą inną niż dzisiejsza i ..... problem
Niestety blokada działa również przy wystawianiu nowego dokumentu :(
W instrukcji jest napisane:
Cytuj:
int OnBeforeEdit(long lId) – procedura wywoływana tuż przed próbą edycji elementu, jako argument przekazywany jest id obiektu, jeśli procedura zwróci wartość -6000 to edycja elementu nie będzie możliwa

Jak mogę 'zaemulować' potrzebną mi funkcjonalność bez psucia podstawowej funkcjonalności? (czyli możliwości wystawienia KP/KW)?

Autor:  rafal [ 2010-04-15, 10:51 ]
Tytuł: 

Pokaż kod jaki napisałeś.

Autor:  zz [ 2010-04-15, 11:27 ]
Tytuł: 

Kod:
int sub spr_daty_platn(int lId)
   basepn pn
    pn.GetRecById(lId)
    if pn.GetField("data") < Data() then
      message "Nie można edytować dokumentu z datą inną niż dzisiejsza.\nZgłoś się do administratora."
      spr_daty_platn = -6000   
    else
        spr_daty_platn = 0
    endif
endsub

Autor:  rafal [ 2010-04-15, 15:03 ]
Tytuł: 

Kod:
int sub spr_daty_platn(int lId)

dispatch xPn = xFactory.NewObject("BDokumentPn")
xPn.Load((using"id=%l",lId))

    if (xPn.Data_platnosci < Data() && xPn.Data_platnosci != "") then

        message "Nie można edytować dokumentu z datą inną niż dzisiejsza.\nZgłoś się do administratora."
        spr_daty_platn = -6000   
    else
        spr_daty_platn = 0
    endif
endsub

Autor:  zz [ 2010-04-15, 15:51 ]
Tytuł: 

Dzięki.
Co prawda nie chce działać z operatorem && (AND)
ale wystarcza mi sam warunek na datę.

Autor:  rafal [ 2010-04-15, 16:03 ]
Tytuł: 

Nie wystarczy sam pierwszy warunek.
Przy wystawianiu nowego dokumentu xPn.data_platn jest pustym ciągiem.
Drugi warunek dopuszcza edycję własnie w tym przypadku.

Autor:  zz [ 2010-04-16, 10:45 ]
Tytuł: 

Rozbiłem na dwa IF-y i wygląda na to, że nie działa warunek
Kod:
if xPn.Data_platnosci != ""

Autor:  rafal [ 2010-04-16, 11:57 ]
Tytuł: 

U mnie działa.
Jakiś komunikat?

Autor:  zz [ 2010-04-16, 13:02 ]
Tytuł: 

Żadnego - po prostu nie uwzględnia tego warunku i nie wchodzi do IF-a

Autor:  rafal [ 2010-04-16, 13:53 ]
Tytuł: 

W takim razie użyć kodu, który podałem w całości i będzie dobrze.

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