none
Kommisionslager i 4.0 SP1

    Spørgsmål

  • En kunde har en del butikker der har kommisionslager.

    Det styres pt. ved at der ved afsendelse af varer flyttes til en anden lokation, som så bruges ved fakturering af solgte vare.

    Kunden skal så selv huske at ændre lokation ved fakturering, da hovedlageret automatisk bruges.

    For at der ikke opstår fejl, har jeg tænkt mig at oprette et nyt felt i DebKart som gennemtrumfer lokationen på OrdLinier. 

    Jeg har lavet følgende i OrdLinier:

    OrdLinie.Varenr

    {┌──────────────────────────────────────────────────────────────────────────┐}
    {│ Sæt lokation inden check af alternativt varenummer                       │}
    {└──────────────────────────────────────────────────────────────────────────┘}
    INTRODUCE LagKart[VareIdx, OrdLinie.Varenummer]
    INTRODUCE DebKart[KontoIdx, OrdLinie.Konto]
    IF DebKart.Fast lokation THEN                                (Feltet hedder &Fast lokation i DebKart)
         Set OdLinie.Lokation = DebKart.Fast lokation
            ELSE SET OrdLinie.Lokation = LagKart.Hovedlager
    ENDIF

    Hvis ovenstående bruges, findes feltet ikke og hvis der sættes & foran gives syntaksfejl.

    Hvad er der galt og findes der en smartere måde at håndtere kommisionslager på ?

    10. oktober 2013 11:20

Svar

  • Hej Jakobsminde

    Der er flere måder. Du kan kigge på blokken på en form for at se hvilken tabel der ligger til grund for de felter der vises på blokken.

    Du kan også - med CTRL+F12 + K (Kartotek) se en liste over alle tabeller, deres felter og indexer...

    Så det kommer lidt an på situationen...

    Din process er helt klart en løsning - og nej, der er vist ikke en lettere måde at slette en fuldt leveret ordre på (det er jo en parameter om systemet selv skal slette dem ifm. fakturering, men netop fordi du slutter med en returleverance slettes den ikke automatisk - uanset den parameter).

    Har du prøvet det med en salgsordre der står til "Træk varer" i Beholdnings-feltet fremfor "Reserver"? Sådan en ordre vil automatisk trække varer fra lageret så snart du opretter ordrelinjer - og fjerne trækket igen hvis du ændrer på antal eller sletter en linje. Så slipper du for det der med følgesedler frem og tilbage.

    Du kan formentligt også fakturere linjer ved at rette "lever nu" til og fakturere... Men det sparer dig da for en masse følgesedler frem og tilbage (og sparer en masse lagerposter og dermed database-plads :-)).


    MVH gsl@systemconnect.dk Se også: http://blog.systemconnect.dk/

    • Foreslået som svar af Gert Lynge 10. oktober 2013 16:48
    • Markeret som svar af Jakobsminde 11. oktober 2013 09:36
    10. oktober 2013 16:48

Alle besvarelser

  • Hej Jakobsminde

    Det du laver er galt på flere niveauer :-)

    Umiddelbart i hvert fald:

    1. OrdLinie.Konto er en reference til et finanskontofelt og har intet at gøre med debitorens konto. Du skal have fat i DebKart[KontoIdx, OrdKart[NumTraIdx, OrdLinie.Nummer, OrdLinie.Transaktion].Konto i stedet

    2. Hvis feltet hedder &Fast lokation i DebKart, så er der tale om et virtuelt felt og ikke et databasefelt. Og i øvrigt har det helt sikkert ikke et mellemrum i navnet. Du skal først lave et felt på tabellen (DBD) før du kan oprette det på DebKart formen.

    3. SET OdLinie... skal nok rettes til SET OrdLinie.

    Nogle bruger også træk-ordrer til at håndtere kommisionslager på (Status-feltet hvor der kan stå Uændret, Reserver, Træk og Fast). Det kan være lidt lettere da varelinjer på ordren så blot automatisk trækkes af lageret... Når det skal skal faktureres kan hele ordren faktureres, eller enkeltlinjer kan flyttes til en anden ordre og faktureres... så slipper man for vareflytninger mellem lokationerne...

    Men om det ene er lettere end det andet er nok en smags-sag :-).


    MVH gsl@systemconnect.dk Se også: http://blog.systemconnect.dk/


    • Redigeret af Gert Lynge 10. oktober 2013 13:37
    • Foreslået som svar af Gert Lynge 10. oktober 2013 16:39
    10. oktober 2013 13:36
  • Det kan jeg godt se er forkert, men hvordan ser man hvilket kartotek, et givent felt tilhører???

    Prøvet med resultat:

    1. Opret ordre med reserver

    2. Følgeseddel (Alt) -> Antal trækkes fra lager (1+2 kan laves samlet tom Træk)

    3. Solgte antal indtastes som leveret og faktureres (Evt. flere gange) 

    4. Returnede vare indtastes som -antal i leveret og følgeseddel med leveret udskrives (Nu er leveret og faktureret ENS, eller burde være det)

    5. Ordren eksisterer stadig, men kan slettes under periodisk eller med Alt+F9 på linier efterfulgt af ordre. (Kan det gøres smartere?)

    Ovenstående samt flere andre løsninger er gennemtestet og ovenstående fundet smartest. 

    Er der andre / smartere løsningsforslag?

    Mvh. Per

    PS: Super godt svar på alle punkter, grundet manglende viden omkring (stem eller ???), hvordan tilkendegives dette?

    (1. løsning skal afprøves grundet nysgerrighed, derfor det første spørgsmål)

    10. oktober 2013 16:35
  • Hej Jakobsminde

    Der er flere måder. Du kan kigge på blokken på en form for at se hvilken tabel der ligger til grund for de felter der vises på blokken.

    Du kan også - med CTRL+F12 + K (Kartotek) se en liste over alle tabeller, deres felter og indexer...

    Så det kommer lidt an på situationen...

    Din process er helt klart en løsning - og nej, der er vist ikke en lettere måde at slette en fuldt leveret ordre på (det er jo en parameter om systemet selv skal slette dem ifm. fakturering, men netop fordi du slutter med en returleverance slettes den ikke automatisk - uanset den parameter).

    Har du prøvet det med en salgsordre der står til "Træk varer" i Beholdnings-feltet fremfor "Reserver"? Sådan en ordre vil automatisk trække varer fra lageret så snart du opretter ordrelinjer - og fjerne trækket igen hvis du ændrer på antal eller sletter en linje. Så slipper du for det der med følgesedler frem og tilbage.

    Du kan formentligt også fakturere linjer ved at rette "lever nu" til og fakturere... Men det sparer dig da for en masse følgesedler frem og tilbage (og sparer en masse lagerposter og dermed database-plads :-)).


    MVH gsl@systemconnect.dk Se også: http://blog.systemconnect.dk/

    • Foreslået som svar af Gert Lynge 10. oktober 2013 16:48
    • Markeret som svar af Jakobsminde 11. oktober 2013 09:36
    10. oktober 2013 16:48