Avatar billede blacks Mester
22. januar 2021 - 15:19 Der er 6 kommentarer og
1 løsning

C5 vil ikke danne priomposter

Hej,

Får en fejl med Beløb Val og Beløb danske kr. har forskeliget fortegn p

når jeg forsøger at danne primoposter, og ja der er bogført en debet og derefter en kreditpost på kontoen i DKK, men kontoen som står til at være USD

C5 foreslår man kører Tjek af debitor/Kreditor åbninger men det hjælper ikke, da det jo er en finanspost.

Et godt forslag til en løsning?
Avatar billede ADDCON-C5 Forsker
22. januar 2021 - 15:46 #1
Davs,

Ja det er en kendt fejl og ret irriterende.

Fejlen opstår specielt på konti som vedr. valuta som du har opdaget, men kan være helt ude i 3 - 4 decimal og altså helt ligegyldig for Primoposten.

Hvis din version af C5 er fra 2008 og frem - altså version 4.2 4.3 eller 4.4, kan du kommer uden om fejlen ved blot at ændre lidt i en kørsel  (fodudsætter du har rettigheder til dette).

Kørslen (QTX) hedder :  LedCreateOpening

I triggeren for kørslen, den som hedder 'Stop' tjekkes der på om gennemløbet af posteringer giver difference. Hvis der findes differencer opdateres variablen  &err_num  (Det er en tæller som tæller antallet af fejl i en given kørsel).

Når kørslen er kørt igennem, tjekkes om &err_num er størrer en '0' (nul) - hvis der er fundet fejl kasseres hele kørslen.

Dette sker som sagt i triggeren (Stop).

Det frækkeste og nemmeste er simpelthen at ophæve tjekket af &err_num ved
simpelthen at annullere den del af koden:

Den ser normal således ud:

IF &Err_num THEN
    #TTSABORT
    #ShowErrorLog("Dan primoposter")
ELSE
  #TTS(COMMIT)
ENDIF


Du ophæver blot linjerne omkring TTSABORT:

IF &Err_num THEN
    //#TTSABORT
    //#ShowErrorLog("Dan primoposter")
ELSE
  #TTS(COMMIT)
ENDIF

Du ophæver linjerne ved at sætte 2 skråstreger (den over 7-taller) forand.

Når du triller 'Dan primoposter' næste gang, så virker det.

God fornøjelse

ADDCON

Peter Agger

OBS  -  Hvis det er en ældre C5 hedder kørslen  (QTX)  'DanPrimopost'
Avatar billede Broholm Novice
22. januar 2021 - 17:44 #2
Det er lidt for frækt et forslag efter min smag.
Sæt i stedet hak i feltet som hedder noget med Debit/Kredit i det samme skærmbillede hvor du angiver datoen, når du vil danne primoposterne. Det burde virke så.

Mvh
Broholm
Avatar billede Broholm Novice
25. januar 2021 - 10:23 #3
Hvad værre er, så vil forslaget fra Peter Agger efterlade databasen med en åben transaktion hvilket vil lede til blokeringer af andre brugere og datatab når C5 lukkes ned.
Avatar billede ADDCON-C5 Forsker
25. januar 2021 - 10:34 #4
Hej Martin,

Der bliver jo netop skrevet en #TTSCOMMIT på de dannede primoposter, så den er jeg ikke helt enig i.
Avatar billede Broholm Novice
25. januar 2021 - 10:42 #5
&Err_Num vil stadig være > 0, da fejlen stadig er der, så den vil afvikle true-delen af IF sætningen, som nu er tom. #TTSCOMMIT er i ELSE delen.
Avatar billede ADDCON-C5 Forsker
25. januar 2021 - 10:57 #6
Davs igen,

Du har du ret - 'ELSE' udtrykker skal da også lige ophæves. godt set Martin, så den skal se således ud:

IF &Err_num THEN
    //  #TTSABORT
    //  #ShowErrorLog("Dan primoposter")
  //  ELSE
  #TTS(COMMIT)
ENDIF
Avatar billede Broholm Novice
25. januar 2021 - 11:25 #7
Nu efterlader den så TTS'en åben, hvis der _ikke_ er fejl. Hvis &Err_Num = 0, så bliver #TTS(COMMIT) ikke kørt
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