Avatar billede ncp Nybegynder
21. juli 2005 - 23:40 Der er 9 kommentarer og
5 løsninger

Finde næste løbenummer

Hi, jeg har en hjemmeside som meget gerne skulle smide en ordre ind i c5 i tilfælde af en bestilling bliver gennemført, men hvordan finder jeg C5's næste løbenummer ?

Eller er der en anden måde at smide ordre ind fra externe programmer ?
Avatar billede mariaf Juniormester
22. juli 2005 - 08:59 #1
Normalt bruger man en fil, der indlæses i C5. Koster et par timer hos en programmør, eller du kan forsøge at få koden her igennem eksperten - vi har haft det oppe før.
Avatar billede ncp Nybegynder
22. juli 2005 - 09:55 #2
Ville meget gerne hører lidt mere omkring denne fil :)
Avatar billede mariaf Juniormester
22. juli 2005 - 19:10 #3
Den skal mindst bestå af Debitorkonto, varenummer, antal og pris. Debitorkonto bruges til at oprette ordrehoved med tilhørende konto, herunder betalingsbetingelser mv. Når dette er oprettet, laves ordrelinierne, som jo altså består af ordrenummer (har man fra ordren), varenr (skal findes i C5), antal og pris. Det kræver ikke voldsomt med kodearbejde at få det til at virke.
Af yderligere oplysninger kunne leveringsadresse være relevant.
Avatar billede ncp Nybegynder
23. juli 2005 - 14:38 #4
Men det skulle vel være ganske muligt at skrive en ordre direkte i C5 via SQL - ved godt der er en masse ting man skal overveje, såsom opdaterng af lagerbeholdning så den resaverer de varer man tilføjer. Har allerede lavet en SQL som tilføjer debitorer og de virker tilsyneladne uden problemer - her vælger jeg blot det højeste løbenummer i tabellen, lægger en til og skriver recorden... Tænkte bare om der var et sted man kunne hive dette nummer ud ?
Avatar billede Broholm Novice
23. juli 2005 - 17:08 #5
Du må ikke bare finde det højeste løbenummer i tabellen! Løbenumre skal være unikke pr. regnskab på SQL, IKKE KUN PR. TABEL!

Du skal bruge en stored procedure sp_xalseqno (tror jeg nok den hedder). Den giver dig et nummer, hvor du så har det + de næste 9 numre

Hvis du absolut vil skrive direkte i SQL-tabellerne så skal du huske at overholde alle reglerne om ingen NULL-værdier,CHAR(2),datoer klokken 00:00:00 og foranstillede mellemrum.

Ellers er det meget nemmere at bruge ODBC funktionerne indefra C5 og trække ordrerne ind i C5.

-Broholm
Avatar billede ncp Nybegynder
23. juli 2005 - 17:23 #6
Okay, det var ligeprævis sådan en funtion jeg ledte efter!

Har fundet ud af det med ingen nulls, foranstillede spaces og datoformat, men hvad mener du med CHAR(2) ?
Avatar billede ncp Nybegynder
23. juli 2005 - 17:33 #7
SP'eren skal have 2 parametre, increment og dataset - men sætter jeg disse til 1 og DAT får jeg ingen rows tilbage ?
Avatar billede Broholm Novice
23. juli 2005 - 18:27 #8
CHAR(2): Der må ikke være nogen blanke tekstfelter i C5-SQL. 'Blank' værdi er lig med CHAR(2). Det er de firkanter du kan se.

Jeg kan ikke sige hvad du gør galt i kaldet til sp'en...
Avatar billede mariaf Juniormester
23. juli 2005 - 22:14 #9
Uanset hvad du gør, så kan du ende med en hulens masse kode for at få det til at fungere korrekt. Det er betydeligt nemmere og mere sikkert at indlæse en fil med de få data, der skal anvendes, og du kan i øvrigt automatisere hele processen med betydelig mindre arbejdsindsats end den du har gang i.
Bogholderi er en spøjs ting, og kan ikke bare håndteres ved at smide lidt data hist og pist i databasen, og så forvente at det kører korrekt. Husk at alle funktioner og kørsler ligger i C5 og ikke i den underliggende database. Den er bare til opbevaring af data.
Avatar billede ncp Nybegynder
23. juli 2005 - 23:48 #10
true, men nu snakker vi dog kun om at oprette en debitor og en ordre (med ordrelinjer) - det er det hele - og debitoren er jeg igennem på nær lige det med løbenummeret som jeg var usikker på - problemet er at jeg ikke kan overskue at rode mere med XAL, så hellere 3 gange så meget kode .NET eller et ligende up-to-date programeringssprog - det kan jeg til enhver tid gøre hurtigere end at lave det i XAL... Er helt med på det nok er mere sikkert at kører det ind i kommafiler, men ville bare gerne automatiserer det så meget som muligt og det burde vel lade sig gører så længe man holder hoved koldt...

Anyways, i skal begge have en stor tak for jeres hjælp! - Nu prøver jeg og se om jeg ikke kan få det til at kører, ellers må jeg jo tilbage og rode med de her kommafiler :(
Avatar billede mariaf Juniormester
24. juli 2005 - 12:15 #11
Og det kan gøres på et par timer, så du siger bare til, hvis du har brug for en hånd.
Avatar billede Broholm Novice
24. juli 2005 - 15:29 #12
Jeg glæder mig til at der kun er 5-10 mand tilbage i Danmark, der kan kode XAL. Så vil jeg lave mig et kartel og score kassen :D
Avatar billede mariaf Juniormester
24. juli 2005 - 17:58 #13
Jeg vil være med :D
Avatar billede ncp Nybegynder
24. juli 2005 - 23:33 #14
Hehe, det lyder ikke som om det bliver sjovt for dem som ikke kan XAL :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester