{XAL:SMARTKonvertering} {浜様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様融} { Krsel til eksport af flgende til brug for SMART konvertering } { Kontoplan - C5_Konto.csv } { Debitorer - C5_Debitor.csv } { Kreditorer - C5_Kreditor.csv } { Finansposteringer - C5_Postering.csv } { Firmaoplysninger - C5_Firmaoplysninger.csv } { Afdeling/brer/forml - C5_Dimension.csv } { Debitorposteringer - C5_Debitorposter.csv } { Debitorudligninger - C5_Debitorudligningsposter.csv } { Kreditorposteringer - C5_Kreditorposter.csv } { Kreditorudligninger - C5_Kreditorudligningsposter.csv } { Pdf faktura - mappen PDF - skal oprettes manuelt } { Til C5 version 4.0 } {藩様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様様夕} //4.0 #MacroLoad(FILE_UTIL) #MacroLoad(FUNKTIONER) #MacroLoad(TMP_FILE) #MacroLoad(Generelt) #MacroLoad(Funktion) #MacroLoad(TYPE) #MacroLoad(SYSTEMKONTI) STR 254 &FileFolder STR 254 &FileName STR 254 &FromAcc STR 254 &ToAcc STR 10 &Zip STR 100 &City STR 255 &Country INT &Counter INT &Ok STR 20 &CINumber STR 250 &ValidCharacter = "abcdefghijklmnopqrstuvwzyx1234567890.,+-*/#_()" +"':&<>!;="+'"' INT &MaxLengthLedAccount INT &MinLengthLedAccount STR 20 &MaxLengthLedAccountNumber STR 20 &MinLengthLedAccountNumber STR 10 &BalanceFrom STR 10 &BalanceTo STR 10 &FirstAccType_Balance ENUM NejJa &PrimoOk DATE &PrimoTransDate #ValKursDef(&ExchRate) //4.0 //4.0#CurExchRateDef(&ExchRate) REAL &SalesPrice REAL &CostPrice STR 10 &StdPriceGroup = LagPrisgruppe[GruppeIdx > ''].Gruppe //Variable til pdf faktura ENUM NejJa &PdfOk STR 254 &PdfFileFolder INT &OverrideOutput = 2 STR 254 &OverridePrinter = 'SMART2NAV' STR 254 &OverrideOSPrinter = '' ENUM NejJa &MakeXML = 0 //Variable til debitorposter STR 254 &FileName2 STR 255 &CustTransType STR 255 &CustTransSettleType STR 255 &UdlignBilagsTp STR 255 &UdlignBilagsnr STR 255 &Afvent STR 10 &PrimoAccount //15.07.2016 STR 10 &LedAcc //15.07.2016 //Variable til tjek af primoposter INT &PrId #TypeFinKt &OpeningAcc #TypeFinKt &Account ENUM Kontotype &AccountType #TypeFinKt &YearEndResult DATE &OP DATE &UL DATE &OPNext //Variable til primo konto INT &PrAccId ENUM NejJa &PrAccOk ENUM NejJa &PrAccUsed ENUM PostType &PrTransType DATE &FromPrimo //15.09.2016 DATE &FirstLedTransDate //15.09.2016 DATE &FirstLedTransDateOpr //24.10.2016 INT &PrimoCnt = 4 //Pt. 5 r bagud. Skiftes her, hvis der skal flere eller frre 15.09.2016 INT &PrimoIncl //Variable til perioder DATE &TmpDate STR 3 &TmpPR #LOCALMACRO.Err #Add(&Err_Num,1) SET &Err_Log[&Err_Num] = %1+"\n" #ENDMACRO #LOCALMACRO.ValidateCountry // Validering af landekoder IF #InList(%1.Land, 'Forenede Arabiske Emirater', 'strig', 'Australien', 'Belgien', 'Bulgarien', 'Brunei', 'Brasilien', 'Canada', 'Schweiz', 'Kina') OR #InList(%1.Land, 'Cypern', 'Tjekkiet', 'Tyskland', 'Danmark', 'Algeriet', 'Estland', 'Grkenland', 'Spanien', 'Finland', 'Fiji-erne') OR #InList(%1.Land, 'Frankrig', 'Storbritannien', 'Grnland', 'Kroatien', 'Ungarn', 'Indonesien', 'Irland', 'Indien', 'Island', 'Italien') OR #InList(%1.Land, 'Japan', 'Kenya', 'Litauen', 'Luxembourg', 'Letland', 'Marokko', 'Montenegro', 'Malta', 'Mexico', 'Malaysia') OR #InList(%1.Land, 'Mozambique', 'Nigeria', 'Nederlandene', 'Norge', 'New Zealand', 'Filippinerne', 'Polen', 'Portugal', 'Rumnien', 'Serbien') OR #InList(%1.Land, 'Rusland', 'Saudi-Arabien', 'Salomonerne', 'Sverige', 'Singapore', 'Slovenien', 'Slovakiet', 'Swaziland', 'Thailand', 'Tunesien') OR #InList(%1.Land,'Tyrkiet', 'Tanzania', 'Uganda', 'USA', 'Vanuatu', 'Samoaerne', 'Sydafrika', 'Frerne', '') THEN //Do nothing ELSE #IFNOT.EMPTY(%2) SET %2 = '' #ENDIF #IF.EMPTY(%2) #Err('Kontonummer "' +%1.Konto+ '" i ' + FilePName(%1) + ' indeholder land \nder ikke understttes af Dynamics NAV: "' +%1.Land+'"'+'\n68 lande er som standard understttet i NAVonline.nu') #ENDIF ENDIF #ENDMACRO #LOCALMACRO.ChangeTxt WHILE StrScan(%1,'\"',1,255) SET %1 = (SubStr(%1,1,StrScan(%1,'\"',1,255)-1) + '' + SubStr(%1,StrScan(%1,'\"',1,255)+1,255)) END #ENDMACRO WINDOW 80,10 AT 20,5 PRINT "Status" AT -1,-1 PRINT "Validering........: " AT 1,1 PRINT "Skriver...........: " AT 1,2 PRINT "Kontoplan.........: " AT 1,3 PRINT "Debitorer.........: " AT 1,4 PRINT "Kreditorer........: " AT 1,5 PRINT "Posteringer.......: " AT 1,6 PRINT "Lagerkartotek.....: " AT 1,7 PRINT "Firmakartotek.....: " AT 1,8 PRINT "Dimensioner.......: " AT 1,9 //06.10.2016 => #Prompt "SMARTkonvertering", "Angiv primo dato for det frste r som skal udlses.", #StrPrompt("Primo dato") GET(&FromPrimo REF FinPeriode.Start), "Der vil altid startes med den tilhrende primo periode for ret",, "Skal kun frste rs primoposter med ud eller alle primoposter?", #StrPrompt("Primoposter") GET(&PrimoIncl LENGTH 16 ASENUM "Kun frste r\nAlle primoposter"), #PromptAbort(10,5) #GetPrimoRegnskabsr(&FromPrimo,&FromPrimo) // <= 06.10.2016 //Tjek for om der ligger poster i det frste r. SEARCH FinPost USING DatoIdx WHERE FinPost.Budgetkode == 0 SET &FirstLedTransDateOpr = FinPost.Dato BREAK END #GetPrimoRegnskabsr(&FirstLedTransDateOpr,&FirstLedTransDate) IF &FirstLedTransDate <= &FirstLedTransDateOpr THEN //S vi undgr fejl ved at perioden ikke er oprettet. IF &FromPrimo < &FirstLedTransDate THEN SET &FromPrimo = &FirstLedTransDate ENDIF ENDIF // <= 15.09.2016 {+--------------------------------------------------------------------------+} { Start validering } {+--------------------------------------------------------------------------+} SET &Counter = 0 #LocalMacro.ValidateCustVendTable // %1 Kartotek CustTable eller VendTable SEARCH %1 IF &Counter MOD 100 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,1 ENDIF IF %1.Momsnummer THEN INTRODUCE Land[KodeIdx, %1.Land ? %1.Land : "Danmark"] IF NOT Land.Mokode THEN #Err('Kan ikke finde momskode for land "' +%1.Land+ ' "p ' +FilePName(%1)+ ' '+%1.Konto + ' ' + %1.Navn +'. Udlsning af momsnr bliver ikke korrekt.\nTjek landekartotek og feltet landekode i momsnummer') ENDIF ENDIF IF %1.Konto <> StrKeep(%1.Konto, &ValidCharacter) THEN #Err('Kontonummer "' +%1.Konto+ '" i ' + FilePName(%1)+ ' indeholder ulovlige tegn.\nFlgende tegn m anvendes: ' +&ValidCharacter) ENDIF #ValidateCountry(%1) #ADD(&Counter, 1) END #EndMacro #ValidateCustVendTable(DebKart) #ValidateCustVendTable(KreKart) SEARCH LagKart IF &Counter MOD 100 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,1 ENDIF SET LagKart.VareNummer = StrReplaceAll(LagKart.VareNummer, " ", "-") IF LagKart.VareNummer <> StrKeep(LagKart.VareNummer, &ValidCharacter) THEN #Err('Varenummer "' +LagKart.VareNummer+ '" i ' + FilePName(LagKart)+ ' indeholder ulovlige tegn.\nFlgende tegn m anvendes: ' +&ValidCharacter) ENDIF #ADD(&Counter, 1) END SEARCH FinKart IF &Counter MOD 100 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,1 ENDIF IF FinKart.Konto <> StrKeep(FinKart.Konto, &ValidCharacter) THEN #Err('Kontonummer "' +FinKart.Konto+ '" i ' + FilePName(FinKart)+ ' indeholder ulovlige tegn.\nFlgende tegn m anvendes: ' +&ValidCharacter) ENDIF #ADD(&Counter, 1) // 18.08.2014 => IF NOT &FirstAccType_Balance AND FinKart.KontoType == 1 THEN SET &FirstAccType_Balance = FinKart.Konto ENDIF END //Validering af primoposter #GetTempId(&PrId) #Tmp_Delete(TmpKontoSum,KontoIdx,&PrId) SET &YearEndResult = Systemkonti[NavnIdx, 0, #SkretsResultat].Konto1 IF NOT &YearEndResult THEN #Abort("@SYS65716") ENDIF IF FinKart[KontoIdx, &YearEndResult].Kontotype <> 1 THEN #Abort("@SYS65717") ENDIF SEARCH FinPost USING KtoDatoIdx WHERE FinPost.Budgetkode == 0 AND FinPost.Dato >= PrevYr(&FromPrimo) //07.10.2016 IF &Account <> Konto THEN INTRODUCE FinKart[KontoIdx,FinPost.Konto] SET &AccountType= FinKart.KontoType SET &Account = FinPost.Konto //2012 SET &OpeningAcc = LedTable.OpeningAccount //SET &OpeningAcc = DSP_FinKart_Ref[KontoIdx,FinPost.Konto].OP //Nr der er brugt Plus ENDIF #GetPrimoRegnskabsr(FinPost.Dato,&OP) #GetUltimoRegnskabsr(FinPost.Dato,&UL) #GetPrimoRegnskabsr(&UL+1,&OPNext) IF &OP == FinPost.Dato THEN IF FinPost.Dato == PrevYr(&FromPrimo) THEN //primo fra ret fr perioden skal ikke tlles som primopost, men blot vre med i sammentllingen af FromPrimo ELSE //Dette er en primopost INTRODUCE TmpKontoSum[KontoIdx, &PrId,FinPost.Konto, FinPost.BudgetKode, Date2Str(&OP,321,2,3,2,3,4),'','','', FinPost.Valuta] #ADD(TmpKontoSum.Saldo10, FinPost.BelbDKK) #ADD(TmpKontoSum.Saldo11, FinPost.BelbVAL) SET TmpKontoSum.Dato = &OP SET TmpKontoSum.Saldo12 = 1 //S vi kan sorterer de poster fra som ikke har fet dannet primo endnu #DbUpdate(TmpKontoSum) ENDIF //Primoposten skal tlles med ret efter i den primopost IF &OP <> &OPNext THEN INTRODUCE TmpKontoSum[KontoIdx, &PrId,FinPost.Konto, FinPost.BudgetKode, Date2Str(&OPNext,321,2,3,2,3,4),'','','', FinPost.Valuta] SET TmpKontoSum.Dato = &OPNext #Add(Saldo01, FinPost.BelbDKK) #Add(Saldo02, FinPost.BelbVAL) #DbUpdate(TmpKontoSum) ENDIF ELSEIF &AccountType == 0 THEN IF &OPNext <> &OP THEN INTRODUCE TmpKontoSum[KontoIdx, &PrId,&YearEndResult, FinPost.BudgetKode, Date2Str(&OPNext,321,2,3,2,3,4),'','','', FinPost.Valuta] SET TmpKontoSum.Session = &PrId SET TmpKontoSum.Konto = &YearEndResult SET TmpKontoSum.BudgetKode = FinPost.BudgetKode SET TmpKontoSum.Afdeling = Date2Str(&OPNext,321,2,3,2,3,4) SET TmpKontoSum.Brer = '' SET TmpKontoSum.Forml = '' SET TmpKontoSum.Moms = '' SET TmpKontoSum.Valuta = FinPost.Valuta SET TmpKontoSum.Dato = &OPNext #Add(Saldo01, FinPost.BelbDKK) #Add(Saldo02, FinPost.BelbVAL) #DbUpdate(TmpKontoSum) ENDIF ELSE IF &OPNext <> &OP THEN INTRODUCE TmpKontoSum[KontoIdx, &PrId, (&AccountType == 1 AND &OpeningAcc) ? &OpeningAcc : &Account, FinPost.BudgetKode, Date2Str(&OPNext,321,2,3,2,3,4), '', '', '', FinPost.Valuta] SET TmpKontoSum.Session = &PrId SET TmpKontoSum.Konto = (&AccountType == 1 AND &OpeningAcc) ? &OpeningAcc : &Account SET TmpKontoSum.BudgetKode = FinPost.BudgetKode SET TmpKontoSum.Afdeling = Date2Str(&OPNext,321,2,3,2,3,4) SET TmpKontoSum.Brer = '' SET TmpKontoSum.Forml = '' SET TmpKontoSum.Moms = '' SET TmpKontoSum.Valuta = FinPost.Valuta SET TmpKontoSum.Dato = &OPNext #Add(Saldo01, FinPost.BelbDKK) #Add(Saldo02, FinPost.BelbVAL) #DbUpdate(TmpKontoSum) ENDIF ENDIF END SEARCH TmpKontoSum USING KontoIdx WHERE TmpKontoSum.Session == &PrId AND ((TmpKontoSum.Saldo01 <> TmpKontoSum.Saldo10) OR (TmpKontoSum.Saldo02 <> TmpKontoSum.Saldo11)) #Err('Konto "' +TmpKontoSum.Konto+ '" stemmer ikke i primopost ' + Date2Str(TmpKontoSum.Dato,123,1,4,1,3,4)+ ' - Belb '+Num2Str(TmpKontoSum.Saldo01,1,2,1,2)+' - PR '+Num2Str(TmpKontoSum.Saldo10,1,2,1,2)+ '.\nDan primo skal kres! ') //#Err('Konto "' +TmpKontoSum.Konto+ '" stemmer ikke i primopost ' + Date2Str(TmpKontoSum.Dato,123,1,4,1,3,4)+ ' - valuta '+TmpKontoSum.Valuta+'.\nDan primo skal kres! ') END PRINT Num2Str(&Counter,15,0,0,0) AT 20,1 IF &Err_Num THEN #VisErrorLog("SMARTKonvertering til NAV / C5 2014 Online") IF BOX(3,"Der er fundet fejl, fortst udlsning?\n" +"\nOBS. Landekoder der ikke er understttet blankes ved udlsning!" +"\nOBS. Varenumre med ulovlige tegn udelades fra udlsningen!",2)==2 THEN RETURN 0 ENDIF ENDIF {+--------------------------------------------------------------------------+} { Slut p validering } {+--------------------------------------------------------------------------+} //SET &FileFolder = #GetFolder("Sti til eksport filer",&FileFolder) #Prompt "SMARTKonvertering", #StrPrompt("Angiv sti til eksport filer") GET(&FileFolder), #PromptAbort(10,5) #FileCheckPath(&FileFolder) IF NOT #FileExists(&FileFolder) THEN SET Box(2,StrFmt("@SYS34565","@SYS62726",&FileFolder),1) RETURN 0 ENDIF #Prompt "Pdf faktura", "Skal en kopi af fakturaerne udskrives til pdf filer?", #StrPrompt("Dan pdf") GET(&PdfOk), "Forudstninger:", "Der skal vre oprettet en eDoc printer med navnet SMART2NAV.", "Der skal vre indsat kode i fakturalayoutet", "PDF-mappen skal vre oprettet", "Sat faktura til at printe p SMART2NAV", #PromptAbort(10,5) IF &PdfOk THEN SET &PdfFileFolder = &FileFolder+'\\PDF' { IF NOT #FileExists(&PdfFileFolder) THEN } { #FolderCreate("Pdf mappe",&PdfFileFolder) } { ENDIF } ENDIF #ADD(&FileFolder, &Regnskab+"_") PRINT "Skriver...........: ", &FileFolder AT 1,2 SET &OUTRECDEL = #TextRecDel SET &OUTFLDDEL = ';' WHILE NOT &Ok SET &Ok = 1 #Prompt "Angiv interval for finanskonti", #StrPrompt("Konto") GET(&FromAcc LENGTH 10 ref FinKart.Konto) " " GET(&ToAcc LENGTH 10 ref FinKart.Konto) #PromptAbort(10,5) IF NOT &FromAcc OR NOT &ToAcc THEN SET BOX(2,"Fra og Til konto skal udfyldes - prv igen !",0) SET &Ok = 0 ENDIF #PROMPT "Angiv standard salgs-prisgruppe", #StrPrompt("Prisgruppe") GET (&StdPriceGroup LENGTH 10 REF LagPrisgruppe.Gruppe) #PROMPTABORT(10,5) IF NOT &StdPriceGroup THEN SET BOX(2,"Standard pris-gruppe skal angives - prv igen !",0) SET &Ok = 0 ENDIF END {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af kontoplan } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} #LocalMacro.UserFormatStr '\"'+#Asc2Ans(%1)+'\"' #EndMacro #LocalMacro.UserFormatReal Num2Str(%1,1,2,2,0) #EndMacro SET &FileName = &FileFolder+'C5_Kontoplan.csv' WRITE &FileName AS TEXT FROM ( #UserFormatStr("Number",'"',0,0) ,#UserFormatStr("Name",'"',0,0) ,#UserFormatStr("Type",'"',0,0) ,#UserFormatStr("Totalfromhandle",'"',0,0) ,#UserFormatStr("IsAccessible",'"',0,0) ,#UserFormatStr("OpeningAccount",'"',0,0) ,#UserFormatStr("VatCode",'"',0,0) ) SET &Counter = 0 SET &MinLengthLedAccount = 10 SEARCH FinKart USING KontoIdx WHERE Konto AND Konto >= &FromAcc AND Konto <= &ToAcc SET &Counter = &Counter + 1 IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,3 ENDIF WRITE &FileName AS TEXT FROM ( #UserFormatStr(FinKart.Konto,'"',0,0) ,#UserFormatStr(FinKart.Kontonavn,'"',0,0) ,#UserFormatStr(Enum2Str(FinKart.KontoType),'"',0,0) ,#UserFormatStr(FinKart.SumFraKonto,'"',0,0) ,#UserFormatStr(Int2Str(FinKart.Adgang),'"',0,0) ,#UserFormatStr('','"',0,0) ,#UserFormatStr(FinKart.Moms,'"',0,0) ) IF FinKart.KontoType <= 1 THEN IF StrLen(FinKart.Konto) > &MaxLengthLedAccount THEN SET &MaxLengthLedAccount = StrLen(FinKart.Konto) SET &MaxLengthLedAccountNumber = FinKart.Konto ENDIF IF StrLen(FinKart.Konto) < &MinLengthLedAccount THEN SET &MinLengthLedAccount = StrLen(FinKart.Konto) SET &MinLengthLedAccountNumber = FinKart.Konto ENDIF ENDIF END PRINT Num2Str(&Counter,15,0,0,0) AT 20,3 IF &MaxLengthLedAccount <> &MinLengthLedAccount THEN INTRODUCE FinKart[KontoIdx, &MinLengthLedAccountNumber] RENAME Buffer SET &MinLengthLedAccountNumber = "0000000000"+ &MinLengthLedAccountNumber SET &MinLengthLedAccountNumber = SubStr(&MinLengthLedAccountNumber, 20, -&MaxLengthLedAccount-1) IF BOX(3,"Lngden af kontonummere i kontoplan er ikke ens!\n\n" + "For at f en korrekt sortering i NAV / C5 2014 sttes der 0'er foran kontonummere som er kortere end den lngste konto.\n" + "Det vil betyde at alle konti som er under " +Int2Str(&MaxlengthLedAccount)+ " tegn vil der blive tilfjet 0'er foran kontonr, fordi konto \"" +&MaxLengthLedAccountNumber+ "\" er " +Int2Str(&MaxLengthLedAccount)+ " tegn.\n\n" + "F.eks. vil konto \"" +Buffer.Konto+ "\" bliver ndret til: \""+&MinLengthLedAccountNumber+ "\".\n\n" + "Lsning er at ndre den eller de lngste konti til et kortere kontonummer i C5 inden der forstttes med SMARTKonvertering.\n\n\n\n" + "Vil du fortstte udlsning?",2)==2 THEN RETURN 0 ENDIF ENDIF {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af finansperioder } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Regnskabsperioder.csv' WRITE &FileName AS TEXT FROM ( #UserFormatStr("StartDate",'"',0,0) ,#UserFormatStr("NewYear",'"',0,0) ) SET &Counter = 0 SEARCH FinPeriode USING DatoIdx WHERE FinPeriode.Start >= &FromPrimo // 08.12.2014 IF UltimoYr(FinPeriode.Start) THEN //Ultimo post skal ikke med ELSE IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,4 ENDIF IF &TmpDate == #StartMth(FinPeriode.Start) THEN //Den frst post efter primo skal ikke med, idet primoposten er kommet med. ELSE SET &TmpDate = #StartMth(FinPeriode.Start) SET &TmpPR = PrimoYr(FinPeriode.Start) ? 'Ja' : 'Nej' WRITE &FileName AS TEXT FROM ( #UserFormatStr(Date2Str(&TmpDate,123,2,3,2,3,4),'"',0,0) ,#UserFormatStr(&TmpPR,'"',0,0) ) ENDIF ENDIF END {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af debitorer } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Debitor.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("Number",'"',0,0) ,#UserFormatStr("DebtorGroupHandle",'"',0,0) ,#UserFormatStr("Name1",'"',0,0) ,#UserFormatStr("Name2",'"',0,0) ,#UserFormatStr("Address1",'"',0,0) ,#UserFormatStr("Address2",'"',0,0) ,#UserFormatStr("PostalCode",'"',0,0) ,#UserFormatStr("City",'"',0,0) ,#UserFormatStr("Country",'"',0,0) ,#UserFormatStr("TelephoneAndFaxNumber",'"',0,0) ,#UserFormatStr("Email",'"',0,0) ,#UserFormatStr("Website",'"',0,0) ,#UserFormatStr("IsAccesible",'"',0,0) ,#UserFormatStr("CurrencyHandle",'"',0,0) ,#UserFormatStr("CINumber",'"',0,0) ,#UserFormatStr("EAN",'"',0,0) ,#UserFormatStr("TermOfPaymentHandle",'"',0,0) ) SEARCH DebKart USING KontoIdx SET &Counter = &Counter + 1 IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,4 ENDIF SET &Zip = SubStr(DebKart.PostBy,1,StrFind(DebKart.PostBy,' ',1,50)-1) SET &City = Postnummer[PostNrIdx,&Zip].Bynavn ? Postnummer[PostNrIdx,&Zip].Bynavn : StrLTrim(StrRem(DebKart.PostBy,&Zip)) INTRODUCE Land[KodeIdx, DebKart.Land ? DebKart.Land : "Danmark"] SET &Country = Land.Land #ValidateCountry(Land,&Country) SET DebKart.Valuta = DebKart.Valuta == &StdValuta ? "" : DebKart.Valuta WRITE &FileName AS TEXT FROM ( #UserFormatStr(DebKart.Konto,'"',0,0) ,#UserFormatStr(DebKart.Gruppe,'"',0,0) ,#UserFormatStr(DebKart.Navn,'"',0,0) ,#UserFormatStr("",'"',0,0) ,#UserFormatStr(DebKart.Adresse1,'"',0,0) ,#UserFormatStr(DebKart.Adresse2,'"',0,0) ,#UserFormatStr(&Zip,'"',0,0) ,#UserFormatStr(&City,'"',0,0) ,#UserFormatStr(&Country,'"',0,0) ,#UserFormatStr(DebKart.Telefon,'"',0,0) ,#UserFormatStr(DebKart.Email,'"',0,0) ,#UserFormatStr(DebKart.URL,'"',0,0) ,#UserFormatStr(Int2Str(DebKart.Sprret),'"',0,0) ,#UserFormatStr(DebKart.Valuta,'"',0,0) ,#UserFormatStr(DebKart.Momsnummer ? Land.Mokode + DebKart.Momsnummer : "",'"',0,0) ,#UserFormatStr(DebKart.EanNumber,'"',0,0) ,#UserFormatStr(DebKart.Betaling,'"',0,0) ) END {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af kreditorer } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Kreditor.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("Number",'"',0,0) ,#UserFormatStr("CreditorGroupHandle",'"',0,0) ,#UserFormatStr("Name1",'"',0,0) ,#UserFormatStr("Name2",'"',0,0) ,#UserFormatStr("Address1",'"',0,0) ,#UserFormatStr("Address2",'"',0,0) ,#UserFormatStr("PostalCode",'"',0,0) ,#UserFormatStr("City",'"',0,0) ,#UserFormatStr("Country",'"',0,0) ,#UserFormatStr("CurrencyHandle",'"',0,0) ,#UserFormatStr("IsAccesible",'"',0,0) ,#UserFormatStr("TermOfPaymentHandle",'"',0,0) ,#UserFormatStr("TelephoneAndFaxNumber",'"',0,0) ,#UserFormatStr("Email",'"',0,0) ,#UserFormatStr("Website",'"',0,0) ,#UserFormatStr("BankAccount",'"',0,0) ,#UserFormatStr("CINumber",'"',0,0) ) SEARCH KreKart USING KontoIdx SET &Counter = &Counter + 1 IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,5 ENDIF SET &Zip = SubStr(KreKart.PostBy,1,StrFind(KreKart.PostBy,' ',1,50)-1) SET &City = Postnummer[PostNrIdx,&Zip].Bynavn ? Postnummer[PostNrIdx,&Zip].Bynavn : StrLTrim(StrRem(KreKart.PostBy,&Zip)) INTRODUCE Land[KodeIdx, KreKart.Land ? KreKart.Land : "Danmark"] SET &Country = Land.Land #ValidateCountry(Land,&Country) SET KreKart.Valuta = KreKart.Valuta == &StdValuta ? "" : KreKart.Valuta WRITE &FileName AS TEXT FROM ( #UserFormatStr(KreKart.Konto,'"',0,0) ,#UserFormatStr(KreKart.Gruppe,'"',0,0) ,#UserFormatStr(KreKart.Navn,'"',0,0) ,#UserFormatStr("",'"',0,0) ,#UserFormatStr(KreKart.Adresse1,'"',0,0) ,#UserFormatStr(KreKart.Adresse2,'"',0,0) ,#UserFormatStr(&Zip,'"',0,0) ,#UserFormatStr(&City,'"',0,0) ,#UserFormatStr(&Country,'"',0,0) ,#UserFormatStr(KreKart.Valuta,'"',0,0) ,Int2Str(KreKart.Sprret) ,#UserFormatStr(KreKart.Betaling,'"',0,0) ,#UserFormatStr(KreKart.Telefon,'"',0,0) ,#UserFormatStr(KreKart.Email,'"',0,0) ,#UserFormatStr(KreKart.URL,'"',0,0) ,#UserFormatStr(KreKart.Bankkonto,'"',0,0) ,#UserFormatStr(KreKart.Momsnummer ? Land.Mokode+KreKart.Momsnummer : "",'"',0,0) ) END {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af Posteringer } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} //Check af om frste post p en status konto har primo flaget hejst. I givet fald skal alle poster //med denne primo dato med ud. SEARCH FinPost USING DatoIdx WHERE FinPost.Konto >= &FirstAccType_Balance IF FinKart[KontoIdx,FinPost.Konto].KontoType == 1 THEN SET &PrimoTransDate = FinPost.Dato BREAK ENDIF END SET &PrimoTransDate = &FromPrimo //15.09.2016 SET &PrimoOk = PrimoYr(&PrimoTransDate) ? 1 : 0 SET &FileName = &FileFolder+'C5_Postering.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("Handle",'"',0,0) ,#UserFormatStr("Type",'"',0,0) ,#UserFormatStr("Date",'"',0,0) ,#UserFormatStr("AccountHandle",'"',0,0) ,#UserFormatStr("VoucherNumber",'"',0,0) ,#UserFormatStr("Text",'"',0,0) ,#UserFormatStr("Amount",'"',0,0) ,#UserFormatStr("CurrencyHandle",'"',0,0) ,#UserFormatStr("AmountDefaultCurrency",'"',0,0) ,#UserFormatStr("Quantity1",'"',0,0) ,#UserFormatStr("Dimension1",'"',0,0) ,#UserFormatStr("Dimension2",'"',0,0) ,#UserFormatStr("Dimension3",'"',0,0) ) SEARCH FinPost USING KtoDatoIdx WHERE FinPost.BudgetKode == 0 AND FinPost.Konto >= &FromAcc AND FinPost.Konto <= &ToAcc AND FinPost.Dato >= &FromPrimo //15.09.2016 AND (PrimoYr(FinPost.Dato) == 0 // 15.09.2016 Det er ikke en primopost. OR (&PrimoOk AND FinPost.Dato == &PrimoTransDate) //15.09.2016 OR &PrimoIncl) AND FinKart[KontoIdx == Konto].Lbenummer AND ( FinKart[KontoIdx == Konto].KontoType == 0 OR FinKart[KontoIdx == Konto].KontoType == 1) SET &Counter = &Counter + 1 IF &Counter MOD 100 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,6 ENDIF IF NOT Bilag THEN SET Bilag = 1 ENDIF IF UltimoYr(Dato) THEN SET Dato = EndMth(Dato) ENDIF IF PrimoYr(Dato) THEN SET Dato = #StartMth(Dato) ENDIF #ChangeTxt(FinPost.Tekst) {17.03.2015} SET FinPost.Valuta = FinPost.Valuta == &StdValuta ? "" : FinPost.Valuta WRITE &FileName AS TEXT FROM ( #UserFormatStr(Int2Str(FinPost.Lbenummer),'"',0,0) ,#UserFormatStr(Enum2Str(FinPost.Posttype),'"',0,0) ,#UserFormatStr(Date2Str(FinPost.Dato,321,2,3,2,3,4),'"',0,0) ,#UserFormatStr(FinPost.Konto,'"',0,0) ,#UserFormatStr(Int2Str(FinPost.Bilag),'"',0,0) ,#UserFormatStr(FinPost.Tekst,'"',0,0) ,#UserFormatReal(FinPost.BelbVAL,'9999.99') ,#UserFormatStr(FinPost.Valuta,'"',0,0) ,#UserFormatReal(FinPost.BelbDKK,'9999.99') ,#UserFormatReal(FinPost.Antal,'9999.99') ,#UserFormatStr(FinPost.Afdeling,'"',0,0) ,#UserFormatStr(FinPost.Brer,'"',0,0) ,#UserFormatStr(FinPost.Forml,'"',0,0) ) END PRINT Num2Str(&Counter,15,0,0,0) AT 20,6 {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af Debitor posteringer + udligninger } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Debitorposter.csv' SET &FileName2 = &FileFolder+'C5_Debitorudligningsposter.csv' WRITE &FileName AS TEXT FROM ( 'Account' ,'Date' ,'Type' ,'VoucherNumber' ,'InvoiceNumber' ,'Text' ,'AmountDefaultcurrency' ,'Amount' ,'Currency' ,'DueDate' ,'Dimension1' ,'Dimension2' ,'Dimension3' ,'Handle' ) WRITE &FileName2 AS TEXT FROM ( 'Account' ,'Date' ,'VoucherNumber' ,'Amount' ,'AmountDefaultcurrency' ,'Currency' ,'Handle' ,'ClosingVoucherNumber' ) SEARCH DebPost USING KtoDatoIdx WHERE DebPost.BelbVAL SET &Counter = &Counter + 1 IF &Counter MOD 100 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,6 ENDIF SET &UdlignBilagsNr = "" SET DebPost.Valuta = DebPost.Valuta == &StdValuta ? "" : DebPost.Valuta SET &CustTransType = ' ' #SWITCH(DebPost.Posttype) #Case(1) SET &CustTransType = 'Faktura' IF DebPost.BelbVAL < 0 THEN SET &CustTransType = 'Kreditnota' ENDIF #Case(2) SET &CustTransType = 'Kreditnota' IF DebPost.BelbVAL > 0 THEN SET &CustTransType = 'Faktura' ENDIF #Case(3) SET &CustTransType = 'Betaling' #Case(4) SET &CustTransType = 'Rentenota' #Case(12) SET &CustTransType = 'Rykker' #EndSwitch #ChangeTxt(DebPost.Tekst) {29.09.2015} WRITE &FileName AS TEXT FROM ( #UserFormatStr(DebPost.Konto,'"',0,0) ,#UserFormatStr(Date2Str(DebPost.Dato,321,2,3,2,3,4),'"',0,0) ,#UserFormatStr(&CustTransType,'"',0,0) ,Int2Str(DebPost.Bilag) ,#UserFormatStr(DebPost.Faktura,'"',0,0) ,#UserFormatStr(DebPost.Tekst,'"',0,0) ,#UserFormatReal(DebPost.BelbDKK+DebPost.DiffBogfrt,'9999.99') ,#UserFormatReal(DebPost.BelbVAL,'9999.99') ,#UserFormatStr(DebPost.Valuta,'"',0,0) ,#UserFormatStr(Date2Str(DebPost.Forfald,321,2,3,2,3,4),'"',0,0) ,#UserFormatStr(DebPost.Afdeling,'"',0,0) ,#UserFormatStr(DebPost.Brer,'"',0,0) ,#UserFormatStr(DebPost.Forml,'"',0,0) ,Int2Str(DebPost.RecId) ) SEARCH DebPostUdlign USING KtoRefIdx WHERE DebPostUdlign.PostRef == DebPost.RecId AND DebPostUdlign.Konto == DebPost.Konto AND DebPostUdlign.Ophvet == 0 AND DebPostUdlign.BelbVAL SET &UdlignBilagsnr = int2str(DebPost.Bilag) SEARCH DebPostUdlign RENAME Settle USING TransIdx WHERE Settle.Transaktion == DebPost.Transaktion AND Settle.Konto == DebPost.Konto AND Settle.PostRef <> DebPost.RecId SET &UdlignBilagsnr = int2str(DebPost[RecId, Settle.PostRef].Bilag) END SET DebPost.Valuta = DebPost.Valuta == &StdValuta ? "" : DebPost.Valuta WRITE &FileName2 AS TEXT FROM ( #UserFormatStr(DebPost.Konto,'"',0,0) ,#UserFormatStr(Date2Str(DebPostUdlign.Dato,321,2,3,2,3,4),'"',0,0) ,Int2Str(DebPost.Bilag) ,#UserFormatReal(DebPostUdlign.BelbVAL,'9999.99') ,#UserFormatReal(DebPostUdlign.BelbDKK,'9999.99') ,#UserFormatStr(DebPost.Valuta,'"',0,0) ,#UserFormatStr(Int2Str(DebPostUdlign.PostRef),'"',0,0) ,#UserFormatStr((&UdlignBilagsnr),'"',0,0) ) END END PRINT Num2Str(&Counter,15,0,0,0) AT 20,6 {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af Kreditor posteringer + udligninger } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Kreditorposter.csv' SET &FileName2 = &FileFolder+'C5_Kreditorudligningsposter.csv' WRITE &FileName AS TEXT FROM ( 'Account' ,'Date' ,'Type' ,'VoucherNumber' ,'InvoiceNumber' ,'Text' ,'AmountDefaultcurrency' ,'Amount' ,'Currency' ,'DueDate' ,'Dimension1' ,'Dimension2' ,'Dimension3' ,'Handle' ) WRITE &FileName2 AS TEXT FROM ( 'Account' ,'Date' ,'VoucherNumber' ,'Amount' ,'AmountDefaultcurrency' ,'Currency' ,'Handle' ,'ClosingVoucherNumber' ) SEARCH KrePost USING KtoDatoIdx WHERE KrePost.BelbVAL SET &Counter = &Counter + 1 IF &Counter MOD 100 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,6 ENDIF SET &UdlignBilagsNr = "" SET KrePost.Valuta = KrePost.Valuta == &StdValuta ? "" : KrePost.Valuta SET &CustTransType = ' ' #SWITCH(KrePost.Posttype) #Case(1) SET &CustTransType = 'Faktura' IF KrePost.BelbVAL > 0 THEN SET &CustTransType = 'Kreditnota' ENDIF #Case(2) SET &CustTransType = 'Kreditnota' IF KrePost.BelbVAL < 0 THEN SET &CustTransType = 'Faktura' ENDIF #Case(3) SET &CustTransType = 'Betaling' #Case(4) SET &CustTransType = 'Rentenota' #Case(12) SET &CustTransType = 'Rykker' #EndSwitch #ChangeTxt(KrePost.Tekst) {29.09.2015} WRITE &FileName AS TEXT FROM ( #UserFormatStr(KrePost.Konto,'"',0,0) ,#UserFormatStr(Date2Str(KrePost.Dato,321,2,3,2,3,4),'"',0,0) ,#UserFormatStr(&CustTransType,'"',0,0) ,Int2Str(KrePost.Bilag) ,#UserFormatStr(KrePost.Faktura,'"',0,0) ,#UserFormatStr(KrePost.Tekst,'"',0,0) ,#UserFormatReal(KrePost.BelbDKK+KrePost.DiffBogfrt,'9999.99') ,#UserFormatReal(KrePost.BelbVAL,'9999.99') ,#UserFormatStr(KrePost.Valuta,'"',0,0) ,#UserFormatStr(Date2Str(KrePost.Forfald,321,2,3,2,3,4),'"',0,0) ,#UserFormatStr(KrePost.Afdeling,'"',0,0) ,#UserFormatStr(KrePost.Brer,'"',0,0) ,#UserFormatStr(KrePost.Forml,'"',0,0) ,Int2Str(KrePost.RecId) ) SEARCH KrePostUdlign USING KtoRefIdx WHERE KrePostUdlign.PostRef == KrePost.RecId AND KrePostUdlign.Konto == KrePost.Konto AND KrePostUdlign.Ophvet == 0 AND KrePostUdlign.BelbVAL SET &UdlignBilagsnr = int2str(KrePost.Bilag) SEARCH KrePostUdlign RENAME Settle USING TransIdx WHERE Settle.Transaktion == KrePost.Transaktion AND Settle.Konto == KrePost.Konto AND Settle.PostRef <> KrePost.RecId SET &UdlignBilagsnr = int2str(KrePost[RecId, Settle.PostRef].Bilag) END SET KrePost.Valuta = KrePost.Valuta == &StdValuta ? "" : KrePost.Valuta WRITE &FileName2 AS TEXT FROM ( #UserFormatStr(KrePost.Konto,'"',0,0) ,#UserFormatStr(Date2Str(KrePostUdlign.Dato,321,2,3,2,3,4),'"',0,0) ,Int2Str(KrePost.Bilag) ,#UserFormatReal(KrePostUdlign.BelbVAL,'9999.99') ,#UserFormatReal(KrePostUdlign.BelbDKK,'9999.99') ,#UserFormatStr(KrePost.Valuta,'"',0,0) ,#UserFormatStr(Int2Str(KrePostUdlign.PostRef),'"',0,0) ,#UserFormatStr((&UdlignBilagsnr),'"',0,0) ) END END PRINT Num2Str(&Counter,15,0,0,0) AT 20,6 {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af Lager } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Lager.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("Handle",'"',0,0) ,#UserFormatStr("Number",'"',0,0) ,#UserFormatStr("ProductGroupHandle",'"',0,0) ,#UserFormatStr("Name1",'"',0,0) ,#UserFormatStr("Name2",'"',0,0) ,#UserFormatStr("Barcode",'"',0,0) ,#UserFormatStr("Salesprice",'"',0,0) ,#UserFormatStr("CostPrice",'"',0,0) ,#UserFormatStr("RecommendePrice",'"',0,0) ,#UserFormatStr("Unithandle",'"',0,0) ,#UserFormatStr("Available",'"',0,0) ,#UserFormatStr("ItemType",'"',0,0) ) // derindlses i TmpAccountSum for at sikre der ikke er dubletter. #DeleteKontoSum(1234) SEARCH LagKart USING VareIdx SET &Counter = &Counter + 1 INTRODUCE TmpKontoSum[KontoIdx, 1234] SET TmpKontoSum.Konto = StrReplaceAll(LagKart.VareNummer, " ", "-") // er statter blanke tegn med - SET TmpKontoSum.Tekst = LagKart.VareNummer IF TmpKontoSum.Konto == StrKeep(TmpKontoSum.Konto, &ValidCharacter) THEN INSERT TmpKontoSum ENDIF END SEARCH TmpKontoSum WHERE TmpKontoSum.Session == 1234 INTRODUCE LagKart[VareIdx, TmpKontoSum.Tekst] IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,7 ENDIF #ValKursSet(LagKart.Kostvaluta,&SystemDato,&ExchRate) SET &CostPrice = #Belb( (LagKart.Kostprisenhed ? LagKart.Kostpris / LagKart.Kostprisenhed : LagKart.Kostpris ) * #ValKursDKK(&ExchRate)) INTRODUCE LagPris[VarePrisIdx == LagKart.VareNummer, &StdPriceGroup] #ValKursSet(LagPris.Valuta,&SystemDato,&ExchRate) SET &SalesPrice = #Belb( (LagPris.Prisenhed ? LagPris.Pris / LagPris.Prisenhed : LagPris.Pris ) * #ValKursDKK(&ExchRate)) #ChangeTxt(LagKart.Varenavn1) {24.02.2015} #ChangeTxt(LagKart.Varenavn2) {24.02.2015} WRITE &FileName AS TEXT FROM ( #UserFormatStr(Int2Str(LagKart.Lbenummer),'"',0,0) ,#UserFormatStr(TmpKontoSum.Konto,'"',0,0) ,#UserFormatStr(LagKart.Gruppe,'"',0,0) ,#UserFormatStr(LagKart.Varenavn1,'"',0,0) ,#UserFormatStr(LagKart.Varenavn2,'"',0,0) ,#UserFormatStr('','"',0,0) ,#UserFormatReal(&SalesPrice,'9999.00') ,#UserFormatReal(&Costprice,'9999.00') ,#UserFormatStr('','"',0,0) ,#UserFormatStr(LagKart.Enhed,'"',0,0) ,Int2Str(LagKart.Sprret) ,#UserFormatStr(LagKart.Varetype == 1 ? '1':'0','"',0,0) ) END {+--------------------------------------------------------------------------+} { Eksport af frste og sidste statuskonto } {+--------------------------------------------------------------------------+} SET &FileName = &FileFolder+'C5_FrsteOgSidsteStatuskonto.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("FromAccount",'"',0,0) ,#UserFormatStr("ToAccount",'"',0,0) ) SET &BalanceFrom = "" SET &BalanceTo = "" SEARCH FinKart USING KontoIdx WHERE Konto AND Konto >= &FromAcc AND Konto <= &ToAcc AND KontoType == 1 // Status #ADD(&Counter,1) IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,8 ENDIF IF NOT &BalanceFrom THEN //PRINT FinKart.Konto SET &BalanceFrom = FinKart.Konto PREV FinKart IF FinKart.KontoType <> 5 THEN SET &BalanceFrom = FinKart.Konto PREV FinKart IF FinKart.KontoType <> 5 THEN SET &BalanceFrom = FinKart.Konto PREV FinKart IF FinKart.KontoType <> 5 THEN SET &BalanceFrom = FinKart.Konto PREV FinKart IF FinKart.KontoType <> 5 THEN SET &BalanceFrom = FinKart.Konto PREV FinKart IF FinKart.KontoType <> 5 THEN SET &BalanceFrom = FinKart.Konto PREV FinKart ENDIF ENDIF ENDIF ENDIF ENDIF //SET &BalanceFrom = FinKart.Konto ELSE SET &BalanceTo = FinKart.Konto ENDIF END INTRODUCE FinKart[KontoIdx == &BalanceTo] SET &BalanceTo = FinKart.Konto NEXT FinKart IF FinKart.KontoType <> 2 THEN SET &BalanceTo = FinKart.Konto NEXT FinKart IF FinKart.KontoType <> 2 THEN SET &BalanceTo = FinKart.Konto NEXT FinKart IF FinKart.KontoType <> 2 THEN SET &BalanceTo = FinKart.Konto NEXT FinKart IF FinKart.KontoType <> 2 THEN SET &BalanceTo = FinKart.Konto NEXT FinKart IF FinKart.KontoType <> 2 THEN SET &BalanceTo = FinKart.Konto NEXT FinKart ENDIF ENDIF ENDIF ENDIF ENDIF IF Str2Int(&BalanceTo) > Str2Int(&ToAcc) THEN SET &BalanceTo = &ToAcc ENDIF WRITE &FileName AS TEXT FROM ( #UserFormatStr(&BalanceFrom,'"',0,0) ,#UserFormatStr(&BalanceTo,'"',0,0) ) {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af firmakartotek } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_virksomhedsoplysning.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("CINumber",'"',0,0) ,#UserFormatStr("Name",'"',0,0) ,#UserFormatStr("Address1",'"',0,0) ,#UserFormatStr("Address2",'"',0,0) ,#UserFormatStr("PostalCode",'"',0,0) ,#UserFormatStr("City",'"',0,0) ,#UserFormatStr("Country",'"',0,0) ,#UserFormatStr("Phone",'"',0,0) ,#UserFormatStr("CellPhone",'"',0,0) ,#UserFormatStr("Fax",'"',0,0) ,#UserFormatStr("Email",'"',0,0) ,#UserFormatStr("Website",'"',0,0) ,#UserFormatStr("Bank",'"',0,0) ,#UserFormatStr("Giro",'"',0,0) ,#UserFormatStr("BankName",'"',0,0) ,#UserFormatStr("Swift",'"',0,0) ,#UserFormatStr("IBAN",'"',0,0) ) SEARCH FirmaOplysninger SET &Zip = SubStr(FirmaOplysninger.PostBy,1,StrFind(FirmaOplysninger.PostBy,' ',1,50)-1) INTRODUCE Land[KodeIdx, FirmaOplysninger.Land ? FirmaOplysninger.Land : "Danmark"] SET &Country = Land.Land #ValidateCountry(Land,&Country) WRITE &FileName AS TEXT FROM ( #UserFormatStr(FirmaOplysninger.CVR ? Land.Mokode+FirmaOplysninger.CVR : "",'"',0,0) ,#UserFormatStr(FirmaOplysninger.Navn,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Adresse1,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Adresse2,'"',0,0) ,#UserFormatStr(&Zip,'"',0,0) ,#UserFormatStr(Postnummer[PostNrIdx, &Zip].Bynavn,'"',0,0) ,#UserFormatStr(&Country,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Telefon,'"',0,0) ,#UserFormatStr(FirmaOplysninger.MobilTelefon,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Telefax,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Email,'"',0,0) ,#UserFormatStr(FirmaOplysninger.URL,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Bank,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Giro,'"',0,0) ,#UserFormatStr(FirmaOplysninger.BankNavn,'"',0,0) ,#UserFormatStr(FirmaOplysninger.Swift,'"',0,0) ,#UserFormatStr(FirmaOplysninger.IBAN,'"',0,0) ) #ADD(&Counter,1) IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,8 ENDIF END {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Eksport af dimensioner } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} SET &FileName = &FileFolder+'C5_Dimension.csv' SET &Counter = 0 WRITE &FileName AS TEXT FROM ( #UserFormatStr("Number",'"',0,0) ,#UserFormatStr("Name",'"',0,0) ,#UserFormatStr("DimCode",'"',0,0) ) SEARCH Afdeling USING KodeIdx WRITE &FileName AS TEXT FROM ( #UserFormatStr(Afdeling.Afdeling,'"',0,0) ,#UserFormatStr(Afdeling.Navn,'"',0,0) ,#UserFormatStr("1",'"',0,0) ) #ADD(&Counter,1) IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,9 ENDIF END SEARCH Brer USING KodeIdx WRITE &FileName AS TEXT FROM ( #UserFormatStr(Brer.Brer,'"',0,0) ,#UserFormatStr(Brer.Navn,'"',0,0) ,#UserFormatStr("2",'"',0,0) ) #ADD(&Counter,1) IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,9 ENDIF END SEARCH Forml USING KodeIdx WRITE &FileName AS TEXT FROM ( #UserFormatStr(Forml.Forml,'"',0,0) ,#UserFormatStr(Forml.Navn,'"',0,0) ,#UserFormatStr("3",'"',0,0) ) #ADD(&Counter,1) IF &Counter MOD 1 == 0 THEN PRINT Num2Str(&Counter,15,0,0,0) AT 20,9 ENDIF END {敖陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳朕} { Evt. Eksport af fakturaer til pdf filer } {青陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳陳潰} IF &PdfOk THEN INTRODUCE TmpFrmVirtuel[SessionFilRecIdx,99999999,1,1,1] SET TmpFrmVirtuel.Tekst1 = &PdfFileFolder INSERT TmpFrmVirtuel SEARCH DebJournal USING KtoDatoIdx INTRODUCE OrdKartArkiv[NumTraIdx,Nummer,Transaktion] IF Lbenummer THEN IF LagerStatus == #LSkonomisk THEN #KaldFunktion(#OrdFaktura,0,1,1,#MdlDebitor,Konto,OrdKartArkiv.RecId,,OrdKartArkiv) //IF CustJournal.SimpleInvoice THEN // #CallActionGroup(#SimpleSalesInv,0,,0,#ModCustomer,SalesTableArch.InvoiceAccount,1,,SalesTableArch,1,&OverrideOutput,&OverridePrinter,&MakeXML,&OverrideOSPrinter) //ELSE // #CallActionGroup(#SalesInvoice,0,,0,#ModCustomer,SalesTableArch.InvoiceAccount,1,,SalesTableArch,1,&OverrideOutput,&OverridePrinter,&MakeXML,&OverrideOSPrinter) //ENDIF ENDIF ELSE {IF DSP_SagFakGem[FakNrIdx,CustJournal.Voucher].RowNumber THEN } { INTRODUCE DSP_SagFakGem[FakNrIdx,CustJournal.Voucher] } { } { Process 15 'Report=DSP_TimeFakturaNy "PRINTER=SMART2NAV" OUTPUT=PRINTER,MSGWND-,GETOPTS-,CODES- Language=*' USING DSP_SagFakGem } {ENDIF } ENDIF END ENDIF PAUSE