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

Blokada założenia indeksu tow.
https://forum.mix-soft.pl/viewtopic.php?f=2&t=1839
Strona 1 z 2

Autor:  zz [ 2010-03-11, 16:08 ]
Tytuł:  Blokada założenia indeksu tow.

W jaki sposób mogę zablokować 'inwencję twórczą' pracowników dz. zaopatrzenia?
Chciałbym, żeby wprowadzali towary o określonym schemacie kodowania, a niestety z poziomu procedur dla towaru nie ma OnBeforeInsert=-6000.

Autor:  wrob [ 2010-03-11, 19:42 ]
Tytuł: 

A za pomoca OnAfterInsert - nic nie dasz rade wykombinowac?

Autor:  zz [ 2010-03-12, 11:31 ]
Tytuł: 

No niestety nie bardzo wiem jak. :-(
Daję tylko ostrzeżenie bo też nie działa -6000.

Autor:  wrob [ 2010-03-12, 11:50 ]
Tytuł: 

No po wystawieniu -6000 na logike nie moze dzialac..... mozesz zamiast ostzrezenia np odrazu usunac ten towar....

Autor:  zz [ 2010-03-12, 14:15 ]
Tytuł: 

...i przychodzić do pracy na III zmianę, żeby się nie natknąć na 'zadowolonych-inaczej' kolegów...

Autor:  rafal [ 2010-03-13, 11:35 ]
Tytuł: 

Przykład wymusza, żeby kodty towarów zaczynały się od znaku 'A'

Kod:
//"prockonf.sc","Procedury - konfiguracja","\Procedury\",0,1.0.0,SYSTEM

int sub OnStart()
  Dispatch xKonf
  Dispatch xProcs
  Dispatch xProcObj

  xKonf = xFactory.konfiguracjaRaportow
  xKonf.Clear()
  xProcs = xKonf.proceduryObiektow
  xProcObj = xProcs.AddNew()
  xProcObj.objectTypeName = "BTowar"
  xProcObj.aktywny = 1
  xProcObj.raport = "kod='Mix-soft Kontrola kodu towaru'"
  Dispatch xProcEvent = xProcObj.proceduryZdarzen.AddNew()
  xProcEvent.zdarzenie = "kod='BeforeSave'"
  Dispatch xProcedura = xProcEvent.procedury.AddNew()
  xProcedura.nazwa = "SprawdzKodTowaru"
  xProcedura.aktywny = 1
  xProcedura.kolejnosc = 1
  xProcedura.konieczna = 0
  xKonf.aktywny = 1
  OnStart = 0

endsub



Kod:
//"mixkktw.sc","Mix-soft Kontrola kodu towaru","\Procedury\",0,1.0.0,SYSTEM

#define XmsgERROR       0x01

long Sub SprawdzKodTowaru(String strEventName, Dispatch xObject, String strParams, Dispatch xParams)
  SprawdzKodTowaru = 0
  Dispatch msg

  if mid(xObject.kod,1,1) != "A" then
     msg = xFactory.komunikaty.AddNew()
     msg.tresc = "Kod towaru musi zaczynać się znakiem 'A'"
     msg.status = XmsgINTERNAL
     SprawdzKodTowaru = 771
  EndIf

EndSub

Autor:  zz [ 2010-03-15, 09:32 ]
Tytuł: 

Dzięki Rafał.
PS. Jakbym mógł coś dla ciebie zrobić (odśnieżyć samochód, wypić za twoje zdrowie, ...) to 'ino mrygnij ...' ;-)

Autor:  zz [ 2010-03-15, 11:12 ]
Tytuł: 

PS 2. Czyżby zniknął przycisk POMÓGŁ?
Nie mogę znaleźć.

Autor:  zz [ 2010-03-24, 16:23 ]
Tytuł: 

Chyba coś robię nie tak:
dodałem wpisy w OnOpen()
dodałem BeforeSave() w procedurach towaru

przy zapisie towaru mam komunikat:
"Błąd składni języka. Niezdefiniowany symbol xMsgInternal"

Co jeszcze powinienem dodać?

Autor:  rafal [ 2010-03-24, 22:36 ]
Tytuł: 

zamisat
Kod:
#define XmsgERROR       0x01


powinno być
Kod:
#define XmsgINTERNAL    0x03

Autor:  rafal [ 2010-03-24, 22:38 ]
Tytuł: 

zz pisze:
dodałem wpisy w OnOpen()
dodałem BeforeSave() w procedurach towaru


Coś mi się tu nie podoba. Co zrobiłeś w OnOpen i po co?
Zaktualizuj załączone raporty i po sprawie.

Autor:  zz [ 2010-03-25, 15:12 ]
Tytuł: 

Myślałem, że OnStart ma być w OnOpen() - wyrzuciłem
Dodałem BeforeSave = SprawdzKodTowaru(lId) w procedurach towaru - czy dobrze?
Mam błąd dla tej linii: Oczekiwane ','

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

utwórz plik : prockonf.sc - wklej do niego pierwszy raport
utwórz plik : mixkktw.sc - wklej do niego drugi raport

uruchom raport : Aktualizacja raportów systemowych wskazując katalog z w/w plikami

wyjdź i wejdź do firmy jeszcze raz.

Zadziałało?

Autor:  zz [ 2010-03-25, 16:11 ]
Tytuł: 

Tak <brawo>
Chciałem 'przekombinować' z tymi procedurami
Jeszcze tylko: czy użytkownik mógłby dostać informację, czemu się nie wystawia?

Autor:  rafal [ 2010-03-25, 16:14 ]
Tytuł: 

Zastanawiam się czy Ci zadziałało.
Jeżeli zainstalowałeś te raporty poprawnie to przy próbie wprowadzenia towaru, którego nazwa zaczyna się od innego znaku niż "A" pojawia się komunikat, że nie można dodać towaru. Czy o to chodziło?

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