mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Blokada sprzedaży towaru do ilości całkowitej https://forum.mix-soft.pl/viewtopic.php?f=2&t=1802 |
Strona 1 z 1 |
Autor: | comexe [ 2010-03-02, 14:39 ] |
Tytuł: | Blokada sprzedaży towaru do ilości całkowitej |
Witam, czy jest może w programie Symfonia Handel Premium możliwość zablokowania sprzedaży towarów lub konkretnego towaru tylko do ilości całkowitej (tzn żeby nie dało się sprzedać produktu w ilości np. 0,24) |
Autor: | Misiek [ 2010-03-02, 15:02 ] |
Tytuł: | |
W standardzie nie znam takiej metody, czy to dla HM Premium czy też HM Forte. Natomiast procedurami i językiem raportów tak i owszem - na forum było kilka przykładów z procedurami, można próbować we własnym zakresie, czekać na pomoc tutaj na forum, może jakaś dobra duszyczka coś napisze lub zamówić taką funkcjonalność u programisty. |
Autor: | wrob [ 2010-03-02, 15:04 ] |
Tytuł: | |
Procedurką |
Autor: | rafal [ 2010-03-02, 15:57 ] |
Tytuł: | |
Na podstawie : http://forum.mojasymfonia.pl/viewtopic.php?p=4897 Kod: int Sub OnBeforeInsert(long lId) OnBeforeInsert = 0 baseBD bd baseBP bp int errBD, errBP int iIlosc bd.GetRecById(lId) bp.SetKey("super") bp.SetKeySeg("super", bd.GetField("id")) bp.SetKeySeg("lp", 0) errBP = bp.GetRec( GE ) while errBP == 0 if bp.GetField("super") != bd.GetField("id") then exit // sprawdzamy warunek dla pozycji iIlosc = bp.GetField("ilosc") if bp.GetField("kod") == "Towar01" && (bp.GetField("ilosc") - iIlosc) > 0 then message "Ilośc dla towaru musi być całkowita" OnBeforeInsert = -6000 endif errBP = bp.GetRec( NX ) wend EndSub |
Autor: | comexe [ 2010-03-03, 15:54 ] |
Tytuł: | |
Dzięki wielkie za podpowiedź, choć procedura mi nie działa pewnie dlatego że nie umiem jej zainicjować przed wypisywaniem fv. Ręczne uruchomienie nic nie zmienia i podczas wypisywania fv nadal mogę sprzedać 0,5 szt. produktu. Ale jeszcze nad tym posiedzę. W każdym razie jeszcze raz dzięki. |
Autor: | wrob [ 2010-03-03, 16:00 ] |
Tytuł: | |
Na forum juz bylo i jak zainicjalizowac i ja wogole wlaczyc te procedury.... polecam opcje SZUKAJ |
Autor: | comexe [ 2010-03-13, 13:34 ] |
Tytuł: | |
1. Zmieniłem Ustawienia -> Dane Firmy -> Parametry -> Wykonywanie Procedur -> Dla dokumentów sprzedaży na TAK 2. Dodałem procedurę przedstawioną przez "rafal" do procedury dokumentu sprzedaży która w tym momencie wygląda następująco Kod: //"procsp.sc","Procedury dokumentu sprzedaży",12015,0,1.0.0,SYSTEM //" Procedury",2400,14,62 #define TYP_KATALOG 14 #define RODZ_GLOWNY 3300 BaseBD bazaBufora #include "Procedury - include" int Sub OnAddNewDokument(long lId) OnAddNewDokument = 0 EndSub int Sub OnBeforeInsert(long lId) OnBeforeInsert = 0 baseBD bd baseBP bp int errBD, errBP int iIlosc bd.GetRecById(lId) bp.SetKey("super") bp.SetKeySeg("super", bd.GetField("id")) bp.SetKeySeg("lp", 0) errBP = bp.GetRec( GE ) while errBP == 0 if bp.GetField("super") != bd.GetField("id") then exit // sprawdzamy warunek dla pozycji iIlosc = bp.GetField("ilosc") if bp.GetField("kod") == "Towar01" && (bp.GetField("ilosc") - iIlosc) > 0 then message "Ilośc dla towaru musi być całkowita" OnBeforeInsert = -6000 endif errBP = bp.GetRec( NX ) wend EndSub int Sub OnAfterInsert(long lId) OnAfterInsert = SprawdzOkresNumeracji(lId, BAS_DK) EndSub int Sub OnKhChanged(long lId) OnKhChanged = 0 EndSub int Sub OnBeforeDelete(long lId) OnBeforeDelete = 0 EndSub int Sub OnAfterUpdate(long lId) OnAfterUpdate = SprawdzOkresNumeracji(lId, BAS_DK) EndSub int Sub OnTwChanged(long lId) OnTwChanged = 0 EndSub Niestety jak wystawiam to nadal mogę sprzedać towar w ilości nie całkowitej. Moja wersja to Symfonia Handel Premium 2007.a Nie wiem gdzie mam szukać przyczyny, że procedura nie działa lub nie umiem jej zmusić do współpracy. |
Autor: | wrob [ 2010-03-13, 14:23 ] |
Tytuł: | |
dodaj do niej jakis komunikat jelsi sie wyswietli przy wystawainiu to wiesz ze dziala czyli blad jest w niej, jelsi nie to wiesz ze sie nie uruchamia czyli wiesz gdzie szukac :) |
Autor: | comexe [ 2010-03-15, 14:10 ] |
Tytuł: | |
Ok zrobiłem tak jak mi powiedziałeś wrob, procedura się uruchamia wiec przeanalizowałem dokładnie kod, zmodyfikowałem do własnych potrzeb i wszystko działa. Dzięki wielkie wszystkim co wtrącili swoje trzy grosze :) klikam na ">> pomógł" |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |