| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrfrm.w - ADM2 SmartFrame Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
-
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEFINE VARIABLE SAktiv AS LOG NO-UNDO INIT FALSE.
- DEFINE VARIABLE FMut AS LOG NO-UNDO INIT FALSE.
- DEFINE VARIABLE ProgName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE D1Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE FBFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE GlobFir AS CHARACTER NO-UNDO.
- DEFINE VARIABLE GlobFil AS CHARACTER INIT '0000' NO-UNDO.
- DEFINE VARIABLE GlobKon AS CHARACTER INIT '9999' NO-UNDO.
- DEFINE VARIABLE Datum AS DATE NO-UNDO.
- DEFINE VARIABLE fCancel AS LOG NO-UNDO INIT FALSE.
- DEFINE VARIABLE fNeu AS LOG NO-UNDO INIT TRUE .
- DEFINE VARIABLE fTest AS LOG NO-UNDO INIT FALSE.
- DEFINE VARIABLE FRW AS CHARACTER NO-UNDO.
- DEFINE VARIABLE BasFrw AS CHARACTER NO-UNDO INIT 'CHF'.
- DEFINE VARIABLE VAdresse AS CHARACTER NO-UNDO.
- DEFINE VARIABLE opRecid AS RECID NO-UNDO.
- DEFINE VARIABLE rAdresse AS RECID NO-UNDO.
- DEFINE VARIABLE lView AS LOGICAL NO-UNDO.
- DEFINE BUFFER bWaehrung FOR Waehrung.
- DEFINE BUFFER bKondi FOR Kondi .
- DEFINE BUFFER bDebst FOR Debst .
- DEFINE BUFFER bDebop FOR Debop .
- DEFINE BUFFER b1MWSTAns FOR MWSTAns .
- DEFINE BUFFER b2MWSTAns FOR MWSTAns .
- DEFINE BUFFER b3MWSTAns FOR MWSTAns .
- DEFINE BUFFER bAdresse FOR Adresse .
- DEFINE TEMP-TABLE tKonto
- FIELD Konto AS CHARACTER
- FIELD Betrag AS DECIMAL
- FIELD Mwst AS DECIMAL
- FIELD Mwst_Cd AS INTEGER.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartFrame
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER FRAME
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME fMain
- &Scoped-define BROWSE-NAME Br_OffenePosten
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES Debop
- /* Definitions for BROWSE Br_OffenePosten */
- &Scoped-define FIELDS-IN-QUERY-Br_OffenePosten Debop.Faknr Debop.Fakdat ~
- Debop.Faellig Debop.Fakbetr Debop.Fakbetr_FRW Debop.FRW Debop.Kurs ~
- Debop.Zahdat Debop.Zahbetr Debop.Zahbetr_FRW Debop.Skonto Debop.Skonto_FRW ~
- Debop.Saldo Debop.Saldo_FRW
- &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_OffenePosten
- &Scoped-define QUERY-STRING-Br_OffenePosten FOR EACH Debop NO-LOCK INDEXED-REPOSITION
- &Scoped-define OPEN-QUERY-Br_OffenePosten OPEN QUERY Br_OffenePosten FOR EACH Debop NO-LOCK INDEXED-REPOSITION.
- &Scoped-define TABLES-IN-QUERY-Br_OffenePosten Debop
- &Scoped-define FIRST-TABLE-IN-QUERY-Br_OffenePosten Debop
- /* Definitions for FRAME fMain */
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS F_Knr Btn_SuchKunde F_Faknr F_Datum CB_Kondi ~
- F_Faellig F_Konto_S F_Konto_H CB_Frw F_Kurs F_Adresse F_FakbetrFrw ~
- F_Fakbetr F_SkberFrw F_Saldo CB_MWST-1 F_Konto_H_1 F_Betrag-1 CB_MWST-2 ~
- F_Konto_H_2 F_Betrag-2 F_SaldoFrw CB_MWST-3 F_Konto_H_3 F_Betrag-3 ~
- F_Buchtext3 F_Faktor F_Skber Br_OffenePosten F_MWSt-1 F_MWSt-2 F_MWSt-3 ~
- RECT-6 RECT-7
- &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Faknr F_Datum CB_Kondi F_Faellig ~
- F_Konto_S F_Konto_H CB_Frw F_Kurs F_Adresse F_FakbetrFrw F_Fakbetr ~
- F_SkberFrw F_Saldo CB_MWST-1 F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2 ~
- F_Betrag-2 F_SaldoFrw CB_MWST-3 F_Konto_H_3 F_Betrag-3 F_Buchtext3 F_Faktor ~
- F_Skber F_MWSt-1 F_MWSt-2 F_MWSt-3
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_Faknr F_Datum CB_Kondi F_Faellig F_Konto_S ~
- F_Konto_H CB_Frw F_Kurs F_FakbetrFrw F_Fakbetr F_SkberFrw CB_MWST-1 ~
- F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2 F_Betrag-2 CB_MWST-3 ~
- F_Konto_H_3 F_Betrag-3 F_Buchtext3 F_Faktor F_Skber F_MWSt-1 F_MWSt-2 ~
- F_MWSt-3
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Speichern
- IMAGE-UP FILE "grafik/saverec.bmp":U
- LABEL "Sp"
- SIZE 5 BY 1.19.
- DEFINE BUTTON Btn_SuchKunde AUTO-GO
- LABEL "K&unde"
- SIZE 8 BY 1.
- DEFINE VARIABLE CB_Frw AS CHARACTER FORMAT "X(256)":U
- LABEL "Frw"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 43 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Kondi AS CHARACTER FORMAT "X(256)":U
- LABEL "Kondition"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 33.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_MWST-1 AS CHARACTER FORMAT "X(256)":U
- LABEL "MWSt"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 43 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_MWST-2 AS CHARACTER FORMAT "X(256)":U
- LABEL "MWSt"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 43 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_MWST-3 AS CHARACTER FORMAT "X(256)":U
- LABEL "MWSt"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 43 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(256)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 68 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Betrag-1 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "Betrag"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Betrag-2 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "Betrag"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Betrag-3 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "Betrag"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Buchtext3 AS CHARACTER FORMAT "x(40)":U
- LABEL "Buchtext"
- VIEW-AS FILL-IN NATIVE
- SIZE 43 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
- LABEL "Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Faellig AS DATE FORMAT "99.99.9999":U
- LABEL "F„llig"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Fakbetr AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_FakbetrFrw AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "Betr/-CHF"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "9999999":U INITIAL 0
- LABEL "Faknr"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Faktor AS INTEGER FORMAT "zzz9":U INITIAL 0
- LABEL "Faktor"
- VIEW-AS FILL-IN NATIVE
- SIZE 8 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Konto_H AS CHARACTER FORMAT "x(12)":U
- LABEL "Konto H"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Konto_H_1 AS CHARACTER FORMAT "x(12)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Konto_H_2 AS CHARACTER FORMAT "x(12)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Konto_H_3 AS CHARACTER FORMAT "x(12)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Konto_S AS CHARACTER FORMAT "x(12)":U
- LABEL "Konto S"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1 TOOLTIP "Fibu-Sollkonto (Debitorsammelkonto)"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Kurs AS DECIMAL FORMAT "z,zz9.9999999":U INITIAL 0
- LABEL "Kurs"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_MWSt-1 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_MWSt-2 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_MWSt-3 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
- LABEL "CHF"
- VIEW-AS FILL-IN NATIVE
- SIZE 23 BY 1
- BGCOLOR 14 NO-UNDO.
- DEFINE VARIABLE F_SaldoFrw AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
- LABEL "CHF"
- VIEW-AS FILL-IN NATIVE
- SIZE 23 BY 1
- BGCOLOR 14 NO-UNDO.
- DEFINE VARIABLE F_Skber AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SkberFrw AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "SK Ber/-CHF"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-6
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 132 BY 2.57.
- DEFINE RECTANGLE RECT-7
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 132 BY 9.29.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE QUERY Br_OffenePosten FOR
- Debop SCROLLING.
- &ANALYZE-RESUME
- /* Browse definitions */
- DEFINE BROWSE Br_OffenePosten
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_OffenePosten fFrameWin _STRUCTURED
- QUERY Br_OffenePosten NO-LOCK DISPLAY
- Debop.Faknr FORMAT "zzzzz9":U WIDTH 8
- Debop.Fakdat COLUMN-LABEL "Datum" FORMAT "99.99.9999":U
- Debop.Faellig COLUMN-LABEL "Fällig" FORMAT "99.99.9999":U
- Debop.Fakbetr COLUMN-LABEL "Betrag" FORMAT "zzz,zzz,zz9.99-":U
- Debop.Fakbetr_FRW COLUMN-LABEL "Betrag Frw" FORMAT "zzz,zzz,zz9.99-":U
- Debop.FRW COLUMN-LABEL "Wäh" FORMAT "x(03)":U
- Debop.Kurs FORMAT "zzz9.9999":U
- Debop.Zahdat COLUMN-LABEL "l. Zahlung" FORMAT "99.99.9999":U
- Debop.Zahbetr COLUMN-LABEL "bezahlt" FORMAT "zzz,zzz,zz9.99-":U
- Debop.Zahbetr_FRW COLUMN-LABEL "bezahlt Frw" FORMAT "zzz,zzz,zz9.99-":U
- Debop.Skonto FORMAT "zzz,zz9.99-":U
- Debop.Skonto_FRW COLUMN-LABEL "Skonto Frw" FORMAT "zzz,zzz,zz9.99-":U
- Debop.Saldo FORMAT "zzz,zzz,zz9.99-":U
- Debop.Saldo_FRW COLUMN-LABEL "Saldo Frw" FORMAT "zzz,zzz,zz9.99-":U
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ROW-MARKERS SEPARATORS NO-TAB-STOP SIZE 132 BY 10.67.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME fMain
- F_Knr AT ROW 1.52 COL 9 COLON-ALIGNED NO-LABELS
- Btn_SuchKunde AT ROW 1.52 COL 3 NO-TAB-STOP
- F_Faknr AT ROW 4 COL 9 COLON-ALIGNED
- F_Datum AT ROW 4 COL 29 COLON-ALIGNED
- CB_Kondi AT ROW 4 COL 56 COLON-ALIGNED
- F_Faellig AT ROW 4 COL 106 COLON-ALIGNED
- F_Konto_S AT ROW 5 COL 29 COLON-ALIGNED
- F_Konto_H AT ROW 5 COL 56 COLON-ALIGNED
- CB_Frw AT ROW 6 COL 29 COLON-ALIGNED
- F_Kurs AT ROW 6 COL 87 COLON-ALIGNED
- F_Adresse AT ROW 1.52 COL 21 COLON-ALIGNED NO-LABELS NO-TAB-STOP
- F_FakbetrFrw AT ROW 7 COL 17.8 COLON-ALIGNED
- F_Fakbetr AT ROW 7 COL 40.8 COLON-ALIGNED
- F_SkberFrw AT ROW 7 COL 87 COLON-ALIGNED
- F_Saldo AT ROW 1.52 COL 106 COLON-ALIGNED NO-TAB-STOP
- CB_MWST-1 AT ROW 8 COL 17.8 COLON-ALIGNED
- F_Konto_H_1 AT ROW 8 COL 62 COLON-ALIGNED NO-LABELS
- F_Betrag-1 AT ROW 8 COL 87 COLON-ALIGNED
- CB_MWST-2 AT ROW 9 COL 17.8 COLON-ALIGNED
- F_Konto_H_2 AT ROW 9 COL 62 COLON-ALIGNED NO-LABELS
- F_Betrag-2 AT ROW 9 COL 87 COLON-ALIGNED
- F_SaldoFrw AT ROW 2.52 COL 106 COLON-ALIGNED NO-TAB-STOP
- CB_MWST-3 AT ROW 10 COL 17.8 COLON-ALIGNED
- F_Konto_H_3 AT ROW 10 COL 62 COLON-ALIGNED NO-LABELS
- F_Betrag-3 AT ROW 10 COL 87 COLON-ALIGNED
- F_Buchtext3 AT ROW 11 COL 87 COLON-ALIGNED
- Btn_Speichern AT ROW 11.52 COL 4
- F_Faktor AT ROW 6 COL 122 COLON-ALIGNED NO-TAB-STOP
- F_Skber AT ROW 7 COL 110 COLON-ALIGNED NO-TAB-STOP
- Br_OffenePosten AT ROW 13.52 COL 2
- F_MWSt-1 AT ROW 8 COL 110 COLON-ALIGNED NO-TAB-STOP
- F_MWSt-2 AT ROW 9 COL 110 COLON-ALIGNED NO-TAB-STOP
- F_MWSt-3 AT ROW 10 COL 110 COLON-ALIGNED NO-TAB-STOP
- RECT-6 AT ROW 1.24 COL 2
- RECT-7 AT ROW 3.71 COL 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 134.6 BY 23.48.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartFrame
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Other Settings: PERSISTENT-ONLY COMPILE
- */
- /* This procedure should always be RUN PERSISTENT. Report the error, */
- /* then cleanup and return. */
- IF NOT THIS-PROCEDURE:PERSISTENT THEN
- DO:
- MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
- VIEW-AS ALERT-BOX ERROR BUTTONS OK.
- RETURN.
- END.
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW fFrameWin ASSIGN
- HEIGHT = 23.48
- WIDTH = 134.6.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW fFrameWin
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME fMain
- NOT-VISIBLE FRAME-NAME Custom */
- /* BROWSE-TAB Br_OffenePosten F_Skber fMain */
- ASSIGN
- FRAME fMain:HIDDEN = TRUE.
- ASSIGN
- Br_OffenePosten:COLUMN-RESIZABLE IN FRAME fMain = TRUE
- Br_OffenePosten:COLUMN-MOVABLE IN FRAME fMain = TRUE.
- /* SETTINGS FOR BUTTON Btn_Speichern IN FRAME fMain
- NO-ENABLE */
- ASSIGN
- Btn_SuchKunde:PRIVATE-DATA IN FRAME fMain = "SUCHEN".
- /* SETTINGS FOR COMBO-BOX CB_Frw IN FRAME fMain
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_Kondi IN FRAME fMain
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_MWST-1 IN FRAME fMain
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_MWST-2 IN FRAME fMain
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_MWST-3 IN FRAME fMain
- 6 */
- ASSIGN
- F_Adresse:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_Betrag-1 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Betrag-2 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Betrag-3 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Buchtext3 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Datum IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Faellig IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Fakbetr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_FakbetrFrw IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Faknr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Faktor IN FRAME fMain
- 6 */
- ASSIGN
- F_Faktor:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_Konto_H IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Konto_H_1 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Konto_H_2 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Konto_H_3 IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Konto_S IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Kurs IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_MWSt-1 IN FRAME fMain
- 6 */
- ASSIGN
- F_MWSt-1:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_MWSt-2 IN FRAME fMain
- 6 */
- ASSIGN
- F_MWSt-2:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_MWSt-3 IN FRAME fMain
- 6 */
- ASSIGN
- F_MWSt-3:READ-ONLY IN FRAME fMain = TRUE.
- ASSIGN
- F_Saldo:READ-ONLY IN FRAME fMain = TRUE.
- ASSIGN
- F_SaldoFrw:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_Skber IN FRAME fMain
- 6 */
- ASSIGN
- F_Skber:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_SkberFrw IN FRAME fMain
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_OffenePosten
- /* Query rebuild information for BROWSE Br_OffenePosten
- _TblList = "AnaDat.Debop"
- _Options = "NO-LOCK INDEXED-REPOSITION"
- _FldNameList[1] > AnaDat.Debop.Faknr
- "Debop.Faknr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[2] > AnaDat.Debop.Fakdat
- "Debop.Fakdat" "Datum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[3] > AnaDat.Debop.Faellig
- "Debop.Faellig" "Fällig" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[4] > AnaDat.Debop.Fakbetr
- "Debop.Fakbetr" "Betrag" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[5] > AnaDat.Debop.Fakbetr_FRW
- "Debop.Fakbetr_FRW" "Betrag Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[6] > AnaDat.Debop.FRW
- "Debop.FRW" "Wäh" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[7] = AnaDat.Debop.Kurs
- _FldNameList[8] > AnaDat.Debop.Zahdat
- "Debop.Zahdat" "l. Zahlung" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[9] > AnaDat.Debop.Zahbetr
- "Debop.Zahbetr" "bezahlt" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[10] > AnaDat.Debop.Zahbetr_FRW
- "Debop.Zahbetr_FRW" "bezahlt Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[11] = AnaDat.Debop.Skonto
- _FldNameList[12] > AnaDat.Debop.Skonto_FRW
- "Debop.Skonto_FRW" "Skonto Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[13] = AnaDat.Debop.Saldo
- _FldNameList[14] > AnaDat.Debop.Saldo_FRW
- "Debop.Saldo_FRW" "Saldo Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _Query is NOT OPENED
- */ /* BROWSE Br_OffenePosten */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
- /* Query rebuild information for FRAME fMain
- _Options = ""
- _Query is NOT OPENED
- */ /* FRAME fMain */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define BROWSE-NAME Br_OffenePosten
- &Scoped-define SELF-NAME Br_OffenePosten
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_OffenePosten fFrameWin
- ON LEFT-MOUSE-DBLCLICK OF Br_OffenePosten IN FRAME fMain
- DO:
- IF AVAILABLE Debop THEN
- DO:
- F_Faknr:SCREEN-VALUE = STRING(Debop.Faknr).
- APPLY 'ENTRY' TO F_Faknr.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_OffenePosten fFrameWin
- ON RETURN OF Br_OffenePosten IN FRAME fMain
- DO:
- IF AVAILABLE Debop THEN
- DO:
- F_Faknr:SCREEN-VALUE = STRING(Debop.Faknr).
- APPLY 'ENTRY' TO F_Faknr.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Speichern
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern fFrameWin
- ON CHOOSE OF Btn_Speichern IN FRAME fMain /* Sp */
- DO:
- RUN SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_SuchKunde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_SuchKunde fFrameWin
- ON CHOOSE OF Btn_SuchKunde IN FRAME fMain /* Kunde */
- DO:
- APPLY 'ALT-F'.
- APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Frw
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Frw fFrameWin
- ON RETURN OF CB_Frw IN FRAME fMain /* Frw */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Frw fFrameWin
- ON VALUE-CHANGED OF CB_Frw IN FRAME fMain /* Frw */
- DO:
- DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE BetrBas AS DECIMAL NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- FIND Waehrung NO-LOCK
- WHERE Waehrung.Firma = GlobFir
- AND Waehrung.Frw = SELF:SCREEN-VALUE NO-ERROR.
- IF NOT AVAILABLE Waehrung THEN
- DO:
- CB_Frw:SCREEN-VALUE = Frw NO-ERROR.
- END.
- Frw = SELF:SCREEN-VALUE NO-ERROR.
- F_Kurs :SCREEN-VALUE = STRING(Waehrung.Kurs) NO-ERROR.
- F_Faktor:SCREEN-VALUE = STRING(Waehrung.Faktor) NO-ERROR.
- RUN RECHNEN ( INPUT 09 ).
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Kondi
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kondi fFrameWin
- ON RETURN OF CB_Kondi IN FRAME fMain /* Kondition */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kondi fFrameWin
- ON VALUE-CHANGED OF CB_Kondi IN FRAME fMain /* Kondition */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- FIND FIRST BKondi USE-INDEX Kondi-k1
- WHERE BKondi.Kond = INTEGER(SELF:SCREEN-VALUE)
- NO-LOCK NO-ERROR.
- ERROR-STATUS:ERROR = FALSE.
- ASSIGN F_Datum NO-ERROR.
- IF ERROR-STATUS:ERROR THEN F_Datum = TODAY.
- F_Datum :SCREEN-VALUE = STRING(F_Datum).
- F_Faellig:SCREEN-VALUE = STRING(F_Datum + BKondi.Faellig).
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_MWST-1
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-1 fFrameWin
- ON RETURN OF CB_MWST-1 IN FRAME fMain /* MWSt */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-1 fFrameWin
- ON VALUE-CHANGED OF CB_MWST-1 IN FRAME fMain /* MWSt */
- DO:
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
- - DECIMAL(F_Betrag-2:SCREEN-VALUE)
- - DECIMAL(F_MWST-2 :SCREEN-VALUE)
- - DECIMAL(F_Betrag-3:SCREEN-VALUE)
- - DECIMAL(F_MWST-3 :SCREEN-VALUE)
- .
- FIND LAST B1MWSTAns NO-LOCK USE-INDEX MWSTAns-k1
- WHERE B1MWSTAns.MWSt_Cd = INTEGER(CB_MWST-1:SCREEN-VALUE)
- AND B1MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE) NO-ERROR.
- IF B1MWSTAns.Incl THEN
- DO:
- Betr = Saldo.
- Mwst = 0.
- END.
- ELSE
- DO:
- Rund = Saldo * B1MWSTAns.Ansatz / (100 + B1MWSTAns.Ansatz).
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
- Mwst = Rund.
- Betr = Saldo - Mwst.
- END.
- F_Betrag-1:SCREEN-VALUE = STRING(Betr).
- F_MWST-1 :SCREEN-VALUE = STRING(Mwst).
- END.
- RUN BUTTON_SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_MWST-2
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-2 fFrameWin
- ON RETURN OF CB_MWST-2 IN FRAME fMain /* MWSt */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-2 fFrameWin
- ON VALUE-CHANGED OF CB_MWST-2 IN FRAME fMain /* MWSt */
- DO:
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
- - DECIMAL(F_Betrag-1:SCREEN-VALUE)
- - DECIMAL(F_MWST-1 :SCREEN-VALUE)
- - DECIMAL(F_Betrag-3:SCREEN-VALUE)
- - DECIMAL(F_MWST-3 :SCREEN-VALUE).
- FIND LAST B2MWSTAns NO-LOCK USE-INDEX MWSTAns-k1
- WHERE B2MWSTAns.MWSt_Cd = INTEGER(CB_MWST-2:SCREEN-VALUE)
- AND B2MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE) NO-ERROR.
- IF B2MWSTAns.Incl THEN
- DO:
- Betr = Saldo.
- Mwst = 0.
- END.
- ELSE
- DO:
- Rund = Saldo * B2MWSTAns.Ansatz / (100 + B2MWSTAns.Ansatz).
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
- Mwst = Rund.
- Betr = Saldo - Mwst.
- END.
- F_Betrag-2:SCREEN-VALUE = STRING(Betr).
- F_MWST-2 :SCREEN-VALUE = STRING(Mwst).
- END.
- RUN BUTTON_SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_MWST-3
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-3 fFrameWin
- ON RETURN OF CB_MWST-3 IN FRAME fMain /* MWSt */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-3 fFrameWin
- ON VALUE-CHANGED OF CB_MWST-3 IN FRAME fMain /* MWSt */
- DO:
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
- - DECIMAL(F_Betrag-1:SCREEN-VALUE)
- - DECIMAL(F_MWST-1 :SCREEN-VALUE)
- - DECIMAL(F_Betrag-2:SCREEN-VALUE)
- - DECIMAL(F_MWST-2 :SCREEN-VALUE).
- FIND LAST B3MWSTAns USE-INDEX MWSTAns-k1
- WHERE B3MWSTAns.MWSt_Cd = INTEGER(CB_MWST-3:SCREEN-VALUE)
- AND B3MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
- NO-LOCK NO-ERROR.
- IF B3MWSTAns.Incl THEN
- DO:
- Betr = Saldo.
- Mwst = 0.
- END.
- ELSE
- DO:
- Rund = Saldo * B3MWSTAns.Ansatz / (100 + B3MWSTAns.Ansatz).
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
- Mwst = Rund.
- Betr = Saldo - Mwst.
- END.
- F_Betrag-3:SCREEN-VALUE = STRING(Betr).
- F_MWST-3 :SCREEN-VALUE = STRING(Mwst).
- END.
- RUN BUTTON_SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Betrag-1
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-1 fFrameWin
- ON LEAVE OF F_Betrag-1 IN FRAME fMain /* Betrag */
- DO:
- IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'VALUE-CHANGED' TO CB_MWST-1.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-1 fFrameWin
- ON VALUE-CHANGED OF F_Betrag-1 IN FRAME fMain /* Betrag */
- DO:
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Saldo = DECIMAL(SELF:SCREEN-VALUE).
- IF B1MWSTAns.Incl THEN
- DO:
- Mwst = 0.
- END.
- ELSE
- DO:
- Rund = Saldo * B1MWSTAns.Ansatz / 100.
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
- Mwst = Rund.
- END.
- F_MWST-1 :SCREEN-VALUE = STRING(Mwst).
- END.
- RUN BUTTON_SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Betrag-2
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-2 fFrameWin
- ON LEAVE OF F_Betrag-2 IN FRAME fMain /* Betrag */
- DO:
- IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'VALUE-CHANGED' TO CB_MWST-2.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-2 fFrameWin
- ON RETURN OF F_Betrag-2 IN FRAME fMain /* Betrag */
- DO:
- IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'VALUE-CHANGED' TO CB_MWST-2.
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-2 fFrameWin
- ON VALUE-CHANGED OF F_Betrag-2 IN FRAME fMain /* Betrag */
- DO:
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Saldo = DECIMAL(SELF:SCREEN-VALUE).
- IF B2MWSTAns.Incl THEN
- DO:
- Mwst = 0.
- END.
- ELSE
- DO:
- Rund = Saldo * B2MWSTAns.Ansatz / 100.
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
- Mwst = Rund.
- END.
- F_MWST-2 :SCREEN-VALUE = STRING(Mwst).
- END.
- RUN BUTTON_SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Betrag-3
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-3 fFrameWin
- ON LEAVE OF F_Betrag-3 IN FRAME fMain /* Betrag */
- DO:
- IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'VALUE-CHANGED' TO CB_MWST-3.
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-3 fFrameWin
- ON RETURN OF F_Betrag-3 IN FRAME fMain /* Betrag */
- DO:
- IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'VALUE-CHANGED' TO CB_MWST-3.
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-3 fFrameWin
- ON VALUE-CHANGED OF F_Betrag-3 IN FRAME fMain /* Betrag */
- DO:
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Saldo = DECIMAL(SELF:SCREEN-VALUE).
- IF B3MWSTAns.Incl THEN
- DO:
- Mwst = 0.
- END.
- ELSE
- DO:
- Rund = Saldo * B3MWSTAns.Ansatz / 100.
- RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
- Mwst = Rund.
- END.
- F_MWST-3 :SCREEN-VALUE = STRING(Mwst).
- END.
- RUN BUTTON_SPEICHERN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Datum
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum fFrameWin
- ON LEAVE OF F_Datum IN FRAME fMain /* Datum */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ERROR-STATUS:ERROR = FALSE.
- ASSIGN F_Datum NO-ERROR.
- IF ERROR-STATUS:ERROR THEN F_Datum = TODAY.
- SELF :SCREEN-VALUE = STRING(F_Datum).
- F_Faellig:SCREEN-VALUE = STRING(F_Datum + BKondi.Faellig).
- END.
- RUN COMBO_MWST.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Fakbetr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Fakbetr fFrameWin
- ON ENTRY OF F_Fakbetr IN FRAME fMain /* / */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- Frw = CB_Frw:SCREEN-VALUE .
- IF Frw = BasFrw THEN
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Fakbetr fFrameWin
- ON VALUE-CHANGED OF F_Fakbetr IN FRAME fMain /* / */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- IF F_FakbetrFrw = 0 THEN
- DO:
- F_FakbetrFrw:SCREEN-VALUE = STRING(DECIMAL(SELF :SCREEN-VALUE)
- / DECIMAL(F_Kurs :SCREEN-VALUE)
- * INTEGER(F_Faktor:SCREEN-VALUE)).
- END.
- ELSE
- DO:
- F_Kurs:SCREEN-VALUE = STRING(DECIMAL(F_Fakbetr :SCREEN-VALUE)
- * INTEGER(F_Faktor :SCREEN-VALUE)
- / DECIMAL(F_FakbetrFrw:SCREEN-VALUE)).
- END.
- IF F_SkberFrw = 0 THEN F_SkberFrw:SCREEN-VALUE = F_FakbetrFrw:SCREEN-VALUE.
- RUN RECHNEN ( INPUT 08 ).
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_FakbetrFrw
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_FakbetrFrw fFrameWin
- ON ENTRY OF F_FakbetrFrw IN FRAME fMain /* Betr/-CHF */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- Frw = CB_Frw:SCREEN-VALUE .
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_FakbetrFrw fFrameWin
- ON VALUE-CHANGED OF F_FakbetrFrw IN FRAME fMain /* Betr/-CHF */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- IF F_FakbetrFrw = F_SkberFrw THEN F_SkberFrw:SCREEN-VALUE = F_FakbetrFrw:SCREEN-VALUE.
- RUN RECHNEN ( INPUT 09 ).
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Faknr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin
- ON CURSOR-DOWN OF F_Faknr IN FRAME fMain /* Faknr */
- DO:
- APPLY 'ENTRY' TO Br_OffenePosten.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin
- ON ENTRY OF F_Faknr IN FRAME fMain /* Faknr */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- IF INTEGER(F_Knr:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'ENTRY' TO F_Knr.
- RETURN NO-APPLY.
- END.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin
- ON LEAVE OF F_Faknr IN FRAME fMain /* Faknr */
- DO:
- fTest = FALSE.
- IF KEYFUNCTION (LASTKEY) <> 'RETURN' AND
- KEYFUNCTION (LASTKEY) <> 'TAB' THEN RETURN NO-APPLY.
- RUN FAKNR_TEST ( INPUT FALSE ).
- IF RETURN-VALUE = 'ERROR' THEN
- DO:
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Knr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin
- ON END-ERROR OF F_Knr IN FRAME fMain
- DO:
- DEFINE VARIABLE hContainer AS HANDLE NO-UNDO.
- RUN SET_CANCEL.
- hContainer = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
- IF VALID-HANDLE(hContainer) THEN RUN ENDE IN hContainer.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin
- ON ENTRY OF F_Knr IN FRAME fMain
- DO:
- IF fCancel = TRUE THEN
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin
- ON LEAVE OF F_Knr IN FRAME fMain
- DO:
- DEFINE VARIABLE hEntry AS WIDGET-HANDLE NO-UNDO.
- hEntry = LAST-EVENT:WIDGET-ENTER.
- IF NOT VALID-HANDLE(hEntry) THEN
- DO:
- fCancel = TRUE.
- END.
- ELSE IF hEntry:PRIVATE-DATA = 'SUCHEN' THEN
- DO:
- fCancel = TRUE.
- END.
- IF fCancel THEN
- DO:
- RETURN.
- END.
- IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN
- DO:
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- RUN ADRESSE ( INPUT INTEGER(SELF:SCREEN-VALUE) ).
- IF RETURN-VALUE = 'ERROR' THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1015 ) NO-ERROR.
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- IF RETURN-VALUE = 'ERRORDEBITOR' THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1019 ) NO-ERROR.
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- PUBLISH 'REPOSADRESSE' ( INPUT rAdresse ).
- fCancel = TRUE.
- APPLY 'ENTRY' TO F_Faknr IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Konto_H
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H fFrameWin
- ON LEAVE OF F_Konto_H IN FRAME fMain /* Konto H */
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN SELF:BGCOLOR = 14.
- ELSE
- DO WITH FRAME {&FRAME-NAME}:
- SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
- SELF:BGCOLOR = 15.
- IF F_Konto_H_1:SCREEN-VALUE = '' THEN F_Konto_H_1:SCREEN-VALUE = SELF:SCREEN-VALUE.
- IF F_Konto_H_2:SCREEN-VALUE = '' THEN F_Konto_H_2:SCREEN-VALUE = SELF:SCREEN-VALUE.
- IF F_Konto_H_3:SCREEN-VALUE = '' THEN F_Konto_H_3:SCREEN-VALUE = SELF:SCREEN-VALUE.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Konto_H_1
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_1 fFrameWin
- ON ENTRY OF F_Konto_H_1 IN FRAME fMain
- DO:
- IF SELF:SCREEN-VALUE = '' THEN SELF:SCREEN-VALUE = F_Konto_H:SCREEN-VALUE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_1 fFrameWin
- ON LEAVE OF F_Konto_H_1 IN FRAME fMain
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN SELF:BGCOLOR = 14.
- ELSE
- DO:
- SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
- SELF:BGCOLOR = 15.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Konto_H_2
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_2 fFrameWin
- ON LEAVE OF F_Konto_H_2 IN FRAME fMain
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN SELF:BGCOLOR = 14.
- ELSE
- DO:
- SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
- SELF:BGCOLOR = 15.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Konto_H_3
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_3 fFrameWin
- ON LEAVE OF F_Konto_H_3 IN FRAME fMain
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN SELF:BGCOLOR = 14.
- ELSE
- DO:
- SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
- SELF:BGCOLOR = 15.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Konto_S
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_S fFrameWin
- ON LEAVE OF F_Konto_S IN FRAME fMain /* Konto S */
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN SELF:BGCOLOR = 14.
- ELSE
- DO:
- SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
- SELF:BGCOLOR = 15.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Kurs
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kurs fFrameWin
- ON ENTRY OF F_Kurs IN FRAME fMain /* Kurs */
- DO:
- IF Frw = BasFrw THEN
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kurs fFrameWin
- ON VALUE-CHANGED OF F_Kurs IN FRAME fMain /* Kurs */
- DO:
- RUN RECHNEN ( INPUT 09 ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Skber
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Skber fFrameWin
- ON ENTRY OF F_Skber IN FRAME fMain /* / */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- Frw = CB_Frw:SCREEN-VALUE .
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_SkberFrw
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SkberFrw fFrameWin
- ON ENTRY OF F_SkberFrw IN FRAME fMain /* SK Ber/-CHF */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- Frw = CB_Frw:SCREEN-VALUE .
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SkberFrw fFrameWin
- ON LEAVE OF F_SkberFrw IN FRAME fMain /* SK Ber/-CHF */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- RUN RECHNEN ( INPUT 08 ).
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
- /* *************************** Main Block *************************** */
- sAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR.
- IF sAktiv THEN
- DO:
- Firma = DYNAMIC-FUNCTION('getMandant':U ).
- D1Firma = DYNAMIC-FUNCTION('getMandant':U ).
- AdFirma = DYNAMIC-FUNCTION('getADMandant':U ).
- FBFirma = DYNAMIC-FUNCTION('getFBMandant':U ).
- GlobFir = D1Firma.
- END.
- IF FBFirma = '' THEN FBFirma = '9999'.
- Datum = TODAY.
-
- SESSION:DATA-ENTRY-RETURN = TRUE.
-
- SUBSCRIBE TO 'DISPLAYDEBITOR' ANYWHERE RUN-PROCEDURE 'ADRESSE'.
-
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- Btn_Speichern:SENSITIVE = FALSE.
- fCancel = FALSE.
- APPLY 'ENTRY' TO F_Knr.
- RETURN NO-APPLY.
- END.
-
- ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- IF Btn_Speichern:SENSITIVE = FALSE THEN RETURN NO-APPLY.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
-
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- /* Now enable the interface if in test mode - otherwise this happens when
- the object is explicitly initialized from its container. */
- RUN initializeObject.
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADRESSE fFrameWin
- PROCEDURE ADRESSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- IF NUM-RESULTS('{&BROWSE-NAME}') <> ? THEN CLOSE QUERY Br_OffenePosten.
- FIND bAdresse USE-INDEX Adresse-k1
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = ipKnr NO-LOCK NO-ERROR.
- IF AVAILABLE bAdresse THEN
- DO:
- rAdresse = RECID(bAdresse).
- VAdresse = bAdresse.Anzeig_br.
- END.
- ELSE
- DO:
- rAdresse = 0.
- END.
- DO WITH FRAME {&FRAME-NAME}:
- F_Knr :SCREEN-VALUE = STRING(ipKnr).
- F_Adresse :SCREEN-VALUE = ''.
- F_Saldo :SCREEN-VALUE = ''.
- F_SaldoFrw:SCREEN-VALUE = ''.
- IF NOT AVAILABLE bAdresse THEN RETURN 'ERROR'.
- F_Adresse :SCREEN-VALUE = bAdresse.Anzeig_br.
- FIND bDebst USE-INDEX Debst-k1
- WHERE bDebst.Firma = Firma
- AND bDebst.Knr = ipKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE bDebst THEN RETURN 'ERRORDEBITOR'.
- F_Saldo :SCREEN-VALUE = STRING(bDebst.Saldo ).
- F_SaldoFrw:SCREEN-VALUE = STRING(bDebst.Saldo_Frw).
- CB_Kondi :SCREEN-VALUE = STRING(bDebst.Kond ,'999999') NO-ERROR.
- CB_Frw :SCREEN-VALUE = bDebst.Frw NO-ERROR.
- F_Konto_S :SCREEN-VALUE = bDebst.Konto.
- F_Konto_H :SCREEN-VALUE = ''.
- FIND bWaehrung NO-LOCK
- WHERE bWaehrung.Firma = bDebst.Firma
- AND bWaehrung.Frw = bDebst.Frw NO-ERROR.
- IF NOT AVAILABLE bWaehrung THEN
- DO:
- CB_Frw :SCREEN-VALUE = 'CHF' .
- F_Kurs :SCREEN-VALUE = STRING(1.0) .
- F_Faktor:SCREEN-VALUE = STRING(1) .
- END.
- ELSE
- DO:
- F_Kurs :SCREEN-VALUE = STRING(bWaehrung.Kurs ).
- F_Faktor:SCREEN-VALUE = STRING(bWaehrung.Faktor).
- END.
- F_Datum:SCREEN-VALUE = STRING(TODAY).
- FIND FIRST BKondi USE-INDEX Kondi-k1
- WHERE BKondi.Kond = bDebst.Kond NO-LOCK NO-ERROR.
- IF NOT AVAILABLE BKondi THEN F_Faellig:SCREEN-VALUE = STRING(TODAY + 30).
- ELSE F_Faellig:SCREEN-VALUE = STRING(TODAY + BKondi.Faellig).
- Frw = CB_Frw:SCREEN-VALUE NO-ERROR.
- F_FakbetrFrw:SCREEN-VALUE = STRING(0).
- F_Fakbetr :SCREEN-VALUE = STRING(0).
- F_SkberFrw :SCREEN-VALUE = STRING(0).
- F_Skber :SCREEN-VALUE = STRING(0).
- F_Betrag-1 :SCREEN-VALUE = STRING(0).
- F_MWSt-1 :SCREEN-VALUE = STRING(0).
- F_Betrag-2 :SCREEN-VALUE = STRING(0).
- F_MWSt-2 :SCREEN-VALUE = STRING(0).
-
- F_SaldoFrw:LABEL = bDebst.Frw.
- END.
- RUN OPENQUERYDEBOP ( INPUT ipKnr ).
- RETURN ''.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUTTON_SPEICHERN fFrameWin
- PROCEDURE BUTTON_SPEICHERN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- IF DECIMAL(F_Fakbetr:SCREEN-VALUE) = 0 AND
- fNeu THEN
- DO:
- Btn_Speichern:SENSITIVE = FALSE.
- RETURN.
- END.
- Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
- - DECIMAL(F_Betrag-1:SCREEN-VALUE)
- - DECIMAL(F_Betrag-2:SCREEN-VALUE)
- - DECIMAL(F_Betrag-3:SCREEN-VALUE)
- - DECIMAL(F_MWSt-1 :SCREEN-VALUE)
- - DECIMAL(F_MWSt-2 :SCREEN-VALUE)
- - DECIMAL(F_MWSt-3 :SCREEN-VALUE).
- IF Saldo = 0 THEN Btn_Speichern:SENSITIVE = TRUE.
- ELSE Btn_Speichern:SENSITIVE = FALSE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE COMBO_MWST fFrameWin
- PROCEDURE COMBO_MWST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE fDatum AS DATE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cValue AS CHARACTER NO-UNDO.
- GET-KEY-VALUE SECTION 'Fehlwerte'
- KEY 'Mehrwertsteuer'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- DO WITH FRAME {&FRAME-NAME}:
- fDatum = ?.
- fDatum = DATE(F_Datum:SCREEN-VALUE) NO-ERROR.
- IF fDatum = ? THEN fDatum = TODAY.
- cString = ''.
- Datum = fDatum.
- FOR EACH MWSTAns WHERE MWSTAns.MWST_Cd < 12
- AND MWSTAns.Datum <= Datum
-
- BREAK BY MWSTAns.MWST_Cd
- BY MWSTAns.Datum :
- IF NOT LAST-OF ( MWSTAns.MWST_Cd ) THEN NEXT.
- cString = cString + ';' + MWSTAns.Bez
- + ' ('
- + STRING(MWSTAns.MWST_Cd,'99')
- + ');'
- + STRING(MWSTAns.MWST_Cd,'999999').
- END.
- IF cString = '' THEN cString = ';'.
- ELSE cString = SUBSTRING(cString,02).
- CB_MWST-1:DELIMITER = ';'.
- CB_MWST-2:DELIMITER = ';'.
- CB_MWST-3:DELIMITER = ';'.
- CB_MWST-1:LIST-ITEM-PAIRS = cString.
- CB_MWST-2:LIST-ITEM-PAIRS = cString.
- CB_MWST-3:LIST-ITEM-PAIRS = cString.
- IF cValue = '' THEN cValue = ENTRY(2, cString, ';').
- cValue = STRING(INTEGER(cValue),'999999').
- CB_MWST-1:SCREEN-VALUE = cValue NO-ERROR.
- CB_MWST-2:SCREEN-VALUE = cValue NO-ERROR.
- CB_MWST-3:SCREEN-VALUE = cValue NO-ERROR.
- FIND LAST B1MWSTAns USE-INDEX MWSTAns-k1
- WHERE B1MWSTAns.MWSt_Cd = INTEGER(CB_MWST-1:SCREEN-VALUE)
- AND B1MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
- NO-LOCK NO-ERROR.
- FIND LAST B2MWSTAns USE-INDEX MWSTAns-k1
- WHERE B2MWSTAns.MWSt_Cd = INTEGER(CB_MWST-2:SCREEN-VALUE)
- AND B2MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
- NO-LOCK NO-ERROR.
- FIND LAST B3MWSTAns USE-INDEX MWSTAns-k1
- WHERE B3MWSTAns.MWSt_Cd = INTEGER(CB_MWST-3:SCREEN-VALUE)
- AND B3MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
- NO-LOCK NO-ERROR.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME fMain.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject fFrameWin
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- DO WITH FRAME {&FRAME-NAME}:
- F_Datum:SCREEN-VALUE = STRING(Datum).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_Knr F_Faknr F_Datum CB_Kondi F_Faellig F_Konto_S F_Konto_H CB_Frw
- F_Kurs F_Adresse F_FakbetrFrw F_Fakbetr F_SkberFrw F_Saldo CB_MWST-1
- F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2 F_Betrag-2 F_SaldoFrw
- CB_MWST-3 F_Konto_H_3 F_Betrag-3 F_Buchtext3 F_Faktor F_Skber F_MWSt-1
- F_MWSt-2 F_MWSt-3
- WITH FRAME fMain.
- ENABLE F_Knr Btn_SuchKunde F_Faknr F_Datum CB_Kondi F_Faellig F_Konto_S
- F_Konto_H CB_Frw F_Kurs F_Adresse F_FakbetrFrw F_Fakbetr F_SkberFrw
- F_Saldo CB_MWST-1 F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2
- F_Betrag-2 F_SaldoFrw CB_MWST-3 F_Konto_H_3 F_Betrag-3 F_Buchtext3
- F_Faktor F_Skber Br_OffenePosten F_MWSt-1 F_MWSt-2 F_MWSt-3 RECT-6
- RECT-7
- WITH FRAME fMain.
- {&OPEN-BROWSERS-IN-QUERY-fMain}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKNR_TEST fFrameWin
- PROCEDURE FAKNR_TEST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipNeueNr AS LOG NO-UNDO.
- DEFINE VARIABLE Faknr AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- IF lView THEN RETURN.
- fNeu = TRUE.
- Faknr = INTEGER(F_Faknr:SCREEN-VALUE).
- /* IF Faknr = 0 AND */
- /* ipNeueNr = FALSE THEN RETURN ''.*/
- IF Faknr = 0 THEN
- DO:
- REPEAT TRANSACTION:
- FIND SteuNr USE-INDEX SteuNr-k1
- WHERE SteuNr.Firma = Firma.
- SteuNr.Nr2 = SteuNr.Nr2 + 1.
- Faknr = SteuNr.Nr2.
- RELEASE SteuNr.
- LEAVE.
- END.
- F_Faknr:SCREEN-VALUE = STRING(Faknr).
- END.
- FIND Debop USE-INDEX Debop-k2
- WHERE Debop.Firma = Firma
- AND Debop.Faknr = Faknr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debop THEN RETURN ''.
- fNeu = FALSE.
- IF Debop.ZahBetr <> 0 THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1131) NO-ERROR.
- RETURN 'ERROR'.
- END.
- FOR EACH Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = Firma
- AND Interf.TrNr1 = Debop.TrNr1
- AND Interf.TrNr2 = Debop.TrNr2
- AND Interf.Verbucht = TRUE NO-LOCK:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1132) NO-ERROR.
- RETURN 'ERROR'.
- END.
- IF fTest THEN
- DO:
- fTest = FALSE.
- RETURN ''.
- END.
- FIND FIRST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = Firma
- AND Interf.TrNr1 = Debop.TrNr1
- AND Interf.TrNr2 = Debop.TrNr2 NO-LOCK NO-ERROR.
- F_Datum :SCREEN-VALUE = STRING(Debop.FakDat) NO-ERROR.
- F_Faellig :SCREEN-VALUE = STRING(Debop.Faellig) NO-ERROR.
- CB_Kondi :SCREEN-VALUE = STRING(Debop.Kond,'999999') NO-ERROR.
- CB_Frw :SCREEN-VALUE = Debop.Frw NO-ERROR.
- F_Kurs :SCREEN-VALUE = STRING(Debop.Kurs) NO-ERROR.
- F_Faktor :SCREEN-VALUE = STRING(Debop.Faktor) NO-ERROR.
- F_FakBetr :SCREEN-VALUE = STRING(Debop.Fakbetr) NO-ERROR.
- F_FakBetrFrw:SCREEN-VALUE = STRING(Debop.Fakbetr_Frw) NO-ERROR.
- F_Skber :SCREEN-VALUE = STRING(Debop.Skber) NO-ERROR.
- F_SkberFrw :SCREEN-VALUE = STRING(Debop.Skber_Frw) NO-ERROR.
- F_Konto_S :SCREEN-VALUE = Debop.Konto NO-ERROR.
- F_Konto_H :SCREEN-VALUE = Interf.Kto2 NO-ERROR.
- DO i1 = 1 TO 11:
- IF Debop.FakWpfl[i1] = 0 THEN NEXT.
- CB_MWST-1 :SCREEN-VALUE = STRING(i1,'999999') NO-ERROR.
- F_Betrag-1:SCREEN-VALUE = STRING(Debop.FakWpfl[i1]) NO-ERROR.
- F_MWST-1 :SCREEN-VALUE = STRING(Debop.FakWust[i1]) NO-ERROR.
- LEAVE.
- END.
- DO i1 = i1 + 1 TO 11:
- IF Debop.FakWpfl[i1] = 0 THEN NEXT.
- CB_MWST-2 :SCREEN-VALUE = STRING(i1,'999999') NO-ERROR.
- F_Betrag-2:SCREEN-VALUE = STRING(Debop.FakWpfl[i1]) NO-ERROR.
- F_MWST-2 :SCREEN-VALUE = STRING(Debop.FakWust[i1]) NO-ERROR.
- LEAVE.
- END.
- DO i1 = i1 + 1 TO 11:
- IF Debop.FakWpfl[i1] = 0 THEN NEXT.
- CB_MWST-3 :SCREEN-VALUE = STRING(i1,'999999') NO-ERROR.
- F_Betrag-3:SCREEN-VALUE = STRING(Debop.FakWpfl[i1]) NO-ERROR.
- F_MWST-3 :SCREEN-VALUE = STRING(Debop.FakWust[i1]) NO-ERROR.
- LEAVE.
- END.
- RETURN ''.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- IF sAktiv THEN
- DO:
- RUN COMBO_KONDITION ( CB_Kondi:HANDLE ) NO-ERROR.
- RUN COMBO_FRW ( CB_FRW :HANDLE ) NO-ERROR.
- RUN COMBO_MWST NO-ERROR.
-
- END.
- END.
- RUN SUPER.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KONTO_TEST fFrameWin
- PROCEDURE KONTO_TEST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xFirma AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- cString = FBFirma + CHR(01)
- + STRING(YEAR(F_Datum),'9999') + CHR(01)
- + F_Konto_S.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN
- DO:
- F_Konto_S:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_S.
- RETURN 'ERROR'.
- END.
- ELSE
- DO:
- F_Konto_S:BGCOLOR = 15.
- F_Konto_S:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
- END.
-
- cString = FBFirma + CHR(01)
- + STRING(YEAR(F_Datum),'9999') + CHR(01)
- + F_Konto_H.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN
- DO:
- F_Konto_H:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H.
- RETURN 'ERROR'.
- END.
- ELSE
- DO:
- F_Konto_H:BGCOLOR = 15.
- F_Konto_H:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
- xFirma = ENTRY(7, cString, CHR(01)).
- END.
- IF xFirma <> FBFirma THEN
- DO:
- F_Konto_H:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H.
- RETURN 'ERROR'.
- END.
-
- IF F_Konto_H_1 <> '' THEN
- DO:
- cString = FBFirma + CHR(01)
- + STRING(YEAR(F_Datum),'9999') + CHR(01)
- + F_Konto_H_1.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN
- DO:
- F_Konto_H_1:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H_1.
- RETURN 'ERROR'.
- END.
- ELSE
- DO:
- F_Konto_H_1:BGCOLOR = 15.
- F_Konto_H_1:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
- xFirma = ENTRY(7, cString, CHR(01)).
- END.
- END.
- IF xFirma <> FBFirma THEN
- DO:
- F_Konto_H:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H_1.
- RETURN 'ERROR'.
- END.
- IF F_Konto_H_2 <> '' THEN
- DO:
- cString = FBFirma + CHR(01)
- + STRING(YEAR(F_Datum),'9999') + CHR(01)
- + F_Konto_H_2.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN
- DO:
- F_Konto_H_2:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H_2.
- RETURN 'ERROR'.
- END.
- ELSE
- DO:
- F_Konto_H_2:BGCOLOR = 15.
- F_Konto_H_2:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
- xFirma = ENTRY(7, cString, CHR(01)).
- END.
- END.
- IF xFirma <> FBFirma THEN
- DO:
- F_Konto_H:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H_2.
- RETURN 'ERROR'.
- END.
- IF F_Konto_H_3 <> '' THEN
- DO:
- cString = FBFirma + CHR(01)
- + STRING(YEAR(F_Datum),'9999') + CHR(01)
- + F_Konto_H_3.
- cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
- IF cString = ? THEN
- DO:
- F_Konto_H_3:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H_3.
- RETURN 'ERROR'.
- END.
- ELSE
- DO:
- F_Konto_H_3:BGCOLOR = 15.
- F_Konto_H_3:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
- xFirma = ENTRY(7, cString, CHR(01)).
- END.
- END.
- IF xFirma <> FBFirma THEN
- DO:
- F_Konto_H:BGCOLOR = 14.
- APPLY 'ENTRY' TO F_Konto_H_3.
- RETURN 'ERROR'.
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN_RECHNUNG fFrameWin
- PROCEDURE LOESCHEN_RECHNUNG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipFirma AS CHARACTER NO-UNDO.
- DEFINE INPUT PARAMETER ipFaknr AS INTEGER NO-UNDO.
- DEFINE OUTPUT PARAMETER opTrNr1 AS INTEGER NO-UNDO.
- DEFINE OUTPUT PARAMETER opTrNr2 AS INTEGER NO-UNDO.
- opTrNr1 = 0.
- opTrNr2 = 0.
- FIND Debop USE-INDEX Debop-k2
- WHERE Debop.Firma = ipFirma
- AND Debop.Faknr = ipFaknr NO-ERROR.
- IF NOT AVAILABLE Debop THEN RETURN.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Debop.Firma
- AND Debst.Knr = Debop.Knr NO-ERROR.
- ASSIGN
- Debst.Saldo_Frw = Debst.Saldo_Frw - Debop.Saldo_Frw
- Debst.Saldo = Debst.Saldo - Debop.Saldo.
- opTrNr1 = Debop.TrNr1.
- opTrNr2 = Debop.TrNr2.
- FOR EACH Debfa USE-INDEX Debfa-k1
- WHERE Debfa.Firma = Debop.Firma
- AND Debfa.Knr = Debop.Knr
- AND Debfa.Faknr = Debop.Faknr:
- DELETE Debfa.
- END.
- FOR EACH Debhi USE-INDEX Debhi-k3
- WHERE Debhi.Firma = Debop.Firma
- AND Debhi.Knr = Debop.Knr
- AND Debhi.Faknr = Debop.Faknr:
- DELETE Debhi.
- END.
- FOR EACH Debwu USE-INDEX Debwu-k1
- WHERE Debwu.Firma = Debop.Firma
- AND Debwu.Knr = Debop.Knr
- AND Debwu.Faknr = Debop.Faknr:
- DELETE Debwu.
- END.
- FOR EACH Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = FBFirma
- AND Interf.TrNr1 = opTrNr1
- AND Interf.TrNr2 = opTrNr2 :
- DELETE Interf.
- END.
- DELETE Debop.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERYDEBOP fFrameWin
- PROCEDURE OPENQUERYDEBOP :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
- OPEN QUERY Br_OffenePosten
- FOR EACH Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Firma
- AND Debop.Knr = ipKnr
- AND Debop.Saldo <> 0 NO-LOCK
- BY Debop.Fakdat DESCENDING
- BY Debop.Faknr DESCENDING
-
- INDEXED-REPOSITION .
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNEN fFrameWin
- PROCEDURE RECHNEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE BetrBas AS DECIMAL DECIMALS 8 NO-UNDO.
- DEFINE VARIABLE BetrFrw AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Kurs AS DECIMAL DECIMALS 8 NO-UNDO.
- DEFINE VARIABLE Faktor AS INTEGER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Kurs = DECIMAL(F_Kurs :SCREEN-VALUE).
- Faktor = INTEGER(F_Faktor:SCREEN-VALUE).
- END.
- CASE ipArt:
- WHEN 08 THEN
- DO WITH FRAME {&FRAME-NAME}:
- BetrFrw = DECIMAL(F_SkberFrw:SCREEN-VALUE) NO-ERROR.
- IF BetrFrw <> 0 THEN BetrBas = BetrFrw * Kurs / Faktor.
- ELSE BetrBas = 0.
- F_Skber:SCREEN-VALUE = STRING(BetrBas).
- END.
- WHEN 09 THEN
- DO WITH FRAME {&FRAME-NAME}:
- BetrFrw = DECIMAL(F_FakbetrFrw:SCREEN-VALUE) NO-ERROR.
- IF BetrFrw <> 0 THEN BetrBas = BetrFrw * Kurs / Faktor.
- ELSE BetrBas = 0.
- F_FakBetr:SCREEN-VALUE = STRING(BetrBas).
- BetrFrw = DECIMAL(F_SkberFrw:SCREEN-VALUE) NO-ERROR.
- IF BetrFrw <> 0 THEN BetrBas = BetrFrw * Kurs / Faktor.
- ELSE BetrBas = 0.
- F_Skber:SCREEN-VALUE = STRING(BetrBas).
- END.
- END CASE.
- RUN BUTTON_SPEICHERN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBEN_DEBITOR fFrameWin
- PROCEDURE SCHREIBEN_DEBITOR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- FIND BDebop WHERE RECID(BDebop) = opRecid NO-LOCK NO-ERROR.
- FIND Steuer WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- CREATE Debfa.
- ASSIGN
- Debfa.Firma = BDebop.Firma
- Debfa.Knr = BDebop.Knr
- Debfa.Faknr = BDebop.Faknr
- Debfa.Fakdat = BDebop.Fakdat
- Debfa.Faellig = BDebop.Faellig
- Debfa.Fakbetr = BDebop.Fakbetr
- Debfa.Skber = BDebop.Skber
- Debfa.WW = BDebop.WW
- Debfa.Fakbetr_Frw = BDebop.Fakbetr_Frw
- Debfa.Skber_Frw = BDebop.Skber_Frw
- Debfa.WW_Frw = BDebop.WW_Frw
- Debfa.Transp = 0
- Debfa.Porto = 0
- Debfa.Verpack = 0
- Debfa.Konto = BDebop.Konto
- Debfa.Vertr = 0
- Debfa.Kte = BDebop.Kte
- Debfa.TrNr1 = BDebop.TrNr1
- Debfa.TrNr2 = BDebop.TrNr2
- Debfa.Frw = BDebop.Frw
- Debfa.Kurs = BDebop.Kurs
- Debfa.Faktor = BDebop.Faktor.
- DO ix = 1 TO 12:
- ASSIGN
- Debfa.FakWpfl[ix] = BDebop.FakWpfl[ix]
- Debfa.FakWust[ix] = BDebop.FakWust[ix].
- END.
- FIND LAST Debhi USE-INDEX Debhi-k1
- WHERE Debhi.Firma = BDebop.Firma
- AND Debhi.Knr = BDebop.Knr NO-LOCK NO-ERROR.
- IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
- ELSE ix = 1.
- CREATE Debhi.
- ASSIGN
- Debhi.Firma = BDebop.Firma
- Debhi.Knr = BDebop.Knr
- Debhi.Trnr = ix
- Debhi.Datum = BDebop.Fakdat
- Debhi.Faknr = BDebop.Faknr
- Debhi.Kte = BDebop.Kte
- Debhi.Soll = BDebop.Fakbetr
- Debhi.Soll_Frw = BDebop.Fakbetr_Frw
- Debhi.Transp = 0
- Debhi.Porto = 0
- Debhi.Verpack = 0
- Debhi.Konto = BDebop.Konto
- Debhi.TrNr1 = BDebop.TrNr1
- Debhi.TrNr2 = BDebop.TrNr2
- Debhi.Frw = BDebop.Frw
- Debhi.Kurs = BDebop.Kurs
- Debhi.Faktor = BDebop.Faktor
- Debhi.Saldo = bDebst.Saldo_Frw + BDebop.Saldo_Frw.
- IF Steuer.St07 = 0 THEN
- DO: /* Mehrwertsteuer vereinbart */
- CREATE Debwu.
- ASSIGN
- Debwu.Firma = BDebop.Firma
- Debwu.Knr = BDebop.Knr
- Debwu.Faknr = BDebop.Faknr
- Debwu.Trnr = 1
- Debwu.Datum = BDebop.Fakdat
- Debwu.Betrag = BDebop.Fakbetr
- Debwu.Betrag_Frw = BDebop.Fakbetr_Frw
- Debwu.Konto = BDebop.Konto
- Debwu.Kte = BDebop.Kte
- Debwu.TrNr1 = BDebop.TrNr1
- Debwu.TrNr2 = BDebop.TrNr2
- Debwu.Frw = BDebop.Frw
- Debwu.Kurs = BDebop.Kurs
- Debwu.Faktor = BDebop.Faktor.
- DO ix = 1 TO 12:
- IF BDebop.FakWpfl[ix] = 0 THEN NEXT.
- ASSIGN
- Debwu.Wustpfl[ix] = BDebop.FakWpfl[ix]
- Debwu.Wust [ix] = BDebop.FakWust[ix].
- END.
- END.
- RETURN 'io'.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_CANCEL fFrameWin
- PROCEDURE SET_CANCEL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- fCancel = TRUE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FIND_KNR fFrameWin
- PROCEDURE SET_FIND_KNR :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- F_Knr = ipKnr.
- DISPLAY F_Knr.
- RUN ADRESSE ( ipKnr ).
- PUBLISH 'REPOSADRESSE' ( INPUT rAdresse ).
- fCancel = TRUE.
- APPLY 'ENTRY' TO F_Faknr.
- RETURN NO-APPLY.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN fFrameWin
- PROCEDURE SPEICHERN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE miKurs AS DECIMAL NO-UNDO.
- DEFINE VARIABLE maKurs AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE VBuchtxt1 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VBuchtxt2 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VBuchtxt3 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE TrNr1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE TrNr2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE TrNr AS INTEGER NO-UNDO.
- DEFINE VARIABLE mWW AS DECIMAL EXTENT 11 NO-UNDO.
- DEFINE VARIABLE mMw AS DECIMAL EXTENT 11 NO-UNDO.
- DEFINE VARIABLE mKo AS CHARACTER EXTENT 11 NO-UNDO.
- DEFINE VARIABLE Kto1 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Kto2 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE SaldoBas AS DECIMAL NO-UNDO.
- DEFINE VARIABLE SaldoFrw AS DECIMAL NO-UNDO.
- DEFINE VARIABLE fFehler AS LOG NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- ASSIGN F_Knr.
- Frw = CB_Frw:SCREEN-VALUE.
- IF F_Datum = ? THEN
- DO:
- APPLY 'ENTRY' TO F_Datum.
- RETURN NO-APPLY.
- END.
- IF F_Faellig = ? OR
- F_Faellig < F_Datum THEN
- DO:
- APPLY 'ENTRY' TO F_Faellig.
- RETURN NO-APPLY.
- END.
- IF F_Faktor = 0 THEN F_Faktor:SCREEN-VALUE = STRING(1).
- /* RUN KONTO_TEST. */
- /* IF RETURN-VALUE = 'ERROR' THEN RETURN NO-APPLY.*/
-
- FIND Waehrung NO-LOCK
- WHERE Waehrung.Firma = GlobFir
- AND Waehrung.Frw = Frw NO-ERROR.
- IF NOT AVAILABLE Waehrung THEN
- DO:
- APPLY 'ENTRY' TO CB_Frw.
- RETURN NO-APPLY.
- END.
- IF Waehrung.Frw = BasFrw THEN
- DO:
- miKurs = 1.0.
- maKurs = 1.0.
- END.
- ELSE
- DO:
- miKurs = Waehrung.Kurs * 0.7.
- maKurs = Waehrung.Kurs * 1.3.
- END.
- IF F_Kurs < miKurs OR
- F_Kurs > maKurs THEN
- DO:
- APPLY 'ENTRY' TO F_Kurs.
- RETURN NO-APPLY.
- END.
- IF F_Kurs <= 0 THEN
- DO:
- APPLY 'ENTRY' TO F_Kurs.
- RETURN NO-APPLY.
- END.
- IF F_Kurs = ? THEN
- DO:
- APPLY 'ENTRY' TO F_Kurs.
- RETURN NO-APPLY.
- END.
- Betr = F_Betrag-1 + F_Betrag-2 + F_Betrag-3
- + F_MWST-1 + F_MWST-2 + F_MWST-3.
- IF Betr <> F_Fakbetr THEN
- DO:
- APPLY 'ENTRY' TO F_Betrag-1.
- RETURN NO-APPLY.
- END.
- fTest = TRUE.
- RUN FAKNR_TEST ( INPUT TRUE ).
- IF RETURN-VALUE = 'ERROR' THEN
- DO:
- APPLY 'ENTRY' TO F_Faknr.
- RETURN NO-APPLY.
- END.
- ASSIGN {&List-6}.
- IF bAdresse.Firma1 <> '' THEN vAdresse = TRIM(bAdresse.Firma1 + ' ' + bAdresse.Firma2 ).
- ELSE vAdresse = TRIM(bAdresse.Name + ' ' + bAdresse.Vorname).
- VBuchtxt1 = 'Debitorrechnung :'
- + STRING(F_Faknr," 9999999").
- VBuchtxt2 = vAdresse
- + ", "
- + TRIM(bAdresse.Lkz + '-' + bAdresse.Plz + ' ' + bAdresse.Ort).
- VBuchtxt2 = TRIM(SUBSTRING(VBuchtxt2,01,40)).
- VBuchtxt3 = F_Buchtext3.
- PUT-KEY-VALUE SECTION 'Fehlwerte'
- KEY 'Mehrwertsteuer'
- VALUE CB_MWST-1:SCREEN-VALUE NO-ERROR.
- END.
- BUCHEN:
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
- fFehler = FALSE.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- FIND SteuNr USE-INDEX SteuNr-k1
- WHERE SteuNr.Firma = Firma NO-LOCK NO-ERROR.
- IF fNeu = FALSE THEN
- DO:
- RUN LOESCHEN_RECHNUNG ( INPUT Firma, INPUT F_Faknr,
- OUTPUT TrNr1, OUTPUT TrNr2 ).
- IF F_FakbetrFrw = 0 AND
- F_Fakbetr = 0 THEN
- DO:
- F_Saldo = Debst.Saldo.
- F_SaldoFrw = Debst.Saldo_Frw.
- RELEASE Debst.
- RELEASE Debop.
- RELEASE Debfa.
- RELEASE Debwu.
- RELEASE Debhi.
- RELEASE Interf.
- RELEASE Steuer.
- RELEASE SteuNr.
- LEAVE BUCHEN.
- END.
- END.
- EMPTY TEMP-TABLE tKonto.
- DO WHILE TRUE ON ERROR UNDO, RETRY:
- IF RETRY THEN .
- PAUSE 0 BEFORE-HIDE NO-MESSAGE.
- RELEASE TransNr.
- IF TrNr1 <> 0 THEN
- DO:
- FIND TransNr USE-INDEX TransNr-k1
- WHERE TransNr.Firma = '9999'
- AND TransNr.TrNr1 = TrNr1
- AND TransNr.TrNr2 = TrNr2 NO-ERROR.
- END.
- ELSE
- DO:
- FIND LAST TransNr USE-INDEX TransNr-k1
- WHERE TransNr.Firma = '9999' NO-LOCK NO-ERROR.
- IF AVAILABLE TransNr THEN
- DO:
- TrNr1 = TransNr.TrNr1 + 1.
- TrNr2 = 1.
- END.
- ELSE
- DO:
- TrNr1 = 1.
- TrNr2 = 1.
- END.
- CREATE TransNr.
- ASSIGN
- TransNr.Firma = '9999'
- TransNr.TrNr1 = TrNr1
- TransNr.TrNr2 = TrNr2.
- END.
- ASSIGN
- TransNr.Herk = 52
- TransNr.Erf_Dat = TODAY
- TransNr.Erf_Zeit = TIME
- TransNr.Betrag = F_Fakbetr.
-
- cString = DYNAMIC-FUNCTION('getBenutzerDaten').
- TransNr.SaBe = ENTRY(2, cString, CHR(01)).
- LEAVE.
- END.
- CREATE Debop.
- ASSIGN
- Debop.Firma = Firma
- Debop.Knr = F_Knr
- Debop.Faknr = F_Faknr
- Debop.Fakdat = F_Datum
- Debop.Faellig = F_Faellig
- Debop.Fakbetr = F_Fakbetr
- Debop.Skber = F_Skber
- Debop.WW = F_Betrag-1 + F_Betrag-2 + F_Betrag-3
- Debop.Saldo = F_Fakbetr
- Debop.Fakbetr_Frw = F_FakbetrFrw
- Debop.Skber_Frw = F_SkberFrw
- Debop.WW_Frw = Debop.WW / F_Kurs * F_Faktor
- Debop.Saldo_Frw = F_FakbetrFrw
- Debop.Kond = INTEGER(CB_Kondi:SCREEN-VALUE)
- Debop.Transp = 0
- Debop.Porto = 0
- Debop.Verpack = 0
- Debop.Konto = F_Konto_S
- Debop.Vertr = 0
- Debop.Kte = "MAFA"
- Debop.TrNr1 = TrNr1
- Debop.TrNr2 = TrNr2
- Debop.Frw = Frw
- Debop.Kurs = F_Kurs
- Debop.Faktor = F_Faktor
- Debop.FakWpfl = 0
- Debop.FakWust = 0.
- IF Steuer.St07 = 0 THEN Debop.WustAbr = TRUE. /* vereinbahrt */
- ELSE Debop.WustAbr = FALSE. /* vereinnahmt */
- opRecid = RECID(Debop).
- mWW = 0.
- mMw = 0.
- mKo = ''.
- DO ix = 1 TO 12:
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= Debop.Fakdat NO-LOCK NO-ERROR.
- IF AVAILABLE MWSTAns THEN
- DO:
- ASSIGN
- Debop.FakWPro[ix] = MWSTAns.Ansatz
- Debop.FakIncl[ix] = MWSTAns.Incl.
- END.
- END.
- IF F_Betrag-1 <> 0 THEN
- DO:
- ix = INTEGER(CB_MWST-1:SCREEN-VALUE).
- ASSIGN
- Debop.FakWpfl[ix] = Debop.FakWpfl[ix] + F_Betrag-1
- Debop.FakWust[ix] = Debop.FakWust[ix] + F_MWST-1
- mKo[ix] = B1MWSTAns.Konto.
- IF F_Konto_H_1 = '' THEN F_Konto_H_1 = F_Konto_H.
- FIND FIRST tKonto
- WHERE tKonto.Konto = F_Konto_H_1
- AND tKonto.Mwst_cd = ix NO-ERROR.
- IF NOT AVAILABLE tKonto THEN
- DO:
- CREATE tKonto.
- ASSIGN
- tKonto.Konto = F_Konto_H_1
- tKonto.Mwst_cd = ix.
- END.
- ASSIGN
- tKonto.Betrag = tKonto.Betrag + F_Betrag-1
- tKonto.Mwst = tKonto.Mwst + F_MWST-1.
- END.
- IF F_Betrag-2 <> 0 THEN
- DO:
- ix = INTEGER(CB_MWST-2:SCREEN-VALUE).
- ASSIGN
- Debop.FakWpfl[ix] = Debop.FakWpfl[ix] + F_Betrag-2
- Debop.FakWust[ix] = Debop.FakWust[ix] + F_MWST-2
- mKo[ix] = B2MWSTAns.Konto.
- IF F_Konto_H_2 = '' THEN F_Konto_H_2 = F_Konto_H.
- IF F_Konto_H_2 = '' THEN F_Konto_H_2 = F_Konto_H_1.
- FIND FIRST tKonto
- WHERE tKonto.Konto = F_Konto_H_2
- AND tKonto.Mwst_cd = ix NO-ERROR.
- IF NOT AVAILABLE tKonto THEN
- DO:
- CREATE tKonto.
- ASSIGN
- tKonto.Konto = F_Konto_H_2
- tKonto.Mwst_cd = ix.
- END.
- ASSIGN
- tKonto.Betrag = tKonto.Betrag + F_Betrag-2
- tKonto.Mwst = tKonto.Mwst + F_MWST-2.
- END.
- IF F_Betrag-3 <> 0 THEN
- DO:
- ix = INTEGER(CB_MWST-3:SCREEN-VALUE).
- ASSIGN
- Debop.FakWpfl[ix] = Debop.FakWpfl[ix] + F_Betrag-3
- Debop.FakWust[ix] = Debop.FakWust[ix] + F_MWST-3
- mKo[ix] = B3MWSTAns.Konto.
- IF F_Konto_H_3 = '' THEN F_Konto_H_3 = F_Konto_H.
- IF F_Konto_H_3 = '' THEN F_Konto_H_3 = F_Konto_H_1.
- FIND FIRST tKonto
- WHERE tKonto.Konto = F_Konto_H_3
- AND tKonto.Mwst_cd = ix NO-ERROR.
- IF NOT AVAILABLE tKonto THEN
- DO:
- CREATE tKonto.
- ASSIGN
- tKonto.Konto = F_Konto_H_3
- tKonto.Mwst_cd = ix.
- END.
- ASSIGN
- tKonto.Betrag = tKonto.Betrag + F_Betrag-3
- tKonto.Mwst = tKonto.Mwst + F_MWST-3.
- END.
- DO ix = 1 TO 11:
- IF Debop.FakWpfl[ix] = 0 THEN NEXT.
- IF Debop.FakIncl[ix] = FALSE THEN
- DO:
- mWW[ix] = Debop.FakWpfl[ix].
- mMw[ix] = Debop.FakWust[ix].
- END.
- ELSE
- DO:
- mMw[ix] = Debop.FakWpfl[ix] * Debop.FakWPro[ix] / (100 + Debop.FakWPro[ix]).
- mWW[ix] = Debop.FakWpfl[ix] - mMw[ix].
- END.
- END.
- RUN SCHREIBEN_DEBITOR.
- IF RETURN-VALUE <> 'io' THEN
- DO:
- fFehler = TRUE.
- UNDO BUCHEN, LEAVE BUCHEN.
- END.
- TrNr = 0.
- SaldoBas = F_Fakbetr.
- SaldoFrw = F_FakbetrFrw.
- FOR EACH tKonto BY tKonto.Mwst_Cd:
- IF tKonto.Betrag = 0 THEN NEXT.
- ix = tKonto.Mwst_Cd.
- Kto1 = F_Konto_S.
- Kto2 = tKonto.Konto.
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = FBFirma
- AND Interf.TrNr1 = TrNr1
- AND Interf.TrNr2 = TrNr2
- AND Interf.Kto1 = Kto1
- AND Interf.Kto2 = Kto2 NO-ERROR.
- IF NOT AVAILABLE Interf THEN
- DO:
- TrNr = TrNr + 1.
- CREATE Interf.
- ASSIGN
- Interf.Firma = FBFirma
- Interf.TrNr1 = TrNr1
- Interf.TrNr2 = TrNr2
- Interf.TrNr = TrNr
- Interf.Kto1 = Kto1
- Interf.Kto2 = Kto2
- Interf.Herk = TransNr.Herk
- Interf.Datum = F_Datum
- Interf.Buchtxt1 = VBuchtxt1
- Interf.Buchtxt2 = VBuchtxt2
- Interf.Buchtxt3 = VBuchtxt3
- Interf.Frw = Debop.Frw
- Interf.Faktor = Debop.Faktor
- Interf.Kurs = Debop.Kurs
- Interf.Verbucht = FALSE
- Interf.Faknr = STRING(Debop.Faknr,"9999999")
- Interf.Knr = Debop.Knr
- Interf.MWST_Nr = ""
- Interf.MWST_Cd = tKonto.Mwst_Cd
- Interf.MWST_Art = 1
- Interf.HKFirma = Firma
- Interf.BEBU = 0
- Interf.BEBU_Art = 0
- Interf.Menge = 0.
- END.
- Betr = tKonto.Betrag.
- Interf.Betrag = Interf.Betrag + Betr.
- SaldoBas = SaldoBas - Betr.
- Betr = Betr * Interf.Faktor / Interf.Kurs.
- Interf.Betrag_Frw = Interf.Betrag_Frw + Betr.
- SaldoFrw = SaldoFrw - Betr.
- IF tKonto.Mwst = 0 THEN NEXT.
- Kto2 = mKo[ix].
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = FBFirma
- AND Interf.TrNr1 = TrNr1
- AND Interf.TrNr2 = TrNr2
- AND Interf.Kto1 = Kto1
- AND Interf.Kto2 = Kto2 NO-ERROR.
- IF NOT AVAILABLE Interf THEN
- DO:
- TrNr = TrNr + 1.
- CREATE Interf.
- ASSIGN
- Interf.Firma = FBFirma
- Interf.TrNr1 = TrNr1
- Interf.TrNr2 = TrNr2
- Interf.TrNr = TrNr
- Interf.Kto1 = Kto1
- Interf.Kto2 = Kto2
- Interf.Herk = TransNr.Herk
- Interf.Datum = F_Datum
- Interf.Buchtxt1 = VBuchtxt1
- Interf.Buchtxt2 = VBuchtxt2
- Interf.Buchtxt3 = VBuchtxt3
- Interf.Frw = Debop.Frw
- Interf.Faktor = Debop.Faktor
- Interf.Kurs = Debop.Kurs
- Interf.Verbucht = FALSE
- Interf.Faknr = STRING(Debop.Faknr,"9999999")
- Interf.Knr = Debop.Knr
- Interf.MWST_Nr = ""
- Interf.MWST_Cd = 0
- Interf.MWST_Art = 6
- Interf.HKFirma = Firma
- Interf.BEBU = 0
- Interf.BEBU_Art = 0
- Interf.Menge = 0.
- END.
- Betr = tKonto.Mwst.
- Interf.Betrag = Interf.Betrag + Betr.
- SaldoBas = SaldoBas - Betr.
- Betr = Betr * Interf.Faktor / Interf.Kurs.
- Interf.Betrag_Frw = Interf.Betrag_Frw + Betr.
- SaldoFrw = SaldoFrw - Betr.
- END.
- DO WHILE TRUE:
- IF SaldoBas = 0 AND
- SaldoFrw = 0 THEN LEAVE.
- Kto1 = F_Konto_S.
- Kto2 = F_Konto_H.
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = FBFirma
- AND Interf.TrNr1 = TrNr1
- AND Interf.TrNr2 = TrNr2
- AND Interf.Kto1 = Kto1
- AND Interf.Kto2 = Kto2 NO-ERROR.
- Interf.Betrag = Interf.Betrag + SaldoBas.
- Interf.Betrag_Frw = Interf.Betrag_Frw + SaldoFrw.
- SaldoBas = 0.
- SaldoFrw = 0.
- LEAVE.
- END.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = F_Knr NO-ERROR.
- Debst.Saldo_Frw = Debst.Saldo_Frw + Debop.Saldo_Frw.
- Debst.Saldo = Debst.Saldo + Debop.Saldo .
- F_Saldo = Debst.Saldo.
- F_SaldoFrw = Debst.Saldo_Frw.
- RELEASE Debst.
- RELEASE Debop.
- RELEASE Debfa.
- RELEASE Debwu.
- RELEASE Debhi.
- RELEASE Interf.
- RELEASE Steuer.
- RELEASE SteuNr.
- LEAVE.
- END.
- IF fFehler THEN
- DO:
- MESSAGE 'Ein fehler ist aufgetaucht, '
- 'bitte Rechnung nochmals Eingeben ' VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- RUN OPENQUERYDEBOP ( INPUT F_Knr ).
- fCancel = FALSE.
- DO WITH FRAME {&FRAME-NAME}:
- F_Faknr = 0.
- F_Datum = ?.
- F_Faellig = ?.
- F_Konto_S = ''.
- F_Konto_H = ''.
- F_Kurs = 1.
- F_Faktor = 1.
- F_Fakbetr = 0.
- F_FakbetrFrw = 0.
- F_Skber = 0.
- F_SkberFrw = 0.
- F_Betrag-1 = 0.
- F_Betrag-2 = 0.
- F_Betrag-3 = 0.
- F_MWST-1 = 0.
- F_MWST-2 = 0.
- F_MWST-3 = 0.
-
- Btn_Speichern:SENSITIVE = FALSE.
-
- DISPLAY {&List-6}.
- DISPLAY
- F_Saldo
- F_SaldoFrw.
- APPLY 'ENTRY' TO F_Knr.
- RETURN NO-APPLY.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin
- PROCEDURE viewObject:
- /*------------------------------------------------------------------------------*/
- /* Purpose: Super Override */
- /* Parameters: */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE hData AS HANDLE NO-UNDO.
- lView = TRUE.
- hData = DYNAMIC-FUNCTION ('getDataSource':U) NO-ERROR.
- DO WHILE VALID-HANDLE(hData):
- rAdresse = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hData) NO-ERROR.
- IF rAdresse = ? OR
- rAdresse = 0 THEN LEAVE.
- FIND bAdresse NO-LOCK WHERE RECID(bAdresse) = rAdresse.
- RUN ADRESSE ( bAdresse.Knr ).
- LEAVE.
- END.
- RUN SUPER.
- APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
- APPLY 'U1'.
- lView = FALSE.
- RETURN NO-APPLY.
- END PROCEDURE.
-
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|