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

Przymusowe podanie kodu kreskowego przy dodaniu towaru
https://forum.mix-soft.pl/viewtopic.php?f=2&t=5333
Strona 1 z 1

Autor:  mirk [ 2013-11-26, 09:33 ]
Tytuł:  Przymusowe podanie kodu kreskowego przy dodaniu towaru

Witam.

Otóż od pół roku korzystamy z symfonii i widzę że czasami zdarzy komuś "wpadka" i nie wpisze kodu kreskowego lub nie wybierze / wypełni pola "słowniki pól" z którego korzystamy jako określenia pozycji na magazynie. Czy symfonia ma taką opcję lub czy laik jak ja może ewentualnie zrobić edycję aby dodając nowy towar zarówno pole "słowniki pól" jak i kod kreskowy było przymusowe do wypełnienia ?
Znacznie ułatwiło by to nam pracę i zniwelowało późniejsze problemy w lokalizacji produktu.
Od przyszłego roku chcemy 100% przenieść się na symfonię , jak na razie służy nam tylko jako program magazynowy.

Za pomoc serdecznie dziękuję .

Autor:  rafal [ 2013-11-26, 10:28 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

Nie ma możliwości walidacji danych przy wprowadzaniu/edycji towaru.
Możesz natomiast pilnować aby użytkownik nie mógł wystawić dokumentu z towarem, który nie ma kompletnych danych.

Zmodyfikuj raport : Raporty -> Procedury -> Procedury dokumentu sprzedaży

:szukaj ZNAJDŹ
Kod:
int Sub OnBeforeInsert(long lId)

EndSub


ZAMIEŃ NA
Kod:
int Sub OnBeforeInsert(long lId)

   int errBP
   string sMessage

   baseBP bp
   baseTW tw

   bp.SetKey("super")
   bp.SetKeySeg("super", lId)
   bp.SetKeySeg("lp", 0)

   errBP = bp.GetRec( GE )

   while !errBP
      if bp.GetField("super") != lId then exit   

         tw.GetRecById( bp.GetField( "idtw" ) )
         
         if tw.GetField("poledod1") == "" then sMessage += using "W pozycji %d towar %s ma niepełne dane - Pole dodatkowe 1." + lf, bp.GetField("lp")/32, tw.GetField("kod")
         if tw.GetField("kodpaskowy") == "" then sMessage += using "W pozycji %d towar %s ma niepełne dane - kod paskowy." + lf, bp.GetField("lp")/32, tw.GetField("kod")
         // dodaj inne warunki

      errBP = bp.GetRec( NX )
   wend   

   if sMessage != "" then
   
      message sMessage
      OnBeforeInsert = -6000

   endif      

EndSub


Ustawienia -> Parametry pracy -> Wykonywanie procedur -> Dla dokumentu sprzedaży ustaw na TAK

Autor:  mirk [ 2013-11-26, 12:33 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

I właśnie tutaj pojawia się problem , opiszę o co chodzi.

Prowadzimy sklep www , aukcje allegro itp , głównie handel wysyłkowy.
Produkty mają przydzielone wszędzie kody kreskowe i to po nich są szukane w magazynie.
Czasem jednak ktoś dodając nowy produkt ( a jest ich nawet 20-50 dziennie ) do magazynu nie doda czy to lokalizacji czy kodu .
W obu przypadkach nie mamy później możliwości lokalizacji towaru na magazynie .
Dlatego pomysł z przymusowym podanie kodu kreskowego i lokalizacji.
Może istnieje jakiś inny inteligentny sposób na to ? Ewentualnie sposób na filtrację produktów np :
"pokaż bez kodu kreskowego"
"pokaż bez pola słownik "

Szukamy jakiegoś rozwiązania ponieważ ilość pozycji stale nam rośnie a w przyszłym roku inwestujemy w dodatkowe zautomatyzowane moduły sprzedaż / magazyn.

Autor:  rafal [ 2013-11-26, 12:56 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

No właśnie podałem sposób na wymuszenie uzupełnienia danych w towarze.
Nie można użyć go na dokumencie dopóki użytkownik nie uzupełni wymaganych pól.

Autor:  mirk [ 2013-11-26, 13:06 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

rafal pisze:
No właśnie podałem sposób na wymuszenie uzupełnienia danych w towarze.
Nie można użyć go na dokumencie dopóki użytkownik nie uzupełni wymaganych pól.


Czyli mogę tą formułę dodać np do dokumentu dodania towaru do magazynu i wtedy nie da się wystawić dokumentu jeżeli któraś pozycja będzie niekompletna ?
Czy zostanie ona jakoś wskazania np z listy 50 dodanych na magazyn produktów ?

Autor:  rafal [ 2013-11-26, 13:07 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

Szukanie towarów z pustym kodem paskowym zrealizujesz dodając poniższy raport do

Raporty -> Kartoteki -> Raporty z menu -> Towary

Kod:
baseTW tw
int errTW

ioRec ioLista

tw.SetKey("id")
tw.SetKeySeg("id", 0)

errTw = tw.GetRec( GE )

while !errTw
   
   if tw.GetField("kodpaskowy") == "" then ioLista.SetField("id",(using "%l", tw.GetField("id")))

   errTw = tw.GetRec( NX )
wend

ShowListWindow( ioLista, "TW" )
NoOutPut()


Po uruchomieniu otworzy się nowe okno z listą towarów z pustym pole kod paskowy

Autor:  rafal [ 2013-11-26, 13:11 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

mirk pisze:
rafal pisze:
No właśnie podałem sposób na wymuszenie uzupełnienia danych w towarze.
Nie można użyć go na dokumencie dopóki użytkownik nie uzupełni wymaganych pól.


Czyli mogę tą formułę dodać np do dokumentu dodania towaru do magazynu i wtedy nie da się wystawić dokumentu jeżeli któraś pozycja będzie niekompletna ?
Czy zostanie ona jakoś wskazania np z listy 50 dodanych na magazyn produktów ?


Nie da się wystawić dokumentu jeżeli w pozycjach są niekompletne towary.
Tak możesz użyć tego w procedurach dla dokumentu magazynowego ale trzeba trochę zmodyfikować.
Pozycje niekompletne będą wylistowane.

Załącznik:
hmpola01.jpg
hmpola01.jpg [ 54.09 KiB | Przeglądany 4633 razy ]

Autor:  mirk [ 2013-12-10, 12:47 ]
Tytuł:  Re: Przymusowe podanie kodu kreskowego przy dodaniu towaru

Witam.

Wykonałem czynności jak wyżej i o tyle o ile problemu nie ma z sprzedażą ( gdy towar nie ma kodu nie wystawimy dokumentu sprzedaży ) o tyle nie mogę sobie poradzić z dokumentami magazynowymi ( dodaj towar / wydanie z magazynu ) w obu przypadkach nie funkcjonuje. Dodałem tak samo treść do raportu + włączyłem używanie elementów z raportu w ustawieniach , co robię źle?

Edit: pomęczyłem się , zresetowałem program i dodałem kilka nowych produktów bez kodu i zadziałało.
Gdybym miał dalsze problemy na pewno się zgłoszę.

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