Avatar billede boje Juniormester
29. november 2017 - 21:35 Der er 5 kommentarer og
1 løsning

Ordre i C5

Jeg skal oprette en ordre direkte i SQL delen af C5-2012 med MS-SQL. Så vidt jeg kan se er det muligt hvis man overholder nogle små punkter.
* Rownumber skal være uniq og få's via SP.
* Tomme felter skal være ASCII(2)
* Hoved info er i tabellen SALESTABLE
* Solgte emne liste laves i SALESTABLE.
Er der flere tabeller og felter som skal være specielle?

FAktura nummeret number_ hvordan generer C5 dette? Kan ikke finde en SP eller anden SQL kode som bruges hertil.

På forhånd TAK.
Avatar billede ADDCON-C5 Forsker
30. november 2017 - 10:25 #1
Hej,

Ja du kan godt oprette direkte i tabellen fra andre programmer.

Med hensyn til varlinjer (solgte emner) skal disse skrives i tabellen SalesLine og ikke som du skriver 'SalesTable'.

Ordrenummer (du skriver fakturanummer - hvilket ikke er det samme) trækker du fra tabellen 'Voucher'. Her er koden fra C5, som du kan bruge som inspiration, kort fortalt slås der op i Voucher og sidste ordrenummer læses - derefter lægges de '1' til og der skrives tilbage til Voucher.  Det nye nummer er således ordrenummeret.

SET &DrawnTmpNo = ''
IF Voucher[NameIdx, #NumSer_Sales].RecID THEN
    #TmpVoucher(#Numser_sales, SalesTable.Number,1)
    SET &DrawnTmpNo = SalesTable.Number
ENDIF

Du kan se kode i formen 'SalesTable'  Blok='SalesTable' Trigger='Init-Record'.

God fornøjelse

ADDCON
Peter Agger
Avatar billede boje Juniormester
30. november 2017 - 10:57 #2
Takker for svaret. Det havde jeg aldrig gættet selv.
Du har ret jeg "kager" rundt mellem ordre og faktura og tabel navne.
Som jeg læser data så funder jeg ordre nummer i Voucher.voucher (er fundet) bruger nummeret og skriver tilbage nummeret +1.
endnu engang TAK.
Avatar billede mariaf Juniormester
30. november 2017 - 13:11 #3
Det er rent principielt noget skrammel at indlæse direkte i databasen på et økonomistyringsprogram, og der er rigtig mange ting, der kan gå galt, hvis man ikke har HELT styr på tabeller og felter - og økonomi. Hvis det på nogen måde er muligt, ville jeg anbefale en xml-fil eller csv-fil og så då kodet indlæsningen af en, der ved noget om C5. Det vil ikke tage mange timer, så du vinder på både teknik og penge.
Avatar billede jjam Juniormester
02. december 2017 - 12:17 #4
Enig med Mariager.
Mulig løsning
Indlæs i en ny tabel (der ikke bruges til andet), bruge derefter ven batch kørsel til at oprette ordre fra den ny tabel.
Avatar billede jjam Juniormester
02. december 2017 - 12:19 #5
Et af de problemer indlæsning af at data via vsql er at div. Trikkere ikke udføres. Der derfor risiko for inkonsistens i data.
Avatar billede boje Juniormester
06. december 2017 - 21:19 #6
Takker for svarerne, tror jeg vil følge Jeres anvisning og få lavet et API som jeg kan kalde!
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

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