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;
}
