Utworzenie kolumny zawierającej dodatkowy – „w ramach miesiąca” – typ numeru zlecenia głównego:

1. Dodajemy dodatkową kolumnę na ekranie zleceń

2. Zawartość tej dodatkowej kolumny ma segmenty oddzielone “/” :

– duża litera P, G lub A w zależności od symbolu Produktu w SGT (patrz pkt.3)

– 2-cyfrowy rok Rok

– 2-cyfrowy Miesiąc (uzupełniać zerami z lewej)

– 3-cyfrowy numer zlecenia w ramach miesiąca (uzupełniać zerami z lewej)

3. “Wprowadzenie dodatkowej  numeracji zleceń wg podanego schematu”:

P/RR/MM/NNN -dla zleceń dla wyrobów o symbolach rozpoczynających się na TW……., SF……., TE…….. np. P/10/04/001,

G/RR/MM/NNN- dla zleceń dla wyrobów o symbolach rozpoczynających się na TX……., np. G/10/04/001,

A/RR/MM/NNN- dla zleceń dla wyrobów o symbolach rozpoczynających się na TA…….,  TB………np. A/10/04/001,

W celu realizacji powyższego zadania w Konfiguracji, w zakładce „Ekran zleceń konfiguracja”, w oknie “Kod odpalany przy tworzeniu nowego zlecenia” wpisujemy poniższy kod w C#

string dodatkowaNumeracja = “”;
string kodGlownegoTowaru = “”;

if (zlecenie.ProduktGlowny != null)
kodGlownegoTowaru = zlecenie.ProduktGlowny.Kod;

if (!System.String.IsNullOrEmpty(kodGlownegoTowaru))
{
if(kodGlownegoTowaru.Length >= 2)
{
string symbol = kodGlownegoTowaru.Substring(0, 2).ToUpper();
string rok = zlecenie.DataPrzyjecia.Year.ToString().Substring(2, 2);
string miesiac = zlecenie.DataPrzyjecia.Month.ToString().PadLeft(2, ‘0’);
string nrZlecenia = zlecenie.Nr.ToString().PadLeft(Db.Global.DlugoscNumeruZlecenia, ‘0’);

if(symbol == “TW” || symbol == “SF” || symbol == “TE”)
{
dodatkowaNumeracja = “P” + “/” + rok + “/” + miesiac + “/” + nrZlecenia;
}
else if(symbol == “TX”)
{
dodatkowaNumeracja = “G” + “/” + rok + “/” + miesiac + “/” + nrZlecenia;
}
else if(symbol == “TA” || symbol == “TB”)
{
dodatkowaNumeracja = “A” + “/” + rok + “/” + miesiac + “/” + nrZlecenia;
}
}
}
if (System.String.IsNullOrEmpty(dodatkowaNumeracja))
dodatkowaNumeracja = zlecenie.Numer;

zlecenie.DodatkowyNumer = dodatkowaNumeracja;

Definiujemy produkt-usługę “Rozbiór tuszy”:

– np. Rozbiór tuszy = (-0.4) rosołowe + (-0.2) reszta + (-0.3) kości

– definicja jest podana na 1 KG tuszy – liczby ujemne podane w recepturze można traktować jako: ilość danego składnika w 1KG tuszy lub tez współczynniki “procentowe”, dzielniki podziału tuszy

– nie jest to konieczne – produkt może nie mieć struktury, wtedy w czasie dodawania zlecenia wybieram produkt, zaznaczam na formie zlecenia opcję “Z przydzielonym produktem” i edytuje recepturę dowolnie

– jest więc do decyzji użytkownika programu, czy woli poprawiać/usuwać predefiniowane pozycje czy tez dopisywać wszystkie, dla konkretnego zlecenia, pozycje ze słownika

W Epilogu dokumentu (Konfiguracja / Dokumenty) wpisujemy kod w C#, który wyliczy odpowiednie koszty dla dokumentów PW reprezentujących wynikowe półprodukty (ujemne składniki):

if( typPrzychodu == Mozart.Types.TypPrzychodu.UjemneSkładniki && pozycje.Length > 0 )
{
    decimal sumaIlosciPozycji = 0;
    foreach(ZawDok pozycja in pozycje)
    {
        sumaIlosciPozycji += pozycja.Ilosc;   
    }
   
    decimal KosztDokumentu = kosztRw;
    decimal KosztCzastkowy = KosztDokumentu/sumaIlosciPozycji;
    decimal RoznicaRwPw = KosztDokumentu – ( KosztCzastkowy * sumaIlosciPozycji);

    for(int i = 0; i < pozycje.Length; i++)
    {       
        pozycje[i].Cena = KosztCzastkowy;       
    }

    //zeby na pewno zgadzalo sie na ulamkach, chodz to decimale i nie powinno byc tu problemu
    pozycje[pozycje.Length-1].Cena += RoznicaRwPw;
}

Facebook
YouTube
Scroll to Top