f-man-rechnungen.w 93 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrfrm.w - ADM2 SmartFrame Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEFINE VARIABLE SAktiv AS LOG NO-UNDO INIT FALSE.
  28. DEFINE VARIABLE FMut AS LOG NO-UNDO INIT FALSE.
  29. DEFINE VARIABLE ProgName AS CHARACTER NO-UNDO.
  30. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  31. DEFINE VARIABLE D1Firma AS CHARACTER NO-UNDO.
  32. DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
  33. DEFINE VARIABLE FBFirma AS CHARACTER NO-UNDO.
  34. DEFINE VARIABLE GlobFir AS CHARACTER NO-UNDO.
  35. DEFINE VARIABLE GlobFil AS CHARACTER INIT '0000' NO-UNDO.
  36. DEFINE VARIABLE GlobKon AS CHARACTER INIT '9999' NO-UNDO.
  37. DEFINE VARIABLE Datum AS DATE NO-UNDO.
  38. DEFINE VARIABLE fCancel AS LOG NO-UNDO INIT FALSE.
  39. DEFINE VARIABLE fNeu AS LOG NO-UNDO INIT TRUE .
  40. DEFINE VARIABLE fTest AS LOG NO-UNDO INIT FALSE.
  41. DEFINE VARIABLE FRW AS CHARACTER NO-UNDO.
  42. DEFINE VARIABLE BasFrw AS CHARACTER NO-UNDO INIT 'CHF'.
  43. DEFINE VARIABLE VAdresse AS CHARACTER NO-UNDO.
  44. DEFINE VARIABLE opRecid AS RECID NO-UNDO.
  45. DEFINE VARIABLE rAdresse AS RECID NO-UNDO.
  46. DEFINE VARIABLE lView AS LOGICAL NO-UNDO.
  47. DEFINE BUFFER bWaehrung FOR Waehrung.
  48. DEFINE BUFFER bKondi FOR Kondi .
  49. DEFINE BUFFER bDebst FOR Debst .
  50. DEFINE BUFFER bDebop FOR Debop .
  51. DEFINE BUFFER b1MWSTAns FOR MWSTAns .
  52. DEFINE BUFFER b2MWSTAns FOR MWSTAns .
  53. DEFINE BUFFER b3MWSTAns FOR MWSTAns .
  54. DEFINE BUFFER bAdresse FOR Adresse .
  55. DEFINE TEMP-TABLE tKonto
  56. FIELD Konto AS CHARACTER
  57. FIELD Betrag AS DECIMAL
  58. FIELD Mwst AS DECIMAL
  59. FIELD Mwst_Cd AS INTEGER.
  60. /* _UIB-CODE-BLOCK-END */
  61. &ANALYZE-RESUME
  62. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  63. /* ******************** Preprocessor Definitions ******************** */
  64. &Scoped-define PROCEDURE-TYPE SmartFrame
  65. &Scoped-define DB-AWARE no
  66. &Scoped-define ADM-CONTAINER FRAME
  67. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  68. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  69. &Scoped-define FRAME-NAME fMain
  70. &Scoped-define BROWSE-NAME Br_OffenePosten
  71. /* Internal Tables (found by Frame, Query & Browse Queries) */
  72. &Scoped-define INTERNAL-TABLES Debop
  73. /* Definitions for BROWSE Br_OffenePosten */
  74. &Scoped-define FIELDS-IN-QUERY-Br_OffenePosten Debop.Faknr Debop.Fakdat ~
  75. Debop.Faellig Debop.Fakbetr Debop.Fakbetr_FRW Debop.FRW Debop.Kurs ~
  76. Debop.Zahdat Debop.Zahbetr Debop.Zahbetr_FRW Debop.Skonto Debop.Skonto_FRW ~
  77. Debop.Saldo Debop.Saldo_FRW
  78. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_OffenePosten
  79. &Scoped-define QUERY-STRING-Br_OffenePosten FOR EACH Debop NO-LOCK INDEXED-REPOSITION
  80. &Scoped-define OPEN-QUERY-Br_OffenePosten OPEN QUERY Br_OffenePosten FOR EACH Debop NO-LOCK INDEXED-REPOSITION.
  81. &Scoped-define TABLES-IN-QUERY-Br_OffenePosten Debop
  82. &Scoped-define FIRST-TABLE-IN-QUERY-Br_OffenePosten Debop
  83. /* Definitions for FRAME fMain */
  84. /* Standard List Definitions */
  85. &Scoped-Define ENABLED-OBJECTS F_Knr Btn_SuchKunde F_Faknr F_Datum CB_Kondi ~
  86. F_Faellig F_Konto_S F_Konto_H CB_Frw F_Kurs F_Adresse F_FakbetrFrw ~
  87. F_Fakbetr F_SkberFrw F_Saldo CB_MWST-1 F_Konto_H_1 F_Betrag-1 CB_MWST-2 ~
  88. F_Konto_H_2 F_Betrag-2 F_SaldoFrw CB_MWST-3 F_Konto_H_3 F_Betrag-3 ~
  89. F_Buchtext3 F_Faktor F_Skber Br_OffenePosten F_MWSt-1 F_MWSt-2 F_MWSt-3 ~
  90. RECT-6 RECT-7
  91. &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Faknr F_Datum CB_Kondi F_Faellig ~
  92. F_Konto_S F_Konto_H CB_Frw F_Kurs F_Adresse F_FakbetrFrw F_Fakbetr ~
  93. F_SkberFrw F_Saldo CB_MWST-1 F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2 ~
  94. F_Betrag-2 F_SaldoFrw CB_MWST-3 F_Konto_H_3 F_Betrag-3 F_Buchtext3 F_Faktor ~
  95. F_Skber F_MWSt-1 F_MWSt-2 F_MWSt-3
  96. /* Custom List Definitions */
  97. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  98. &Scoped-define List-6 F_Faknr F_Datum CB_Kondi F_Faellig F_Konto_S ~
  99. F_Konto_H CB_Frw F_Kurs F_FakbetrFrw F_Fakbetr F_SkberFrw CB_MWST-1 ~
  100. F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2 F_Betrag-2 CB_MWST-3 ~
  101. F_Konto_H_3 F_Betrag-3 F_Buchtext3 F_Faktor F_Skber F_MWSt-1 F_MWSt-2 ~
  102. F_MWSt-3
  103. /* _UIB-PREPROCESSOR-BLOCK-END */
  104. &ANALYZE-RESUME
  105. /* *********************** Control Definitions ********************** */
  106. /* Definitions of the field level widgets */
  107. DEFINE BUTTON Btn_Speichern
  108. IMAGE-UP FILE "grafik/saverec.bmp":U
  109. LABEL "Sp"
  110. SIZE 5 BY 1.19.
  111. DEFINE BUTTON Btn_SuchKunde AUTO-GO
  112. LABEL "K&unde"
  113. SIZE 8 BY 1.
  114. DEFINE VARIABLE CB_Frw AS CHARACTER FORMAT "X(256)":U
  115. LABEL "Frw"
  116. VIEW-AS COMBO-BOX INNER-LINES 5
  117. LIST-ITEM-PAIRS "Item 1","Item 1"
  118. DROP-DOWN-LIST
  119. SIZE 43 BY 1
  120. BGCOLOR 15 NO-UNDO.
  121. DEFINE VARIABLE CB_Kondi AS CHARACTER FORMAT "X(256)":U
  122. LABEL "Kondition"
  123. VIEW-AS COMBO-BOX INNER-LINES 5
  124. LIST-ITEM-PAIRS "Item 1","Item 1"
  125. DROP-DOWN-LIST
  126. SIZE 33.4 BY 1
  127. BGCOLOR 15 NO-UNDO.
  128. DEFINE VARIABLE CB_MWST-1 AS CHARACTER FORMAT "X(256)":U
  129. LABEL "MWSt"
  130. VIEW-AS COMBO-BOX INNER-LINES 5
  131. LIST-ITEM-PAIRS "Item 1","Item 1"
  132. DROP-DOWN-LIST
  133. SIZE 43 BY 1
  134. BGCOLOR 15 NO-UNDO.
  135. DEFINE VARIABLE CB_MWST-2 AS CHARACTER FORMAT "X(256)":U
  136. LABEL "MWSt"
  137. VIEW-AS COMBO-BOX INNER-LINES 5
  138. LIST-ITEM-PAIRS "Item 1","Item 1"
  139. DROP-DOWN-LIST
  140. SIZE 43 BY 1
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE VARIABLE CB_MWST-3 AS CHARACTER FORMAT "X(256)":U
  143. LABEL "MWSt"
  144. VIEW-AS COMBO-BOX INNER-LINES 5
  145. LIST-ITEM-PAIRS "Item 1","Item 1"
  146. DROP-DOWN-LIST
  147. SIZE 43 BY 1
  148. BGCOLOR 15 NO-UNDO.
  149. DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(256)":U
  150. VIEW-AS FILL-IN NATIVE
  151. SIZE 68 BY 1
  152. BGCOLOR 15 NO-UNDO.
  153. DEFINE VARIABLE F_Betrag-1 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  154. LABEL "Betrag"
  155. VIEW-AS FILL-IN NATIVE
  156. SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
  157. BGCOLOR 15 NO-UNDO.
  158. DEFINE VARIABLE F_Betrag-2 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  159. LABEL "Betrag"
  160. VIEW-AS FILL-IN NATIVE
  161. SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
  162. BGCOLOR 15 NO-UNDO.
  163. DEFINE VARIABLE F_Betrag-3 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  164. LABEL "Betrag"
  165. VIEW-AS FILL-IN NATIVE
  166. SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
  167. BGCOLOR 15 NO-UNDO.
  168. DEFINE VARIABLE F_Buchtext3 AS CHARACTER FORMAT "x(40)":U
  169. LABEL "Buchtext"
  170. VIEW-AS FILL-IN NATIVE
  171. SIZE 43 BY 1
  172. BGCOLOR 15 NO-UNDO.
  173. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  174. LABEL "Datum"
  175. VIEW-AS FILL-IN NATIVE
  176. SIZE 16 BY 1
  177. BGCOLOR 15 NO-UNDO.
  178. DEFINE VARIABLE F_Faellig AS DATE FORMAT "99.99.9999":U
  179. LABEL "F„llig"
  180. VIEW-AS FILL-IN NATIVE
  181. SIZE 16 BY 1
  182. BGCOLOR 15 NO-UNDO.
  183. DEFINE VARIABLE F_Fakbetr AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  184. LABEL "/"
  185. VIEW-AS FILL-IN NATIVE
  186. SIZE 20 BY 1
  187. BGCOLOR 15 NO-UNDO.
  188. DEFINE VARIABLE F_FakbetrFrw AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  189. LABEL "Betr/-CHF"
  190. VIEW-AS FILL-IN NATIVE
  191. SIZE 20 BY 1
  192. BGCOLOR 15 NO-UNDO.
  193. DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "9999999":U INITIAL 0
  194. LABEL "Faknr"
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 12 BY 1
  197. BGCOLOR 15 NO-UNDO.
  198. DEFINE VARIABLE F_Faktor AS INTEGER FORMAT "zzz9":U INITIAL 0
  199. LABEL "Faktor"
  200. VIEW-AS FILL-IN NATIVE
  201. SIZE 8 BY 1
  202. BGCOLOR 15 NO-UNDO.
  203. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
  204. VIEW-AS FILL-IN NATIVE
  205. SIZE 11 BY 1
  206. BGCOLOR 15 NO-UNDO.
  207. DEFINE VARIABLE F_Konto_H AS CHARACTER FORMAT "x(12)":U
  208. LABEL "Konto H"
  209. VIEW-AS FILL-IN NATIVE
  210. SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
  211. BGCOLOR 15 NO-UNDO.
  212. DEFINE VARIABLE F_Konto_H_1 AS CHARACTER FORMAT "x(12)":U
  213. VIEW-AS FILL-IN NATIVE
  214. SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
  215. BGCOLOR 15 NO-UNDO.
  216. DEFINE VARIABLE F_Konto_H_2 AS CHARACTER FORMAT "x(12)":U
  217. VIEW-AS FILL-IN NATIVE
  218. SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
  219. BGCOLOR 15 NO-UNDO.
  220. DEFINE VARIABLE F_Konto_H_3 AS CHARACTER FORMAT "x(12)":U
  221. VIEW-AS FILL-IN NATIVE
  222. SIZE 16 BY 1 TOOLTIP "Fibu-Ertragskonto"
  223. BGCOLOR 15 NO-UNDO.
  224. DEFINE VARIABLE F_Konto_S AS CHARACTER FORMAT "x(12)":U
  225. LABEL "Konto S"
  226. VIEW-AS FILL-IN NATIVE
  227. SIZE 16 BY 1 TOOLTIP "Fibu-Sollkonto (Debitorsammelkonto)"
  228. BGCOLOR 15 NO-UNDO.
  229. DEFINE VARIABLE F_Kurs AS DECIMAL FORMAT "z,zz9.9999999":U INITIAL 0
  230. LABEL "Kurs"
  231. VIEW-AS FILL-IN NATIVE
  232. SIZE 20 BY 1
  233. BGCOLOR 15 NO-UNDO.
  234. DEFINE VARIABLE F_MWSt-1 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  235. LABEL "/"
  236. VIEW-AS FILL-IN NATIVE
  237. SIZE 20 BY 1
  238. BGCOLOR 15 NO-UNDO.
  239. DEFINE VARIABLE F_MWSt-2 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  240. LABEL "/"
  241. VIEW-AS FILL-IN NATIVE
  242. SIZE 20 BY 1
  243. BGCOLOR 15 NO-UNDO.
  244. DEFINE VARIABLE F_MWSt-3 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  245. LABEL "/"
  246. VIEW-AS FILL-IN NATIVE
  247. SIZE 20 BY 1
  248. BGCOLOR 15 NO-UNDO.
  249. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  250. LABEL "CHF"
  251. VIEW-AS FILL-IN NATIVE
  252. SIZE 23 BY 1
  253. BGCOLOR 14 NO-UNDO.
  254. DEFINE VARIABLE F_SaldoFrw AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  255. LABEL "CHF"
  256. VIEW-AS FILL-IN NATIVE
  257. SIZE 23 BY 1
  258. BGCOLOR 14 NO-UNDO.
  259. DEFINE VARIABLE F_Skber AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  260. LABEL "/"
  261. VIEW-AS FILL-IN NATIVE
  262. SIZE 20 BY 1
  263. BGCOLOR 15 NO-UNDO.
  264. DEFINE VARIABLE F_SkberFrw AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  265. LABEL "SK Ber/-CHF"
  266. VIEW-AS FILL-IN NATIVE
  267. SIZE 20 BY 1 TOOLTIP "Skontoberechtigter Betrag"
  268. BGCOLOR 15 NO-UNDO.
  269. DEFINE RECTANGLE RECT-6
  270. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  271. SIZE 132 BY 2.57.
  272. DEFINE RECTANGLE RECT-7
  273. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  274. SIZE 132 BY 9.29.
  275. /* Query definitions */
  276. &ANALYZE-SUSPEND
  277. DEFINE QUERY Br_OffenePosten FOR
  278. Debop SCROLLING.
  279. &ANALYZE-RESUME
  280. /* Browse definitions */
  281. DEFINE BROWSE Br_OffenePosten
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_OffenePosten fFrameWin _STRUCTURED
  283. QUERY Br_OffenePosten NO-LOCK DISPLAY
  284. Debop.Faknr FORMAT "zzzzz9":U WIDTH 8
  285. Debop.Fakdat COLUMN-LABEL "Datum" FORMAT "99.99.9999":U
  286. Debop.Faellig COLUMN-LABEL "Fällig" FORMAT "99.99.9999":U
  287. Debop.Fakbetr COLUMN-LABEL "Betrag" FORMAT "zzz,zzz,zz9.99-":U
  288. Debop.Fakbetr_FRW COLUMN-LABEL "Betrag Frw" FORMAT "zzz,zzz,zz9.99-":U
  289. Debop.FRW COLUMN-LABEL "Wäh" FORMAT "x(03)":U
  290. Debop.Kurs FORMAT "zzz9.9999":U
  291. Debop.Zahdat COLUMN-LABEL "l. Zahlung" FORMAT "99.99.9999":U
  292. Debop.Zahbetr COLUMN-LABEL "bezahlt" FORMAT "zzz,zzz,zz9.99-":U
  293. Debop.Zahbetr_FRW COLUMN-LABEL "bezahlt Frw" FORMAT "zzz,zzz,zz9.99-":U
  294. Debop.Skonto FORMAT "zzz,zz9.99-":U
  295. Debop.Skonto_FRW COLUMN-LABEL "Skonto Frw" FORMAT "zzz,zzz,zz9.99-":U
  296. Debop.Saldo FORMAT "zzz,zzz,zz9.99-":U
  297. Debop.Saldo_FRW COLUMN-LABEL "Saldo Frw" FORMAT "zzz,zzz,zz9.99-":U
  298. /* _UIB-CODE-BLOCK-END */
  299. &ANALYZE-RESUME
  300. WITH NO-ROW-MARKERS SEPARATORS NO-TAB-STOP SIZE 132 BY 10.67.
  301. /* ************************ Frame Definitions *********************** */
  302. DEFINE FRAME fMain
  303. F_Knr AT ROW 1.52 COL 9 COLON-ALIGNED NO-LABELS
  304. Btn_SuchKunde AT ROW 1.52 COL 3 NO-TAB-STOP
  305. F_Faknr AT ROW 4 COL 9 COLON-ALIGNED
  306. F_Datum AT ROW 4 COL 29 COLON-ALIGNED
  307. CB_Kondi AT ROW 4 COL 56 COLON-ALIGNED
  308. F_Faellig AT ROW 4 COL 106 COLON-ALIGNED
  309. F_Konto_S AT ROW 5 COL 29 COLON-ALIGNED
  310. F_Konto_H AT ROW 5 COL 56 COLON-ALIGNED
  311. CB_Frw AT ROW 6 COL 29 COLON-ALIGNED
  312. F_Kurs AT ROW 6 COL 87 COLON-ALIGNED
  313. F_Adresse AT ROW 1.52 COL 21 COLON-ALIGNED NO-LABELS NO-TAB-STOP
  314. F_FakbetrFrw AT ROW 7 COL 17.8 COLON-ALIGNED
  315. F_Fakbetr AT ROW 7 COL 40.8 COLON-ALIGNED
  316. F_SkberFrw AT ROW 7 COL 87 COLON-ALIGNED
  317. F_Saldo AT ROW 1.52 COL 106 COLON-ALIGNED NO-TAB-STOP
  318. CB_MWST-1 AT ROW 8 COL 17.8 COLON-ALIGNED
  319. F_Konto_H_1 AT ROW 8 COL 62 COLON-ALIGNED NO-LABELS
  320. F_Betrag-1 AT ROW 8 COL 87 COLON-ALIGNED
  321. CB_MWST-2 AT ROW 9 COL 17.8 COLON-ALIGNED
  322. F_Konto_H_2 AT ROW 9 COL 62 COLON-ALIGNED NO-LABELS
  323. F_Betrag-2 AT ROW 9 COL 87 COLON-ALIGNED
  324. F_SaldoFrw AT ROW 2.52 COL 106 COLON-ALIGNED NO-TAB-STOP
  325. CB_MWST-3 AT ROW 10 COL 17.8 COLON-ALIGNED
  326. F_Konto_H_3 AT ROW 10 COL 62 COLON-ALIGNED NO-LABELS
  327. F_Betrag-3 AT ROW 10 COL 87 COLON-ALIGNED
  328. F_Buchtext3 AT ROW 11 COL 87 COLON-ALIGNED
  329. Btn_Speichern AT ROW 11.52 COL 4
  330. F_Faktor AT ROW 6 COL 122 COLON-ALIGNED NO-TAB-STOP
  331. F_Skber AT ROW 7 COL 110 COLON-ALIGNED NO-TAB-STOP
  332. Br_OffenePosten AT ROW 13.52 COL 2
  333. F_MWSt-1 AT ROW 8 COL 110 COLON-ALIGNED NO-TAB-STOP
  334. F_MWSt-2 AT ROW 9 COL 110 COLON-ALIGNED NO-TAB-STOP
  335. F_MWSt-3 AT ROW 10 COL 110 COLON-ALIGNED NO-TAB-STOP
  336. RECT-6 AT ROW 1.24 COL 2
  337. RECT-7 AT ROW 3.71 COL 2
  338. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  339. SIDE-LABELS NO-UNDERLINE THREE-D
  340. AT COL 1 ROW 1
  341. SIZE 134.6 BY 23.48.
  342. /* *********************** Procedure Settings ************************ */
  343. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  344. /* Settings for THIS-PROCEDURE
  345. Type: SmartFrame
  346. Allow: Basic,Browse,DB-Fields,Query,Smart
  347. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  348. Other Settings: PERSISTENT-ONLY COMPILE
  349. */
  350. /* This procedure should always be RUN PERSISTENT. Report the error, */
  351. /* then cleanup and return. */
  352. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  353. DO:
  354. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  355. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  356. RETURN.
  357. END.
  358. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  359. /* ************************* Create Window ************************** */
  360. &ANALYZE-SUSPEND _CREATE-WINDOW
  361. /* DESIGN Window definition (used by the UIB)
  362. CREATE WINDOW fFrameWin ASSIGN
  363. HEIGHT = 23.48
  364. WIDTH = 134.6.
  365. /* END WINDOW DEFINITION */
  366. */
  367. &ANALYZE-RESUME
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
  369. /* ************************* Included-Libraries *********************** */
  370. {src/adm2/containr.i}
  371. /* _UIB-CODE-BLOCK-END */
  372. &ANALYZE-RESUME
  373. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  374. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  375. /* SETTINGS FOR WINDOW fFrameWin
  376. VISIBLE,,RUN-PERSISTENT */
  377. /* SETTINGS FOR FRAME fMain
  378. NOT-VISIBLE FRAME-NAME Custom */
  379. /* BROWSE-TAB Br_OffenePosten F_Skber fMain */
  380. ASSIGN
  381. FRAME fMain:HIDDEN = TRUE.
  382. ASSIGN
  383. Br_OffenePosten:COLUMN-RESIZABLE IN FRAME fMain = TRUE
  384. Br_OffenePosten:COLUMN-MOVABLE IN FRAME fMain = TRUE.
  385. /* SETTINGS FOR BUTTON Btn_Speichern IN FRAME fMain
  386. NO-ENABLE */
  387. ASSIGN
  388. Btn_SuchKunde:PRIVATE-DATA IN FRAME fMain = "SUCHEN".
  389. /* SETTINGS FOR COMBO-BOX CB_Frw IN FRAME fMain
  390. 6 */
  391. /* SETTINGS FOR COMBO-BOX CB_Kondi IN FRAME fMain
  392. 6 */
  393. /* SETTINGS FOR COMBO-BOX CB_MWST-1 IN FRAME fMain
  394. 6 */
  395. /* SETTINGS FOR COMBO-BOX CB_MWST-2 IN FRAME fMain
  396. 6 */
  397. /* SETTINGS FOR COMBO-BOX CB_MWST-3 IN FRAME fMain
  398. 6 */
  399. ASSIGN
  400. F_Adresse:READ-ONLY IN FRAME fMain = TRUE.
  401. /* SETTINGS FOR FILL-IN F_Betrag-1 IN FRAME fMain
  402. 6 */
  403. /* SETTINGS FOR FILL-IN F_Betrag-2 IN FRAME fMain
  404. 6 */
  405. /* SETTINGS FOR FILL-IN F_Betrag-3 IN FRAME fMain
  406. 6 */
  407. /* SETTINGS FOR FILL-IN F_Buchtext3 IN FRAME fMain
  408. 6 */
  409. /* SETTINGS FOR FILL-IN F_Datum IN FRAME fMain
  410. 6 */
  411. /* SETTINGS FOR FILL-IN F_Faellig IN FRAME fMain
  412. 6 */
  413. /* SETTINGS FOR FILL-IN F_Fakbetr IN FRAME fMain
  414. 6 */
  415. /* SETTINGS FOR FILL-IN F_FakbetrFrw IN FRAME fMain
  416. 6 */
  417. /* SETTINGS FOR FILL-IN F_Faknr IN FRAME fMain
  418. 6 */
  419. /* SETTINGS FOR FILL-IN F_Faktor IN FRAME fMain
  420. 6 */
  421. ASSIGN
  422. F_Faktor:READ-ONLY IN FRAME fMain = TRUE.
  423. /* SETTINGS FOR FILL-IN F_Konto_H IN FRAME fMain
  424. 6 */
  425. /* SETTINGS FOR FILL-IN F_Konto_H_1 IN FRAME fMain
  426. 6 */
  427. /* SETTINGS FOR FILL-IN F_Konto_H_2 IN FRAME fMain
  428. 6 */
  429. /* SETTINGS FOR FILL-IN F_Konto_H_3 IN FRAME fMain
  430. 6 */
  431. /* SETTINGS FOR FILL-IN F_Konto_S IN FRAME fMain
  432. 6 */
  433. /* SETTINGS FOR FILL-IN F_Kurs IN FRAME fMain
  434. 6 */
  435. /* SETTINGS FOR FILL-IN F_MWSt-1 IN FRAME fMain
  436. 6 */
  437. ASSIGN
  438. F_MWSt-1:READ-ONLY IN FRAME fMain = TRUE.
  439. /* SETTINGS FOR FILL-IN F_MWSt-2 IN FRAME fMain
  440. 6 */
  441. ASSIGN
  442. F_MWSt-2:READ-ONLY IN FRAME fMain = TRUE.
  443. /* SETTINGS FOR FILL-IN F_MWSt-3 IN FRAME fMain
  444. 6 */
  445. ASSIGN
  446. F_MWSt-3:READ-ONLY IN FRAME fMain = TRUE.
  447. ASSIGN
  448. F_Saldo:READ-ONLY IN FRAME fMain = TRUE.
  449. ASSIGN
  450. F_SaldoFrw:READ-ONLY IN FRAME fMain = TRUE.
  451. /* SETTINGS FOR FILL-IN F_Skber IN FRAME fMain
  452. 6 */
  453. ASSIGN
  454. F_Skber:READ-ONLY IN FRAME fMain = TRUE.
  455. /* SETTINGS FOR FILL-IN F_SkberFrw IN FRAME fMain
  456. 6 */
  457. /* _RUN-TIME-ATTRIBUTES-END */
  458. &ANALYZE-RESUME
  459. /* Setting information for Queries and Browse Widgets fields */
  460. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_OffenePosten
  461. /* Query rebuild information for BROWSE Br_OffenePosten
  462. _TblList = "AnaDat.Debop"
  463. _Options = "NO-LOCK INDEXED-REPOSITION"
  464. _FldNameList[1] > AnaDat.Debop.Faknr
  465. "Debop.Faknr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  466. _FldNameList[2] > AnaDat.Debop.Fakdat
  467. "Debop.Fakdat" "Datum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  468. _FldNameList[3] > AnaDat.Debop.Faellig
  469. "Debop.Faellig" "Fällig" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  470. _FldNameList[4] > AnaDat.Debop.Fakbetr
  471. "Debop.Fakbetr" "Betrag" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  472. _FldNameList[5] > AnaDat.Debop.Fakbetr_FRW
  473. "Debop.Fakbetr_FRW" "Betrag Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  474. _FldNameList[6] > AnaDat.Debop.FRW
  475. "Debop.FRW" "Wäh" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  476. _FldNameList[7] = AnaDat.Debop.Kurs
  477. _FldNameList[8] > AnaDat.Debop.Zahdat
  478. "Debop.Zahdat" "l. Zahlung" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  479. _FldNameList[9] > AnaDat.Debop.Zahbetr
  480. "Debop.Zahbetr" "bezahlt" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  481. _FldNameList[10] > AnaDat.Debop.Zahbetr_FRW
  482. "Debop.Zahbetr_FRW" "bezahlt Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  483. _FldNameList[11] = AnaDat.Debop.Skonto
  484. _FldNameList[12] > AnaDat.Debop.Skonto_FRW
  485. "Debop.Skonto_FRW" "Skonto Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  486. _FldNameList[13] = AnaDat.Debop.Saldo
  487. _FldNameList[14] > AnaDat.Debop.Saldo_FRW
  488. "Debop.Saldo_FRW" "Saldo Frw" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  489. _Query is NOT OPENED
  490. */ /* BROWSE Br_OffenePosten */
  491. &ANALYZE-RESUME
  492. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
  493. /* Query rebuild information for FRAME fMain
  494. _Options = ""
  495. _Query is NOT OPENED
  496. */ /* FRAME fMain */
  497. &ANALYZE-RESUME
  498. /* ************************ Control Triggers ************************ */
  499. &Scoped-define BROWSE-NAME Br_OffenePosten
  500. &Scoped-define SELF-NAME Br_OffenePosten
  501. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_OffenePosten fFrameWin
  502. ON LEFT-MOUSE-DBLCLICK OF Br_OffenePosten IN FRAME fMain
  503. DO:
  504. IF AVAILABLE Debop THEN
  505. DO:
  506. F_Faknr:SCREEN-VALUE = STRING(Debop.Faknr).
  507. APPLY 'ENTRY' TO F_Faknr.
  508. END.
  509. END.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_OffenePosten fFrameWin
  513. ON RETURN OF Br_OffenePosten IN FRAME fMain
  514. DO:
  515. IF AVAILABLE Debop THEN
  516. DO:
  517. F_Faknr:SCREEN-VALUE = STRING(Debop.Faknr).
  518. APPLY 'ENTRY' TO F_Faknr.
  519. END.
  520. END.
  521. /* _UIB-CODE-BLOCK-END */
  522. &ANALYZE-RESUME
  523. &Scoped-define SELF-NAME Btn_Speichern
  524. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern fFrameWin
  525. ON CHOOSE OF Btn_Speichern IN FRAME fMain /* Sp */
  526. DO:
  527. RUN SPEICHERN.
  528. END.
  529. /* _UIB-CODE-BLOCK-END */
  530. &ANALYZE-RESUME
  531. &Scoped-define SELF-NAME Btn_SuchKunde
  532. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_SuchKunde fFrameWin
  533. ON CHOOSE OF Btn_SuchKunde IN FRAME fMain /* Kunde */
  534. DO:
  535. APPLY 'ALT-F'.
  536. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  537. RETURN NO-APPLY.
  538. END.
  539. /* _UIB-CODE-BLOCK-END */
  540. &ANALYZE-RESUME
  541. &Scoped-define SELF-NAME CB_Frw
  542. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Frw fFrameWin
  543. ON RETURN OF CB_Frw IN FRAME fMain /* Frw */
  544. DO:
  545. APPLY 'TAB' TO SELF.
  546. RETURN NO-APPLY.
  547. END.
  548. /* _UIB-CODE-BLOCK-END */
  549. &ANALYZE-RESUME
  550. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Frw fFrameWin
  551. ON VALUE-CHANGED OF CB_Frw IN FRAME fMain /* Frw */
  552. DO:
  553. DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
  554. DEFINE VARIABLE BetrBas AS DECIMAL NO-UNDO.
  555. DO WITH FRAME {&FRAME-NAME}:
  556. FIND Waehrung NO-LOCK
  557. WHERE Waehrung.Firma = GlobFir
  558. AND Waehrung.Frw = SELF:SCREEN-VALUE NO-ERROR.
  559. IF NOT AVAILABLE Waehrung THEN
  560. DO:
  561. CB_Frw:SCREEN-VALUE = Frw NO-ERROR.
  562. END.
  563. Frw = SELF:SCREEN-VALUE NO-ERROR.
  564. F_Kurs :SCREEN-VALUE = STRING(Waehrung.Kurs) NO-ERROR.
  565. F_Faktor:SCREEN-VALUE = STRING(Waehrung.Faktor) NO-ERROR.
  566. RUN RECHNEN ( INPUT 09 ).
  567. END.
  568. END.
  569. /* _UIB-CODE-BLOCK-END */
  570. &ANALYZE-RESUME
  571. &Scoped-define SELF-NAME CB_Kondi
  572. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kondi fFrameWin
  573. ON RETURN OF CB_Kondi IN FRAME fMain /* Kondition */
  574. DO:
  575. APPLY 'TAB' TO SELF.
  576. RETURN NO-APPLY.
  577. END.
  578. /* _UIB-CODE-BLOCK-END */
  579. &ANALYZE-RESUME
  580. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kondi fFrameWin
  581. ON VALUE-CHANGED OF CB_Kondi IN FRAME fMain /* Kondition */
  582. DO:
  583. DO WITH FRAME {&FRAME-NAME}:
  584. FIND FIRST BKondi USE-INDEX Kondi-k1
  585. WHERE BKondi.Kond = INTEGER(SELF:SCREEN-VALUE)
  586. NO-LOCK NO-ERROR.
  587. ERROR-STATUS:ERROR = FALSE.
  588. ASSIGN F_Datum NO-ERROR.
  589. IF ERROR-STATUS:ERROR THEN F_Datum = TODAY.
  590. F_Datum :SCREEN-VALUE = STRING(F_Datum).
  591. F_Faellig:SCREEN-VALUE = STRING(F_Datum + BKondi.Faellig).
  592. END.
  593. END.
  594. /* _UIB-CODE-BLOCK-END */
  595. &ANALYZE-RESUME
  596. &Scoped-define SELF-NAME CB_MWST-1
  597. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-1 fFrameWin
  598. ON RETURN OF CB_MWST-1 IN FRAME fMain /* MWSt */
  599. DO:
  600. APPLY 'TAB' TO SELF.
  601. RETURN NO-APPLY.
  602. END.
  603. /* _UIB-CODE-BLOCK-END */
  604. &ANALYZE-RESUME
  605. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-1 fFrameWin
  606. ON VALUE-CHANGED OF CB_MWST-1 IN FRAME fMain /* MWSt */
  607. DO:
  608. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  609. DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
  610. DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
  611. DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
  612. DO WITH FRAME {&FRAME-NAME}:
  613. Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
  614. - DECIMAL(F_Betrag-2:SCREEN-VALUE)
  615. - DECIMAL(F_MWST-2 :SCREEN-VALUE)
  616. - DECIMAL(F_Betrag-3:SCREEN-VALUE)
  617. - DECIMAL(F_MWST-3 :SCREEN-VALUE)
  618. .
  619. FIND LAST B1MWSTAns NO-LOCK USE-INDEX MWSTAns-k1
  620. WHERE B1MWSTAns.MWSt_Cd = INTEGER(CB_MWST-1:SCREEN-VALUE)
  621. AND B1MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE) NO-ERROR.
  622. IF B1MWSTAns.Incl THEN
  623. DO:
  624. Betr = Saldo.
  625. Mwst = 0.
  626. END.
  627. ELSE
  628. DO:
  629. Rund = Saldo * B1MWSTAns.Ansatz / (100 + B1MWSTAns.Ansatz).
  630. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
  631. Mwst = Rund.
  632. Betr = Saldo - Mwst.
  633. END.
  634. F_Betrag-1:SCREEN-VALUE = STRING(Betr).
  635. F_MWST-1 :SCREEN-VALUE = STRING(Mwst).
  636. END.
  637. RUN BUTTON_SPEICHERN.
  638. END.
  639. /* _UIB-CODE-BLOCK-END */
  640. &ANALYZE-RESUME
  641. &Scoped-define SELF-NAME CB_MWST-2
  642. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-2 fFrameWin
  643. ON RETURN OF CB_MWST-2 IN FRAME fMain /* MWSt */
  644. DO:
  645. APPLY 'TAB' TO SELF.
  646. RETURN NO-APPLY.
  647. END.
  648. /* _UIB-CODE-BLOCK-END */
  649. &ANALYZE-RESUME
  650. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-2 fFrameWin
  651. ON VALUE-CHANGED OF CB_MWST-2 IN FRAME fMain /* MWSt */
  652. DO:
  653. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  654. DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
  655. DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
  656. DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
  657. DO WITH FRAME {&FRAME-NAME}:
  658. Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
  659. - DECIMAL(F_Betrag-1:SCREEN-VALUE)
  660. - DECIMAL(F_MWST-1 :SCREEN-VALUE)
  661. - DECIMAL(F_Betrag-3:SCREEN-VALUE)
  662. - DECIMAL(F_MWST-3 :SCREEN-VALUE).
  663. FIND LAST B2MWSTAns NO-LOCK USE-INDEX MWSTAns-k1
  664. WHERE B2MWSTAns.MWSt_Cd = INTEGER(CB_MWST-2:SCREEN-VALUE)
  665. AND B2MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE) NO-ERROR.
  666. IF B2MWSTAns.Incl THEN
  667. DO:
  668. Betr = Saldo.
  669. Mwst = 0.
  670. END.
  671. ELSE
  672. DO:
  673. Rund = Saldo * B2MWSTAns.Ansatz / (100 + B2MWSTAns.Ansatz).
  674. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
  675. Mwst = Rund.
  676. Betr = Saldo - Mwst.
  677. END.
  678. F_Betrag-2:SCREEN-VALUE = STRING(Betr).
  679. F_MWST-2 :SCREEN-VALUE = STRING(Mwst).
  680. END.
  681. RUN BUTTON_SPEICHERN.
  682. END.
  683. /* _UIB-CODE-BLOCK-END */
  684. &ANALYZE-RESUME
  685. &Scoped-define SELF-NAME CB_MWST-3
  686. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-3 fFrameWin
  687. ON RETURN OF CB_MWST-3 IN FRAME fMain /* MWSt */
  688. DO:
  689. APPLY 'TAB' TO SELF.
  690. RETURN NO-APPLY.
  691. END.
  692. /* _UIB-CODE-BLOCK-END */
  693. &ANALYZE-RESUME
  694. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST-3 fFrameWin
  695. ON VALUE-CHANGED OF CB_MWST-3 IN FRAME fMain /* MWSt */
  696. DO:
  697. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  698. DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
  699. DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
  700. DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
  701. DO WITH FRAME {&FRAME-NAME}:
  702. Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
  703. - DECIMAL(F_Betrag-1:SCREEN-VALUE)
  704. - DECIMAL(F_MWST-1 :SCREEN-VALUE)
  705. - DECIMAL(F_Betrag-2:SCREEN-VALUE)
  706. - DECIMAL(F_MWST-2 :SCREEN-VALUE).
  707. FIND LAST B3MWSTAns USE-INDEX MWSTAns-k1
  708. WHERE B3MWSTAns.MWSt_Cd = INTEGER(CB_MWST-3:SCREEN-VALUE)
  709. AND B3MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
  710. NO-LOCK NO-ERROR.
  711. IF B3MWSTAns.Incl THEN
  712. DO:
  713. Betr = Saldo.
  714. Mwst = 0.
  715. END.
  716. ELSE
  717. DO:
  718. Rund = Saldo * B3MWSTAns.Ansatz / (100 + B3MWSTAns.Ansatz).
  719. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
  720. Mwst = Rund.
  721. Betr = Saldo - Mwst.
  722. END.
  723. F_Betrag-3:SCREEN-VALUE = STRING(Betr).
  724. F_MWST-3 :SCREEN-VALUE = STRING(Mwst).
  725. END.
  726. RUN BUTTON_SPEICHERN.
  727. END.
  728. /* _UIB-CODE-BLOCK-END */
  729. &ANALYZE-RESUME
  730. &Scoped-define SELF-NAME F_Betrag-1
  731. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-1 fFrameWin
  732. ON LEAVE OF F_Betrag-1 IN FRAME fMain /* Betrag */
  733. DO:
  734. IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
  735. DO:
  736. APPLY 'VALUE-CHANGED' TO CB_MWST-1.
  737. END.
  738. END.
  739. /* _UIB-CODE-BLOCK-END */
  740. &ANALYZE-RESUME
  741. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-1 fFrameWin
  742. ON VALUE-CHANGED OF F_Betrag-1 IN FRAME fMain /* Betrag */
  743. DO:
  744. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  745. DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
  746. DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
  747. DO WITH FRAME {&FRAME-NAME}:
  748. Saldo = DECIMAL(SELF:SCREEN-VALUE).
  749. IF B1MWSTAns.Incl THEN
  750. DO:
  751. Mwst = 0.
  752. END.
  753. ELSE
  754. DO:
  755. Rund = Saldo * B1MWSTAns.Ansatz / 100.
  756. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
  757. Mwst = Rund.
  758. END.
  759. F_MWST-1 :SCREEN-VALUE = STRING(Mwst).
  760. END.
  761. RUN BUTTON_SPEICHERN.
  762. END.
  763. /* _UIB-CODE-BLOCK-END */
  764. &ANALYZE-RESUME
  765. &Scoped-define SELF-NAME F_Betrag-2
  766. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-2 fFrameWin
  767. ON LEAVE OF F_Betrag-2 IN FRAME fMain /* Betrag */
  768. DO:
  769. IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
  770. DO:
  771. APPLY 'VALUE-CHANGED' TO CB_MWST-2.
  772. END.
  773. END.
  774. /* _UIB-CODE-BLOCK-END */
  775. &ANALYZE-RESUME
  776. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-2 fFrameWin
  777. ON RETURN OF F_Betrag-2 IN FRAME fMain /* Betrag */
  778. DO:
  779. IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
  780. DO:
  781. APPLY 'VALUE-CHANGED' TO CB_MWST-2.
  782. APPLY 'TAB' TO SELF.
  783. RETURN NO-APPLY.
  784. END.
  785. END.
  786. /* _UIB-CODE-BLOCK-END */
  787. &ANALYZE-RESUME
  788. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-2 fFrameWin
  789. ON VALUE-CHANGED OF F_Betrag-2 IN FRAME fMain /* Betrag */
  790. DO:
  791. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  792. DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
  793. DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
  794. DO WITH FRAME {&FRAME-NAME}:
  795. Saldo = DECIMAL(SELF:SCREEN-VALUE).
  796. IF B2MWSTAns.Incl THEN
  797. DO:
  798. Mwst = 0.
  799. END.
  800. ELSE
  801. DO:
  802. Rund = Saldo * B2MWSTAns.Ansatz / 100.
  803. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
  804. Mwst = Rund.
  805. END.
  806. F_MWST-2 :SCREEN-VALUE = STRING(Mwst).
  807. END.
  808. RUN BUTTON_SPEICHERN.
  809. END.
  810. /* _UIB-CODE-BLOCK-END */
  811. &ANALYZE-RESUME
  812. &Scoped-define SELF-NAME F_Betrag-3
  813. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-3 fFrameWin
  814. ON LEAVE OF F_Betrag-3 IN FRAME fMain /* Betrag */
  815. DO:
  816. IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
  817. DO:
  818. APPLY 'VALUE-CHANGED' TO CB_MWST-3.
  819. APPLY 'TAB' TO SELF.
  820. RETURN NO-APPLY.
  821. END.
  822. END.
  823. /* _UIB-CODE-BLOCK-END */
  824. &ANALYZE-RESUME
  825. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-3 fFrameWin
  826. ON RETURN OF F_Betrag-3 IN FRAME fMain /* Betrag */
  827. DO:
  828. IF DECIMAL(SELF:SCREEN-VALUE) = 0 THEN
  829. DO:
  830. APPLY 'VALUE-CHANGED' TO CB_MWST-3.
  831. APPLY 'TAB' TO SELF.
  832. RETURN NO-APPLY.
  833. END.
  834. END.
  835. /* _UIB-CODE-BLOCK-END */
  836. &ANALYZE-RESUME
  837. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag-3 fFrameWin
  838. ON VALUE-CHANGED OF F_Betrag-3 IN FRAME fMain /* Betrag */
  839. DO:
  840. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  841. DEFINE VARIABLE Mwst AS DECIMAL NO-UNDO.
  842. DEFINE VARIABLE Rund AS DECIMAL DECIMALS 4 NO-UNDO.
  843. DO WITH FRAME {&FRAME-NAME}:
  844. Saldo = DECIMAL(SELF:SCREEN-VALUE).
  845. IF B3MWSTAns.Incl THEN
  846. DO:
  847. Mwst = 0.
  848. END.
  849. ELSE
  850. DO:
  851. Rund = Saldo * B3MWSTAns.Ansatz / 100.
  852. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rund ).
  853. Mwst = Rund.
  854. END.
  855. F_MWST-3 :SCREEN-VALUE = STRING(Mwst).
  856. END.
  857. RUN BUTTON_SPEICHERN.
  858. END.
  859. /* _UIB-CODE-BLOCK-END */
  860. &ANALYZE-RESUME
  861. &Scoped-define SELF-NAME F_Datum
  862. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum fFrameWin
  863. ON LEAVE OF F_Datum IN FRAME fMain /* Datum */
  864. DO:
  865. DO WITH FRAME {&FRAME-NAME}:
  866. ERROR-STATUS:ERROR = FALSE.
  867. ASSIGN F_Datum NO-ERROR.
  868. IF ERROR-STATUS:ERROR THEN F_Datum = TODAY.
  869. SELF :SCREEN-VALUE = STRING(F_Datum).
  870. F_Faellig:SCREEN-VALUE = STRING(F_Datum + BKondi.Faellig).
  871. END.
  872. RUN COMBO_MWST.
  873. END.
  874. /* _UIB-CODE-BLOCK-END */
  875. &ANALYZE-RESUME
  876. &Scoped-define SELF-NAME F_Fakbetr
  877. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Fakbetr fFrameWin
  878. ON ENTRY OF F_Fakbetr IN FRAME fMain /* / */
  879. DO:
  880. DO WITH FRAME {&FRAME-NAME}:
  881. ASSIGN {&List-6}.
  882. Frw = CB_Frw:SCREEN-VALUE .
  883. IF Frw = BasFrw THEN
  884. DO:
  885. APPLY 'TAB' TO SELF.
  886. RETURN NO-APPLY.
  887. END.
  888. END.
  889. END.
  890. /* _UIB-CODE-BLOCK-END */
  891. &ANALYZE-RESUME
  892. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Fakbetr fFrameWin
  893. ON VALUE-CHANGED OF F_Fakbetr IN FRAME fMain /* / */
  894. DO:
  895. DO WITH FRAME {&FRAME-NAME}:
  896. IF F_FakbetrFrw = 0 THEN
  897. DO:
  898. F_FakbetrFrw:SCREEN-VALUE = STRING(DECIMAL(SELF :SCREEN-VALUE)
  899. / DECIMAL(F_Kurs :SCREEN-VALUE)
  900. * INTEGER(F_Faktor:SCREEN-VALUE)).
  901. END.
  902. ELSE
  903. DO:
  904. F_Kurs:SCREEN-VALUE = STRING(DECIMAL(F_Fakbetr :SCREEN-VALUE)
  905. * INTEGER(F_Faktor :SCREEN-VALUE)
  906. / DECIMAL(F_FakbetrFrw:SCREEN-VALUE)).
  907. END.
  908. IF F_SkberFrw = 0 THEN F_SkberFrw:SCREEN-VALUE = F_FakbetrFrw:SCREEN-VALUE.
  909. RUN RECHNEN ( INPUT 08 ).
  910. END.
  911. END.
  912. /* _UIB-CODE-BLOCK-END */
  913. &ANALYZE-RESUME
  914. &Scoped-define SELF-NAME F_FakbetrFrw
  915. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_FakbetrFrw fFrameWin
  916. ON ENTRY OF F_FakbetrFrw IN FRAME fMain /* Betr/-CHF */
  917. DO:
  918. DO WITH FRAME {&FRAME-NAME}:
  919. ASSIGN {&List-6}.
  920. Frw = CB_Frw:SCREEN-VALUE .
  921. END.
  922. END.
  923. /* _UIB-CODE-BLOCK-END */
  924. &ANALYZE-RESUME
  925. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_FakbetrFrw fFrameWin
  926. ON VALUE-CHANGED OF F_FakbetrFrw IN FRAME fMain /* Betr/-CHF */
  927. DO:
  928. DO WITH FRAME {&FRAME-NAME}:
  929. IF F_FakbetrFrw = F_SkberFrw THEN F_SkberFrw:SCREEN-VALUE = F_FakbetrFrw:SCREEN-VALUE.
  930. RUN RECHNEN ( INPUT 09 ).
  931. END.
  932. END.
  933. /* _UIB-CODE-BLOCK-END */
  934. &ANALYZE-RESUME
  935. &Scoped-define SELF-NAME F_Faknr
  936. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin
  937. ON CURSOR-DOWN OF F_Faknr IN FRAME fMain /* Faknr */
  938. DO:
  939. APPLY 'ENTRY' TO Br_OffenePosten.
  940. RETURN NO-APPLY.
  941. END.
  942. /* _UIB-CODE-BLOCK-END */
  943. &ANALYZE-RESUME
  944. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin
  945. ON ENTRY OF F_Faknr IN FRAME fMain /* Faknr */
  946. DO:
  947. DO WITH FRAME {&FRAME-NAME}:
  948. IF INTEGER(F_Knr:SCREEN-VALUE) = 0 THEN
  949. DO:
  950. APPLY 'ENTRY' TO F_Knr.
  951. RETURN NO-APPLY.
  952. END.
  953. END.
  954. END.
  955. /* _UIB-CODE-BLOCK-END */
  956. &ANALYZE-RESUME
  957. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin
  958. ON LEAVE OF F_Faknr IN FRAME fMain /* Faknr */
  959. DO:
  960. fTest = FALSE.
  961. IF KEYFUNCTION (LASTKEY) <> 'RETURN' AND
  962. KEYFUNCTION (LASTKEY) <> 'TAB' THEN RETURN NO-APPLY.
  963. RUN FAKNR_TEST ( INPUT FALSE ).
  964. IF RETURN-VALUE = 'ERROR' THEN
  965. DO:
  966. APPLY 'ENTRY' TO SELF.
  967. RETURN NO-APPLY.
  968. END.
  969. END.
  970. /* _UIB-CODE-BLOCK-END */
  971. &ANALYZE-RESUME
  972. &Scoped-define SELF-NAME F_Knr
  973. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin
  974. ON END-ERROR OF F_Knr IN FRAME fMain
  975. DO:
  976. DEFINE VARIABLE hContainer AS HANDLE NO-UNDO.
  977. RUN SET_CANCEL.
  978. hContainer = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
  979. IF VALID-HANDLE(hContainer) THEN RUN ENDE IN hContainer.
  980. RETURN NO-APPLY.
  981. END.
  982. /* _UIB-CODE-BLOCK-END */
  983. &ANALYZE-RESUME
  984. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin
  985. ON ENTRY OF F_Knr IN FRAME fMain
  986. DO:
  987. IF fCancel = TRUE THEN
  988. DO:
  989. APPLY 'TAB' TO SELF.
  990. RETURN NO-APPLY.
  991. END.
  992. END.
  993. /* _UIB-CODE-BLOCK-END */
  994. &ANALYZE-RESUME
  995. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin
  996. ON LEAVE OF F_Knr IN FRAME fMain
  997. DO:
  998. DEFINE VARIABLE hEntry AS WIDGET-HANDLE NO-UNDO.
  999. hEntry = LAST-EVENT:WIDGET-ENTER.
  1000. IF NOT VALID-HANDLE(hEntry) THEN
  1001. DO:
  1002. fCancel = TRUE.
  1003. END.
  1004. ELSE IF hEntry:PRIVATE-DATA = 'SUCHEN' THEN
  1005. DO:
  1006. fCancel = TRUE.
  1007. END.
  1008. IF fCancel THEN
  1009. DO:
  1010. RETURN.
  1011. END.
  1012. IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN
  1013. DO:
  1014. APPLY 'ENTRY' TO SELF.
  1015. RETURN NO-APPLY.
  1016. END.
  1017. RUN ADRESSE ( INPUT INTEGER(SELF:SCREEN-VALUE) ).
  1018. IF RETURN-VALUE = 'ERROR' THEN
  1019. DO:
  1020. DYNAMIC-FUNCTION('FEHLER', INPUT 1015 ) NO-ERROR.
  1021. APPLY 'ENTRY' TO SELF.
  1022. RETURN NO-APPLY.
  1023. END.
  1024. IF RETURN-VALUE = 'ERRORDEBITOR' THEN
  1025. DO:
  1026. DYNAMIC-FUNCTION('FEHLER', INPUT 1019 ) NO-ERROR.
  1027. APPLY 'ENTRY' TO SELF.
  1028. RETURN NO-APPLY.
  1029. END.
  1030. PUBLISH 'REPOSADRESSE' ( INPUT rAdresse ).
  1031. fCancel = TRUE.
  1032. APPLY 'ENTRY' TO F_Faknr IN FRAME {&FRAME-NAME}.
  1033. RETURN NO-APPLY.
  1034. END.
  1035. /* _UIB-CODE-BLOCK-END */
  1036. &ANALYZE-RESUME
  1037. &Scoped-define SELF-NAME F_Konto_H
  1038. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H fFrameWin
  1039. ON LEAVE OF F_Konto_H IN FRAME fMain /* Konto H */
  1040. DO:
  1041. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1042. cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
  1043. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1044. IF cString = ? THEN SELF:BGCOLOR = 14.
  1045. ELSE
  1046. DO WITH FRAME {&FRAME-NAME}:
  1047. SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
  1048. SELF:BGCOLOR = 15.
  1049. IF F_Konto_H_1:SCREEN-VALUE = '' THEN F_Konto_H_1:SCREEN-VALUE = SELF:SCREEN-VALUE.
  1050. IF F_Konto_H_2:SCREEN-VALUE = '' THEN F_Konto_H_2:SCREEN-VALUE = SELF:SCREEN-VALUE.
  1051. IF F_Konto_H_3:SCREEN-VALUE = '' THEN F_Konto_H_3:SCREEN-VALUE = SELF:SCREEN-VALUE.
  1052. END.
  1053. END.
  1054. /* _UIB-CODE-BLOCK-END */
  1055. &ANALYZE-RESUME
  1056. &Scoped-define SELF-NAME F_Konto_H_1
  1057. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_1 fFrameWin
  1058. ON ENTRY OF F_Konto_H_1 IN FRAME fMain
  1059. DO:
  1060. IF SELF:SCREEN-VALUE = '' THEN SELF:SCREEN-VALUE = F_Konto_H:SCREEN-VALUE.
  1061. END.
  1062. /* _UIB-CODE-BLOCK-END */
  1063. &ANALYZE-RESUME
  1064. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_1 fFrameWin
  1065. ON LEAVE OF F_Konto_H_1 IN FRAME fMain
  1066. DO:
  1067. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1068. cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
  1069. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1070. IF cString = ? THEN SELF:BGCOLOR = 14.
  1071. ELSE
  1072. DO:
  1073. SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
  1074. SELF:BGCOLOR = 15.
  1075. END.
  1076. END.
  1077. /* _UIB-CODE-BLOCK-END */
  1078. &ANALYZE-RESUME
  1079. &Scoped-define SELF-NAME F_Konto_H_2
  1080. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_2 fFrameWin
  1081. ON LEAVE OF F_Konto_H_2 IN FRAME fMain
  1082. DO:
  1083. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1084. cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
  1085. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1086. IF cString = ? THEN SELF:BGCOLOR = 14.
  1087. ELSE
  1088. DO:
  1089. SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
  1090. SELF:BGCOLOR = 15.
  1091. END.
  1092. END.
  1093. /* _UIB-CODE-BLOCK-END */
  1094. &ANALYZE-RESUME
  1095. &Scoped-define SELF-NAME F_Konto_H_3
  1096. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_H_3 fFrameWin
  1097. ON LEAVE OF F_Konto_H_3 IN FRAME fMain
  1098. DO:
  1099. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1100. cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
  1101. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1102. IF cString = ? THEN SELF:BGCOLOR = 14.
  1103. ELSE
  1104. DO:
  1105. SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
  1106. SELF:BGCOLOR = 15.
  1107. END.
  1108. END.
  1109. /* _UIB-CODE-BLOCK-END */
  1110. &ANALYZE-RESUME
  1111. &Scoped-define SELF-NAME F_Konto_S
  1112. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto_S fFrameWin
  1113. ON LEAVE OF F_Konto_S IN FRAME fMain /* Konto S */
  1114. DO:
  1115. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1116. cString = CHR(01) + CHR(01) + SELF:SCREEN-VALUE.
  1117. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1118. IF cString = ? THEN SELF:BGCOLOR = 14.
  1119. ELSE
  1120. DO:
  1121. SELF:SCREEN-VALUE = ENTRY(1, cString, CHR(01)) NO-ERROR.
  1122. SELF:BGCOLOR = 15.
  1123. END.
  1124. END.
  1125. /* _UIB-CODE-BLOCK-END */
  1126. &ANALYZE-RESUME
  1127. &Scoped-define SELF-NAME F_Kurs
  1128. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kurs fFrameWin
  1129. ON ENTRY OF F_Kurs IN FRAME fMain /* Kurs */
  1130. DO:
  1131. IF Frw = BasFrw THEN
  1132. DO:
  1133. APPLY 'TAB' TO SELF.
  1134. RETURN NO-APPLY.
  1135. END.
  1136. END.
  1137. /* _UIB-CODE-BLOCK-END */
  1138. &ANALYZE-RESUME
  1139. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kurs fFrameWin
  1140. ON VALUE-CHANGED OF F_Kurs IN FRAME fMain /* Kurs */
  1141. DO:
  1142. RUN RECHNEN ( INPUT 09 ).
  1143. END.
  1144. /* _UIB-CODE-BLOCK-END */
  1145. &ANALYZE-RESUME
  1146. &Scoped-define SELF-NAME F_Skber
  1147. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Skber fFrameWin
  1148. ON ENTRY OF F_Skber IN FRAME fMain /* / */
  1149. DO:
  1150. DO WITH FRAME {&FRAME-NAME}:
  1151. ASSIGN {&List-6}.
  1152. Frw = CB_Frw:SCREEN-VALUE .
  1153. END.
  1154. END.
  1155. /* _UIB-CODE-BLOCK-END */
  1156. &ANALYZE-RESUME
  1157. &Scoped-define SELF-NAME F_SkberFrw
  1158. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SkberFrw fFrameWin
  1159. ON ENTRY OF F_SkberFrw IN FRAME fMain /* SK Ber/-CHF */
  1160. DO:
  1161. DO WITH FRAME {&FRAME-NAME}:
  1162. ASSIGN {&List-6}.
  1163. Frw = CB_Frw:SCREEN-VALUE .
  1164. END.
  1165. END.
  1166. /* _UIB-CODE-BLOCK-END */
  1167. &ANALYZE-RESUME
  1168. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SkberFrw fFrameWin
  1169. ON LEAVE OF F_SkberFrw IN FRAME fMain /* SK Ber/-CHF */
  1170. DO:
  1171. DO WITH FRAME {&FRAME-NAME}:
  1172. RUN RECHNEN ( INPUT 08 ).
  1173. END.
  1174. END.
  1175. /* _UIB-CODE-BLOCK-END */
  1176. &ANALYZE-RESUME
  1177. &UNDEFINE SELF-NAME
  1178. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
  1179. /* *************************** Main Block *************************** */
  1180. sAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR.
  1181. IF sAktiv THEN
  1182. DO:
  1183. Firma = DYNAMIC-FUNCTION('getMandant':U ).
  1184. D1Firma = DYNAMIC-FUNCTION('getMandant':U ).
  1185. AdFirma = DYNAMIC-FUNCTION('getADMandant':U ).
  1186. FBFirma = DYNAMIC-FUNCTION('getFBMandant':U ).
  1187. GlobFir = D1Firma.
  1188. END.
  1189. IF FBFirma = '' THEN FBFirma = '9999'.
  1190. Datum = TODAY.
  1191. SESSION:DATA-ENTRY-RETURN = TRUE.
  1192. SUBSCRIBE TO 'DISPLAYDEBITOR' ANYWHERE RUN-PROCEDURE 'ADRESSE'.
  1193. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  1194. DO:
  1195. Btn_Speichern:SENSITIVE = FALSE.
  1196. fCancel = FALSE.
  1197. APPLY 'ENTRY' TO F_Knr.
  1198. RETURN NO-APPLY.
  1199. END.
  1200. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  1201. DO:
  1202. IF Btn_Speichern:SENSITIVE = FALSE THEN RETURN NO-APPLY.
  1203. RUN SPEICHERN.
  1204. RETURN NO-APPLY.
  1205. END.
  1206. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  1207. /* Now enable the interface if in test mode - otherwise this happens when
  1208. the object is explicitly initialized from its container. */
  1209. RUN initializeObject.
  1210. &ENDIF
  1211. /* _UIB-CODE-BLOCK-END */
  1212. &ANALYZE-RESUME
  1213. /* ********************** Internal Procedures *********************** */
  1214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _ADM-CREATE-OBJECTS
  1215. PROCEDURE adm-create-objects :
  1216. /*------------------------------------------------------------------------------
  1217. Purpose: Create handles for all SmartObjects used in this procedure.
  1218. After SmartObjects are initialized, then SmartLinks are added.
  1219. Parameters: <none>
  1220. ------------------------------------------------------------------------------*/
  1221. END PROCEDURE.
  1222. /* _UIB-CODE-BLOCK-END */
  1223. &ANALYZE-RESUME
  1224. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADRESSE fFrameWin
  1225. PROCEDURE ADRESSE :
  1226. /*------------------------------------------------------------------------------
  1227. Purpose:
  1228. Parameters: <none>
  1229. Notes:
  1230. ------------------------------------------------------------------------------*/
  1231. DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
  1232. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1233. IF NUM-RESULTS('{&BROWSE-NAME}') <> ? THEN CLOSE QUERY Br_OffenePosten.
  1234. FIND bAdresse USE-INDEX Adresse-k1
  1235. WHERE bAdresse.Firma = AdFirma
  1236. AND bAdresse.Knr = ipKnr NO-LOCK NO-ERROR.
  1237. IF AVAILABLE bAdresse THEN
  1238. DO:
  1239. rAdresse = RECID(bAdresse).
  1240. VAdresse = bAdresse.Anzeig_br.
  1241. END.
  1242. ELSE
  1243. DO:
  1244. rAdresse = 0.
  1245. END.
  1246. DO WITH FRAME {&FRAME-NAME}:
  1247. F_Knr :SCREEN-VALUE = STRING(ipKnr).
  1248. F_Adresse :SCREEN-VALUE = ''.
  1249. F_Saldo :SCREEN-VALUE = ''.
  1250. F_SaldoFrw:SCREEN-VALUE = ''.
  1251. IF NOT AVAILABLE bAdresse THEN RETURN 'ERROR'.
  1252. F_Adresse :SCREEN-VALUE = bAdresse.Anzeig_br.
  1253. FIND bDebst USE-INDEX Debst-k1
  1254. WHERE bDebst.Firma = Firma
  1255. AND bDebst.Knr = ipKnr NO-LOCK NO-ERROR.
  1256. IF NOT AVAILABLE bDebst THEN RETURN 'ERRORDEBITOR'.
  1257. F_Saldo :SCREEN-VALUE = STRING(bDebst.Saldo ).
  1258. F_SaldoFrw:SCREEN-VALUE = STRING(bDebst.Saldo_Frw).
  1259. CB_Kondi :SCREEN-VALUE = STRING(bDebst.Kond ,'999999') NO-ERROR.
  1260. CB_Frw :SCREEN-VALUE = bDebst.Frw NO-ERROR.
  1261. F_Konto_S :SCREEN-VALUE = bDebst.Konto.
  1262. F_Konto_H :SCREEN-VALUE = ''.
  1263. FIND bWaehrung NO-LOCK
  1264. WHERE bWaehrung.Firma = bDebst.Firma
  1265. AND bWaehrung.Frw = bDebst.Frw NO-ERROR.
  1266. IF NOT AVAILABLE bWaehrung THEN
  1267. DO:
  1268. CB_Frw :SCREEN-VALUE = 'CHF' .
  1269. F_Kurs :SCREEN-VALUE = STRING(1.0) .
  1270. F_Faktor:SCREEN-VALUE = STRING(1) .
  1271. END.
  1272. ELSE
  1273. DO:
  1274. F_Kurs :SCREEN-VALUE = STRING(bWaehrung.Kurs ).
  1275. F_Faktor:SCREEN-VALUE = STRING(bWaehrung.Faktor).
  1276. END.
  1277. F_Datum:SCREEN-VALUE = STRING(TODAY).
  1278. FIND FIRST BKondi USE-INDEX Kondi-k1
  1279. WHERE BKondi.Kond = bDebst.Kond NO-LOCK NO-ERROR.
  1280. IF NOT AVAILABLE BKondi THEN F_Faellig:SCREEN-VALUE = STRING(TODAY + 30).
  1281. ELSE F_Faellig:SCREEN-VALUE = STRING(TODAY + BKondi.Faellig).
  1282. Frw = CB_Frw:SCREEN-VALUE NO-ERROR.
  1283. F_FakbetrFrw:SCREEN-VALUE = STRING(0).
  1284. F_Fakbetr :SCREEN-VALUE = STRING(0).
  1285. F_SkberFrw :SCREEN-VALUE = STRING(0).
  1286. F_Skber :SCREEN-VALUE = STRING(0).
  1287. F_Betrag-1 :SCREEN-VALUE = STRING(0).
  1288. F_MWSt-1 :SCREEN-VALUE = STRING(0).
  1289. F_Betrag-2 :SCREEN-VALUE = STRING(0).
  1290. F_MWSt-2 :SCREEN-VALUE = STRING(0).
  1291. F_SaldoFrw:LABEL = bDebst.Frw.
  1292. END.
  1293. RUN OPENQUERYDEBOP ( INPUT ipKnr ).
  1294. RETURN ''.
  1295. END PROCEDURE.
  1296. /* _UIB-CODE-BLOCK-END */
  1297. &ANALYZE-RESUME
  1298. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUTTON_SPEICHERN fFrameWin
  1299. PROCEDURE BUTTON_SPEICHERN :
  1300. /*------------------------------------------------------------------------------
  1301. Purpose:
  1302. Parameters: <none>
  1303. Notes:
  1304. ------------------------------------------------------------------------------*/
  1305. DEFINE VARIABLE Saldo AS DECIMAL NO-UNDO.
  1306. DO WITH FRAME {&FRAME-NAME}:
  1307. IF DECIMAL(F_Fakbetr:SCREEN-VALUE) = 0 AND
  1308. fNeu THEN
  1309. DO:
  1310. Btn_Speichern:SENSITIVE = FALSE.
  1311. RETURN.
  1312. END.
  1313. Saldo = DECIMAL(F_Fakbetr :SCREEN-VALUE)
  1314. - DECIMAL(F_Betrag-1:SCREEN-VALUE)
  1315. - DECIMAL(F_Betrag-2:SCREEN-VALUE)
  1316. - DECIMAL(F_Betrag-3:SCREEN-VALUE)
  1317. - DECIMAL(F_MWSt-1 :SCREEN-VALUE)
  1318. - DECIMAL(F_MWSt-2 :SCREEN-VALUE)
  1319. - DECIMAL(F_MWSt-3 :SCREEN-VALUE).
  1320. IF Saldo = 0 THEN Btn_Speichern:SENSITIVE = TRUE.
  1321. ELSE Btn_Speichern:SENSITIVE = FALSE.
  1322. END.
  1323. END PROCEDURE.
  1324. /* _UIB-CODE-BLOCK-END */
  1325. &ANALYZE-RESUME
  1326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE COMBO_MWST fFrameWin
  1327. PROCEDURE COMBO_MWST :
  1328. /*------------------------------------------------------------------------------
  1329. Purpose:
  1330. Parameters: <none>
  1331. Notes:
  1332. ------------------------------------------------------------------------------*/
  1333. DEFINE VARIABLE fDatum AS DATE NO-UNDO.
  1334. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1335. DEFINE VARIABLE cValue AS CHARACTER NO-UNDO.
  1336. GET-KEY-VALUE SECTION 'Fehlwerte'
  1337. KEY 'Mehrwertsteuer'
  1338. VALUE cValue.
  1339. IF cValue = ? THEN cValue = ''.
  1340. DO WITH FRAME {&FRAME-NAME}:
  1341. fDatum = ?.
  1342. fDatum = DATE(F_Datum:SCREEN-VALUE) NO-ERROR.
  1343. IF fDatum = ? THEN fDatum = TODAY.
  1344. cString = ''.
  1345. Datum = fDatum.
  1346. FOR EACH MWSTAns WHERE MWSTAns.MWST_Cd < 12
  1347. AND MWSTAns.Datum <= Datum
  1348. BREAK BY MWSTAns.MWST_Cd
  1349. BY MWSTAns.Datum :
  1350. IF NOT LAST-OF ( MWSTAns.MWST_Cd ) THEN NEXT.
  1351. cString = cString + ';' + MWSTAns.Bez
  1352. + ' ('
  1353. + STRING(MWSTAns.MWST_Cd,'99')
  1354. + ');'
  1355. + STRING(MWSTAns.MWST_Cd,'999999').
  1356. END.
  1357. IF cString = '' THEN cString = ';'.
  1358. ELSE cString = SUBSTRING(cString,02).
  1359. CB_MWST-1:DELIMITER = ';'.
  1360. CB_MWST-2:DELIMITER = ';'.
  1361. CB_MWST-3:DELIMITER = ';'.
  1362. CB_MWST-1:LIST-ITEM-PAIRS = cString.
  1363. CB_MWST-2:LIST-ITEM-PAIRS = cString.
  1364. CB_MWST-3:LIST-ITEM-PAIRS = cString.
  1365. IF cValue = '' THEN cValue = ENTRY(2, cString, ';').
  1366. cValue = STRING(INTEGER(cValue),'999999').
  1367. CB_MWST-1:SCREEN-VALUE = cValue NO-ERROR.
  1368. CB_MWST-2:SCREEN-VALUE = cValue NO-ERROR.
  1369. CB_MWST-3:SCREEN-VALUE = cValue NO-ERROR.
  1370. FIND LAST B1MWSTAns USE-INDEX MWSTAns-k1
  1371. WHERE B1MWSTAns.MWSt_Cd = INTEGER(CB_MWST-1:SCREEN-VALUE)
  1372. AND B1MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
  1373. NO-LOCK NO-ERROR.
  1374. FIND LAST B2MWSTAns USE-INDEX MWSTAns-k1
  1375. WHERE B2MWSTAns.MWSt_Cd = INTEGER(CB_MWST-2:SCREEN-VALUE)
  1376. AND B2MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
  1377. NO-LOCK NO-ERROR.
  1378. FIND LAST B3MWSTAns USE-INDEX MWSTAns-k1
  1379. WHERE B3MWSTAns.MWSt_Cd = INTEGER(CB_MWST-3:SCREEN-VALUE)
  1380. AND B3MWSTAns.Datum <= DATE (F_Datum :SCREEN-VALUE)
  1381. NO-LOCK NO-ERROR.
  1382. END.
  1383. END PROCEDURE.
  1384. /* _UIB-CODE-BLOCK-END */
  1385. &ANALYZE-RESUME
  1386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _DEFAULT-DISABLE
  1387. PROCEDURE disable_UI :
  1388. /*------------------------------------------------------------------------------
  1389. Purpose: DISABLE the User Interface
  1390. Parameters: <none>
  1391. Notes: Here we clean-up the user-interface by deleting
  1392. dynamic widgets we have created and/or hide
  1393. frames. This procedure is usually called when
  1394. we are ready to "clean-up" after running.
  1395. ------------------------------------------------------------------------------*/
  1396. /* Hide all frames. */
  1397. HIDE FRAME fMain.
  1398. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1399. END PROCEDURE.
  1400. /* _UIB-CODE-BLOCK-END */
  1401. &ANALYZE-RESUME
  1402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject fFrameWin
  1403. PROCEDURE enableObject :
  1404. /*------------------------------------------------------------------------------
  1405. Purpose: Super Override
  1406. Parameters:
  1407. Notes:
  1408. ------------------------------------------------------------------------------*/
  1409. /* Code placed here will execute PRIOR to standard behavior. */
  1410. RUN SUPER.
  1411. DO WITH FRAME {&FRAME-NAME}:
  1412. F_Datum:SCREEN-VALUE = STRING(Datum).
  1413. END.
  1414. END PROCEDURE.
  1415. /* _UIB-CODE-BLOCK-END */
  1416. &ANALYZE-RESUME
  1417. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _DEFAULT-ENABLE
  1418. PROCEDURE enable_UI :
  1419. /*------------------------------------------------------------------------------
  1420. Purpose: ENABLE the User Interface
  1421. Parameters: <none>
  1422. Notes: Here we display/view/enable the widgets in the
  1423. user-interface. In addition, OPEN all queries
  1424. associated with each FRAME and BROWSE.
  1425. These statements here are based on the "Other
  1426. Settings" section of the widget Property Sheets.
  1427. ------------------------------------------------------------------------------*/
  1428. DISPLAY F_Knr F_Faknr F_Datum CB_Kondi F_Faellig F_Konto_S F_Konto_H CB_Frw
  1429. F_Kurs F_Adresse F_FakbetrFrw F_Fakbetr F_SkberFrw F_Saldo CB_MWST-1
  1430. F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2 F_Betrag-2 F_SaldoFrw
  1431. CB_MWST-3 F_Konto_H_3 F_Betrag-3 F_Buchtext3 F_Faktor F_Skber F_MWSt-1
  1432. F_MWSt-2 F_MWSt-3
  1433. WITH FRAME fMain.
  1434. ENABLE F_Knr Btn_SuchKunde F_Faknr F_Datum CB_Kondi F_Faellig F_Konto_S
  1435. F_Konto_H CB_Frw F_Kurs F_Adresse F_FakbetrFrw F_Fakbetr F_SkberFrw
  1436. F_Saldo CB_MWST-1 F_Konto_H_1 F_Betrag-1 CB_MWST-2 F_Konto_H_2
  1437. F_Betrag-2 F_SaldoFrw CB_MWST-3 F_Konto_H_3 F_Betrag-3 F_Buchtext3
  1438. F_Faktor F_Skber Br_OffenePosten F_MWSt-1 F_MWSt-2 F_MWSt-3 RECT-6
  1439. RECT-7
  1440. WITH FRAME fMain.
  1441. {&OPEN-BROWSERS-IN-QUERY-fMain}
  1442. END PROCEDURE.
  1443. /* _UIB-CODE-BLOCK-END */
  1444. &ANALYZE-RESUME
  1445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKNR_TEST fFrameWin
  1446. PROCEDURE FAKNR_TEST :
  1447. /*------------------------------------------------------------------------------
  1448. Purpose:
  1449. Parameters: <none>
  1450. Notes:
  1451. ------------------------------------------------------------------------------*/
  1452. DEFINE INPUT PARAMETER ipNeueNr AS LOG NO-UNDO.
  1453. DEFINE VARIABLE Faknr AS INTEGER NO-UNDO.
  1454. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  1455. DO WITH FRAME {&FRAME-NAME}:
  1456. IF lView THEN RETURN.
  1457. fNeu = TRUE.
  1458. Faknr = INTEGER(F_Faknr:SCREEN-VALUE).
  1459. /* IF Faknr = 0 AND */
  1460. /* ipNeueNr = FALSE THEN RETURN ''.*/
  1461. IF Faknr = 0 THEN
  1462. DO:
  1463. REPEAT TRANSACTION:
  1464. FIND SteuNr USE-INDEX SteuNr-k1
  1465. WHERE SteuNr.Firma = Firma.
  1466. SteuNr.Nr2 = SteuNr.Nr2 + 1.
  1467. Faknr = SteuNr.Nr2.
  1468. RELEASE SteuNr.
  1469. LEAVE.
  1470. END.
  1471. F_Faknr:SCREEN-VALUE = STRING(Faknr).
  1472. END.
  1473. FIND Debop USE-INDEX Debop-k2
  1474. WHERE Debop.Firma = Firma
  1475. AND Debop.Faknr = Faknr NO-LOCK NO-ERROR.
  1476. IF NOT AVAILABLE Debop THEN RETURN ''.
  1477. fNeu = FALSE.
  1478. IF Debop.ZahBetr <> 0 THEN
  1479. DO:
  1480. DYNAMIC-FUNCTION('FEHLER', INPUT 1131) NO-ERROR.
  1481. RETURN 'ERROR'.
  1482. END.
  1483. FOR EACH Interf USE-INDEX Interf-k1
  1484. WHERE Interf.Firma = Firma
  1485. AND Interf.TrNr1 = Debop.TrNr1
  1486. AND Interf.TrNr2 = Debop.TrNr2
  1487. AND Interf.Verbucht = TRUE NO-LOCK:
  1488. DYNAMIC-FUNCTION('FEHLER', INPUT 1132) NO-ERROR.
  1489. RETURN 'ERROR'.
  1490. END.
  1491. IF fTest THEN
  1492. DO:
  1493. fTest = FALSE.
  1494. RETURN ''.
  1495. END.
  1496. FIND FIRST Interf USE-INDEX Interf-k1
  1497. WHERE Interf.Firma = Firma
  1498. AND Interf.TrNr1 = Debop.TrNr1
  1499. AND Interf.TrNr2 = Debop.TrNr2 NO-LOCK NO-ERROR.
  1500. F_Datum :SCREEN-VALUE = STRING(Debop.FakDat) NO-ERROR.
  1501. F_Faellig :SCREEN-VALUE = STRING(Debop.Faellig) NO-ERROR.
  1502. CB_Kondi :SCREEN-VALUE = STRING(Debop.Kond,'999999') NO-ERROR.
  1503. CB_Frw :SCREEN-VALUE = Debop.Frw NO-ERROR.
  1504. F_Kurs :SCREEN-VALUE = STRING(Debop.Kurs) NO-ERROR.
  1505. F_Faktor :SCREEN-VALUE = STRING(Debop.Faktor) NO-ERROR.
  1506. F_FakBetr :SCREEN-VALUE = STRING(Debop.Fakbetr) NO-ERROR.
  1507. F_FakBetrFrw:SCREEN-VALUE = STRING(Debop.Fakbetr_Frw) NO-ERROR.
  1508. F_Skber :SCREEN-VALUE = STRING(Debop.Skber) NO-ERROR.
  1509. F_SkberFrw :SCREEN-VALUE = STRING(Debop.Skber_Frw) NO-ERROR.
  1510. F_Konto_S :SCREEN-VALUE = Debop.Konto NO-ERROR.
  1511. F_Konto_H :SCREEN-VALUE = Interf.Kto2 NO-ERROR.
  1512. DO i1 = 1 TO 11:
  1513. IF Debop.FakWpfl[i1] = 0 THEN NEXT.
  1514. CB_MWST-1 :SCREEN-VALUE = STRING(i1,'999999') NO-ERROR.
  1515. F_Betrag-1:SCREEN-VALUE = STRING(Debop.FakWpfl[i1]) NO-ERROR.
  1516. F_MWST-1 :SCREEN-VALUE = STRING(Debop.FakWust[i1]) NO-ERROR.
  1517. LEAVE.
  1518. END.
  1519. DO i1 = i1 + 1 TO 11:
  1520. IF Debop.FakWpfl[i1] = 0 THEN NEXT.
  1521. CB_MWST-2 :SCREEN-VALUE = STRING(i1,'999999') NO-ERROR.
  1522. F_Betrag-2:SCREEN-VALUE = STRING(Debop.FakWpfl[i1]) NO-ERROR.
  1523. F_MWST-2 :SCREEN-VALUE = STRING(Debop.FakWust[i1]) NO-ERROR.
  1524. LEAVE.
  1525. END.
  1526. DO i1 = i1 + 1 TO 11:
  1527. IF Debop.FakWpfl[i1] = 0 THEN NEXT.
  1528. CB_MWST-3 :SCREEN-VALUE = STRING(i1,'999999') NO-ERROR.
  1529. F_Betrag-3:SCREEN-VALUE = STRING(Debop.FakWpfl[i1]) NO-ERROR.
  1530. F_MWST-3 :SCREEN-VALUE = STRING(Debop.FakWust[i1]) NO-ERROR.
  1531. LEAVE.
  1532. END.
  1533. RETURN ''.
  1534. END.
  1535. END PROCEDURE.
  1536. /* _UIB-CODE-BLOCK-END */
  1537. &ANALYZE-RESUME
  1538. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin
  1539. PROCEDURE initializeObject :
  1540. /*------------------------------------------------------------------------------
  1541. Purpose: Super Override
  1542. Parameters:
  1543. Notes:
  1544. ------------------------------------------------------------------------------*/
  1545. DO WITH FRAME {&FRAME-NAME}:
  1546. IF sAktiv THEN
  1547. DO:
  1548. RUN COMBO_KONDITION ( CB_Kondi:HANDLE ) NO-ERROR.
  1549. RUN COMBO_FRW ( CB_FRW :HANDLE ) NO-ERROR.
  1550. RUN COMBO_MWST NO-ERROR.
  1551. END.
  1552. END.
  1553. RUN SUPER.
  1554. END PROCEDURE.
  1555. /* _UIB-CODE-BLOCK-END */
  1556. &ANALYZE-RESUME
  1557. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KONTO_TEST fFrameWin
  1558. PROCEDURE KONTO_TEST :
  1559. /*------------------------------------------------------------------------------
  1560. Purpose:
  1561. Parameters: <none>
  1562. Notes:
  1563. ------------------------------------------------------------------------------*/
  1564. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1565. DEFINE VARIABLE xFirma AS CHARACTER NO-UNDO.
  1566. DO WITH FRAME {&FRAME-NAME}:
  1567. cString = FBFirma + CHR(01)
  1568. + STRING(YEAR(F_Datum),'9999') + CHR(01)
  1569. + F_Konto_S.
  1570. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1571. IF cString = ? THEN
  1572. DO:
  1573. F_Konto_S:BGCOLOR = 14.
  1574. APPLY 'ENTRY' TO F_Konto_S.
  1575. RETURN 'ERROR'.
  1576. END.
  1577. ELSE
  1578. DO:
  1579. F_Konto_S:BGCOLOR = 15.
  1580. F_Konto_S:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
  1581. END.
  1582. cString = FBFirma + CHR(01)
  1583. + STRING(YEAR(F_Datum),'9999') + CHR(01)
  1584. + F_Konto_H.
  1585. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1586. IF cString = ? THEN
  1587. DO:
  1588. F_Konto_H:BGCOLOR = 14.
  1589. APPLY 'ENTRY' TO F_Konto_H.
  1590. RETURN 'ERROR'.
  1591. END.
  1592. ELSE
  1593. DO:
  1594. F_Konto_H:BGCOLOR = 15.
  1595. F_Konto_H:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
  1596. xFirma = ENTRY(7, cString, CHR(01)).
  1597. END.
  1598. IF xFirma <> FBFirma THEN
  1599. DO:
  1600. F_Konto_H:BGCOLOR = 14.
  1601. APPLY 'ENTRY' TO F_Konto_H.
  1602. RETURN 'ERROR'.
  1603. END.
  1604. IF F_Konto_H_1 <> '' THEN
  1605. DO:
  1606. cString = FBFirma + CHR(01)
  1607. + STRING(YEAR(F_Datum),'9999') + CHR(01)
  1608. + F_Konto_H_1.
  1609. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1610. IF cString = ? THEN
  1611. DO:
  1612. F_Konto_H_1:BGCOLOR = 14.
  1613. APPLY 'ENTRY' TO F_Konto_H_1.
  1614. RETURN 'ERROR'.
  1615. END.
  1616. ELSE
  1617. DO:
  1618. F_Konto_H_1:BGCOLOR = 15.
  1619. F_Konto_H_1:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
  1620. xFirma = ENTRY(7, cString, CHR(01)).
  1621. END.
  1622. END.
  1623. IF xFirma <> FBFirma THEN
  1624. DO:
  1625. F_Konto_H:BGCOLOR = 14.
  1626. APPLY 'ENTRY' TO F_Konto_H_1.
  1627. RETURN 'ERROR'.
  1628. END.
  1629. IF F_Konto_H_2 <> '' THEN
  1630. DO:
  1631. cString = FBFirma + CHR(01)
  1632. + STRING(YEAR(F_Datum),'9999') + CHR(01)
  1633. + F_Konto_H_2.
  1634. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1635. IF cString = ? THEN
  1636. DO:
  1637. F_Konto_H_2:BGCOLOR = 14.
  1638. APPLY 'ENTRY' TO F_Konto_H_2.
  1639. RETURN 'ERROR'.
  1640. END.
  1641. ELSE
  1642. DO:
  1643. F_Konto_H_2:BGCOLOR = 15.
  1644. F_Konto_H_2:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
  1645. xFirma = ENTRY(7, cString, CHR(01)).
  1646. END.
  1647. END.
  1648. IF xFirma <> FBFirma THEN
  1649. DO:
  1650. F_Konto_H:BGCOLOR = 14.
  1651. APPLY 'ENTRY' TO F_Konto_H_2.
  1652. RETURN 'ERROR'.
  1653. END.
  1654. IF F_Konto_H_3 <> '' THEN
  1655. DO:
  1656. cString = FBFirma + CHR(01)
  1657. + STRING(YEAR(F_Datum),'9999') + CHR(01)
  1658. + F_Konto_H_3.
  1659. cString = DYNAMIC-FUNCTION('getKontoInfo':U, INPUT cString) NO-ERROR.
  1660. IF cString = ? THEN
  1661. DO:
  1662. F_Konto_H_3:BGCOLOR = 14.
  1663. APPLY 'ENTRY' TO F_Konto_H_3.
  1664. RETURN 'ERROR'.
  1665. END.
  1666. ELSE
  1667. DO:
  1668. F_Konto_H_3:BGCOLOR = 15.
  1669. F_Konto_H_3:SCREEN-VALUE = ENTRY(1, cString, CHR(01)).
  1670. xFirma = ENTRY(7, cString, CHR(01)).
  1671. END.
  1672. END.
  1673. IF xFirma <> FBFirma THEN
  1674. DO:
  1675. F_Konto_H:BGCOLOR = 14.
  1676. APPLY 'ENTRY' TO F_Konto_H_3.
  1677. RETURN 'ERROR'.
  1678. END.
  1679. END.
  1680. END PROCEDURE.
  1681. /* _UIB-CODE-BLOCK-END */
  1682. &ANALYZE-RESUME
  1683. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN_RECHNUNG fFrameWin
  1684. PROCEDURE LOESCHEN_RECHNUNG :
  1685. /*------------------------------------------------------------------------------
  1686. Purpose:
  1687. Parameters: <none>
  1688. Notes:
  1689. ------------------------------------------------------------------------------*/
  1690. DEFINE INPUT PARAMETER ipFirma AS CHARACTER NO-UNDO.
  1691. DEFINE INPUT PARAMETER ipFaknr AS INTEGER NO-UNDO.
  1692. DEFINE OUTPUT PARAMETER opTrNr1 AS INTEGER NO-UNDO.
  1693. DEFINE OUTPUT PARAMETER opTrNr2 AS INTEGER NO-UNDO.
  1694. opTrNr1 = 0.
  1695. opTrNr2 = 0.
  1696. FIND Debop USE-INDEX Debop-k2
  1697. WHERE Debop.Firma = ipFirma
  1698. AND Debop.Faknr = ipFaknr NO-ERROR.
  1699. IF NOT AVAILABLE Debop THEN RETURN.
  1700. FIND Debst USE-INDEX Debst-k1
  1701. WHERE Debst.Firma = Debop.Firma
  1702. AND Debst.Knr = Debop.Knr NO-ERROR.
  1703. ASSIGN
  1704. Debst.Saldo_Frw = Debst.Saldo_Frw - Debop.Saldo_Frw
  1705. Debst.Saldo = Debst.Saldo - Debop.Saldo.
  1706. opTrNr1 = Debop.TrNr1.
  1707. opTrNr2 = Debop.TrNr2.
  1708. FOR EACH Debfa USE-INDEX Debfa-k1
  1709. WHERE Debfa.Firma = Debop.Firma
  1710. AND Debfa.Knr = Debop.Knr
  1711. AND Debfa.Faknr = Debop.Faknr:
  1712. DELETE Debfa.
  1713. END.
  1714. FOR EACH Debhi USE-INDEX Debhi-k3
  1715. WHERE Debhi.Firma = Debop.Firma
  1716. AND Debhi.Knr = Debop.Knr
  1717. AND Debhi.Faknr = Debop.Faknr:
  1718. DELETE Debhi.
  1719. END.
  1720. FOR EACH Debwu USE-INDEX Debwu-k1
  1721. WHERE Debwu.Firma = Debop.Firma
  1722. AND Debwu.Knr = Debop.Knr
  1723. AND Debwu.Faknr = Debop.Faknr:
  1724. DELETE Debwu.
  1725. END.
  1726. FOR EACH Interf USE-INDEX Interf-k1
  1727. WHERE Interf.Firma = FBFirma
  1728. AND Interf.TrNr1 = opTrNr1
  1729. AND Interf.TrNr2 = opTrNr2 :
  1730. DELETE Interf.
  1731. END.
  1732. DELETE Debop.
  1733. END PROCEDURE.
  1734. /* _UIB-CODE-BLOCK-END */
  1735. &ANALYZE-RESUME
  1736. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERYDEBOP fFrameWin
  1737. PROCEDURE OPENQUERYDEBOP :
  1738. /*------------------------------------------------------------------------------
  1739. Purpose:
  1740. Parameters: <none>
  1741. Notes:
  1742. ------------------------------------------------------------------------------*/
  1743. DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
  1744. OPEN QUERY Br_OffenePosten
  1745. FOR EACH Debop USE-INDEX Debop-k1
  1746. WHERE Debop.Firma = Firma
  1747. AND Debop.Knr = ipKnr
  1748. AND Debop.Saldo <> 0 NO-LOCK
  1749. BY Debop.Fakdat DESCENDING
  1750. BY Debop.Faknr DESCENDING
  1751. INDEXED-REPOSITION .
  1752. END PROCEDURE.
  1753. /* _UIB-CODE-BLOCK-END */
  1754. &ANALYZE-RESUME
  1755. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNEN fFrameWin
  1756. PROCEDURE RECHNEN :
  1757. /*------------------------------------------------------------------------------
  1758. Purpose:
  1759. Parameters: <none>
  1760. Notes:
  1761. ------------------------------------------------------------------------------*/
  1762. DEFINE INPUT PARAMETER ipArt AS INTEGER NO-UNDO.
  1763. DEFINE VARIABLE BetrBas AS DECIMAL DECIMALS 8 NO-UNDO.
  1764. DEFINE VARIABLE BetrFrw AS DECIMAL NO-UNDO.
  1765. DEFINE VARIABLE Kurs AS DECIMAL DECIMALS 8 NO-UNDO.
  1766. DEFINE VARIABLE Faktor AS INTEGER NO-UNDO.
  1767. DO WITH FRAME {&FRAME-NAME}:
  1768. Kurs = DECIMAL(F_Kurs :SCREEN-VALUE).
  1769. Faktor = INTEGER(F_Faktor:SCREEN-VALUE).
  1770. END.
  1771. CASE ipArt:
  1772. WHEN 08 THEN
  1773. DO WITH FRAME {&FRAME-NAME}:
  1774. BetrFrw = DECIMAL(F_SkberFrw:SCREEN-VALUE) NO-ERROR.
  1775. IF BetrFrw <> 0 THEN BetrBas = BetrFrw * Kurs / Faktor.
  1776. ELSE BetrBas = 0.
  1777. F_Skber:SCREEN-VALUE = STRING(BetrBas).
  1778. END.
  1779. WHEN 09 THEN
  1780. DO WITH FRAME {&FRAME-NAME}:
  1781. BetrFrw = DECIMAL(F_FakbetrFrw:SCREEN-VALUE) NO-ERROR.
  1782. IF BetrFrw <> 0 THEN BetrBas = BetrFrw * Kurs / Faktor.
  1783. ELSE BetrBas = 0.
  1784. F_FakBetr:SCREEN-VALUE = STRING(BetrBas).
  1785. BetrFrw = DECIMAL(F_SkberFrw:SCREEN-VALUE) NO-ERROR.
  1786. IF BetrFrw <> 0 THEN BetrBas = BetrFrw * Kurs / Faktor.
  1787. ELSE BetrBas = 0.
  1788. F_Skber:SCREEN-VALUE = STRING(BetrBas).
  1789. END.
  1790. END CASE.
  1791. RUN BUTTON_SPEICHERN.
  1792. END PROCEDURE.
  1793. /* _UIB-CODE-BLOCK-END */
  1794. &ANALYZE-RESUME
  1795. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBEN_DEBITOR fFrameWin
  1796. PROCEDURE SCHREIBEN_DEBITOR :
  1797. /*------------------------------------------------------------------------------
  1798. Purpose:
  1799. Parameters: <none>
  1800. Notes:
  1801. ------------------------------------------------------------------------------*/
  1802. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  1803. FIND BDebop WHERE RECID(BDebop) = opRecid NO-LOCK NO-ERROR.
  1804. FIND Steuer WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  1805. CREATE Debfa.
  1806. ASSIGN
  1807. Debfa.Firma = BDebop.Firma
  1808. Debfa.Knr = BDebop.Knr
  1809. Debfa.Faknr = BDebop.Faknr
  1810. Debfa.Fakdat = BDebop.Fakdat
  1811. Debfa.Faellig = BDebop.Faellig
  1812. Debfa.Fakbetr = BDebop.Fakbetr
  1813. Debfa.Skber = BDebop.Skber
  1814. Debfa.WW = BDebop.WW
  1815. Debfa.Fakbetr_Frw = BDebop.Fakbetr_Frw
  1816. Debfa.Skber_Frw = BDebop.Skber_Frw
  1817. Debfa.WW_Frw = BDebop.WW_Frw
  1818. Debfa.Transp = 0
  1819. Debfa.Porto = 0
  1820. Debfa.Verpack = 0
  1821. Debfa.Konto = BDebop.Konto
  1822. Debfa.Vertr = 0
  1823. Debfa.Kte = BDebop.Kte
  1824. Debfa.TrNr1 = BDebop.TrNr1
  1825. Debfa.TrNr2 = BDebop.TrNr2
  1826. Debfa.Frw = BDebop.Frw
  1827. Debfa.Kurs = BDebop.Kurs
  1828. Debfa.Faktor = BDebop.Faktor.
  1829. DO ix = 1 TO 12:
  1830. ASSIGN
  1831. Debfa.FakWpfl[ix] = BDebop.FakWpfl[ix]
  1832. Debfa.FakWust[ix] = BDebop.FakWust[ix].
  1833. END.
  1834. FIND LAST Debhi USE-INDEX Debhi-k1
  1835. WHERE Debhi.Firma = BDebop.Firma
  1836. AND Debhi.Knr = BDebop.Knr NO-LOCK NO-ERROR.
  1837. IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
  1838. ELSE ix = 1.
  1839. CREATE Debhi.
  1840. ASSIGN
  1841. Debhi.Firma = BDebop.Firma
  1842. Debhi.Knr = BDebop.Knr
  1843. Debhi.Trnr = ix
  1844. Debhi.Datum = BDebop.Fakdat
  1845. Debhi.Faknr = BDebop.Faknr
  1846. Debhi.Kte = BDebop.Kte
  1847. Debhi.Soll = BDebop.Fakbetr
  1848. Debhi.Soll_Frw = BDebop.Fakbetr_Frw
  1849. Debhi.Transp = 0
  1850. Debhi.Porto = 0
  1851. Debhi.Verpack = 0
  1852. Debhi.Konto = BDebop.Konto
  1853. Debhi.TrNr1 = BDebop.TrNr1
  1854. Debhi.TrNr2 = BDebop.TrNr2
  1855. Debhi.Frw = BDebop.Frw
  1856. Debhi.Kurs = BDebop.Kurs
  1857. Debhi.Faktor = BDebop.Faktor
  1858. Debhi.Saldo = bDebst.Saldo_Frw + BDebop.Saldo_Frw.
  1859. IF Steuer.St07 = 0 THEN
  1860. DO: /* Mehrwertsteuer vereinbart */
  1861. CREATE Debwu.
  1862. ASSIGN
  1863. Debwu.Firma = BDebop.Firma
  1864. Debwu.Knr = BDebop.Knr
  1865. Debwu.Faknr = BDebop.Faknr
  1866. Debwu.Trnr = 1
  1867. Debwu.Datum = BDebop.Fakdat
  1868. Debwu.Betrag = BDebop.Fakbetr
  1869. Debwu.Betrag_Frw = BDebop.Fakbetr_Frw
  1870. Debwu.Konto = BDebop.Konto
  1871. Debwu.Kte = BDebop.Kte
  1872. Debwu.TrNr1 = BDebop.TrNr1
  1873. Debwu.TrNr2 = BDebop.TrNr2
  1874. Debwu.Frw = BDebop.Frw
  1875. Debwu.Kurs = BDebop.Kurs
  1876. Debwu.Faktor = BDebop.Faktor.
  1877. DO ix = 1 TO 12:
  1878. IF BDebop.FakWpfl[ix] = 0 THEN NEXT.
  1879. ASSIGN
  1880. Debwu.Wustpfl[ix] = BDebop.FakWpfl[ix]
  1881. Debwu.Wust [ix] = BDebop.FakWust[ix].
  1882. END.
  1883. END.
  1884. RETURN 'io'.
  1885. END PROCEDURE.
  1886. /* _UIB-CODE-BLOCK-END */
  1887. &ANALYZE-RESUME
  1888. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_CANCEL fFrameWin
  1889. PROCEDURE SET_CANCEL :
  1890. /*------------------------------------------------------------------------------
  1891. Purpose:
  1892. Parameters: <none>
  1893. Notes:
  1894. ------------------------------------------------------------------------------*/
  1895. fCancel = TRUE.
  1896. END PROCEDURE.
  1897. /* _UIB-CODE-BLOCK-END */
  1898. &ANALYZE-RESUME
  1899. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FIND_KNR fFrameWin
  1900. PROCEDURE SET_FIND_KNR :
  1901. /*------------------------------------------------------------------------------
  1902. Purpose:
  1903. Notes:
  1904. ------------------------------------------------------------------------------*/
  1905. DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
  1906. DO WITH FRAME {&FRAME-NAME}:
  1907. F_Knr = ipKnr.
  1908. DISPLAY F_Knr.
  1909. RUN ADRESSE ( ipKnr ).
  1910. PUBLISH 'REPOSADRESSE' ( INPUT rAdresse ).
  1911. fCancel = TRUE.
  1912. APPLY 'ENTRY' TO F_Faknr.
  1913. RETURN NO-APPLY.
  1914. END.
  1915. END PROCEDURE.
  1916. /* _UIB-CODE-BLOCK-END */
  1917. &ANALYZE-RESUME
  1918. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN fFrameWin
  1919. PROCEDURE SPEICHERN :
  1920. /*------------------------------------------------------------------------------
  1921. Purpose:
  1922. Parameters: <none>
  1923. Notes:
  1924. ------------------------------------------------------------------------------*/
  1925. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1926. DEFINE VARIABLE miKurs AS DECIMAL NO-UNDO.
  1927. DEFINE VARIABLE maKurs AS DECIMAL NO-UNDO.
  1928. DEFINE VARIABLE Betr AS DECIMAL NO-UNDO.
  1929. DEFINE VARIABLE VBuchtxt1 AS CHARACTER NO-UNDO.
  1930. DEFINE VARIABLE VBuchtxt2 AS CHARACTER NO-UNDO.
  1931. DEFINE VARIABLE VBuchtxt3 AS CHARACTER NO-UNDO.
  1932. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  1933. DEFINE VARIABLE TrNr1 AS INTEGER NO-UNDO.
  1934. DEFINE VARIABLE TrNr2 AS INTEGER NO-UNDO.
  1935. DEFINE VARIABLE TrNr AS INTEGER NO-UNDO.
  1936. DEFINE VARIABLE mWW AS DECIMAL EXTENT 11 NO-UNDO.
  1937. DEFINE VARIABLE mMw AS DECIMAL EXTENT 11 NO-UNDO.
  1938. DEFINE VARIABLE mKo AS CHARACTER EXTENT 11 NO-UNDO.
  1939. DEFINE VARIABLE Kto1 AS CHARACTER NO-UNDO.
  1940. DEFINE VARIABLE Kto2 AS CHARACTER NO-UNDO.
  1941. DEFINE VARIABLE SaldoBas AS DECIMAL NO-UNDO.
  1942. DEFINE VARIABLE SaldoFrw AS DECIMAL NO-UNDO.
  1943. DEFINE VARIABLE fFehler AS LOG NO-UNDO.
  1944. DO WITH FRAME {&FRAME-NAME}:
  1945. ASSIGN {&List-6}.
  1946. ASSIGN F_Knr.
  1947. Frw = CB_Frw:SCREEN-VALUE.
  1948. IF F_Datum = ? THEN
  1949. DO:
  1950. APPLY 'ENTRY' TO F_Datum.
  1951. RETURN NO-APPLY.
  1952. END.
  1953. IF F_Faellig = ? OR
  1954. F_Faellig < F_Datum THEN
  1955. DO:
  1956. APPLY 'ENTRY' TO F_Faellig.
  1957. RETURN NO-APPLY.
  1958. END.
  1959. IF F_Faktor = 0 THEN F_Faktor:SCREEN-VALUE = STRING(1).
  1960. /* RUN KONTO_TEST. */
  1961. /* IF RETURN-VALUE = 'ERROR' THEN RETURN NO-APPLY.*/
  1962. FIND Waehrung NO-LOCK
  1963. WHERE Waehrung.Firma = GlobFir
  1964. AND Waehrung.Frw = Frw NO-ERROR.
  1965. IF NOT AVAILABLE Waehrung THEN
  1966. DO:
  1967. APPLY 'ENTRY' TO CB_Frw.
  1968. RETURN NO-APPLY.
  1969. END.
  1970. IF Waehrung.Frw = BasFrw THEN
  1971. DO:
  1972. miKurs = 1.0.
  1973. maKurs = 1.0.
  1974. END.
  1975. ELSE
  1976. DO:
  1977. miKurs = Waehrung.Kurs * 0.7.
  1978. maKurs = Waehrung.Kurs * 1.3.
  1979. END.
  1980. IF F_Kurs < miKurs OR
  1981. F_Kurs > maKurs THEN
  1982. DO:
  1983. APPLY 'ENTRY' TO F_Kurs.
  1984. RETURN NO-APPLY.
  1985. END.
  1986. IF F_Kurs <= 0 THEN
  1987. DO:
  1988. APPLY 'ENTRY' TO F_Kurs.
  1989. RETURN NO-APPLY.
  1990. END.
  1991. IF F_Kurs = ? THEN
  1992. DO:
  1993. APPLY 'ENTRY' TO F_Kurs.
  1994. RETURN NO-APPLY.
  1995. END.
  1996. Betr = F_Betrag-1 + F_Betrag-2 + F_Betrag-3
  1997. + F_MWST-1 + F_MWST-2 + F_MWST-3.
  1998. IF Betr <> F_Fakbetr THEN
  1999. DO:
  2000. APPLY 'ENTRY' TO F_Betrag-1.
  2001. RETURN NO-APPLY.
  2002. END.
  2003. fTest = TRUE.
  2004. RUN FAKNR_TEST ( INPUT TRUE ).
  2005. IF RETURN-VALUE = 'ERROR' THEN
  2006. DO:
  2007. APPLY 'ENTRY' TO F_Faknr.
  2008. RETURN NO-APPLY.
  2009. END.
  2010. ASSIGN {&List-6}.
  2011. IF bAdresse.Firma1 <> '' THEN vAdresse = TRIM(bAdresse.Firma1 + ' ' + bAdresse.Firma2 ).
  2012. ELSE vAdresse = TRIM(bAdresse.Name + ' ' + bAdresse.Vorname).
  2013. VBuchtxt1 = 'Debitorrechnung :'
  2014. + STRING(F_Faknr," 9999999").
  2015. VBuchtxt2 = vAdresse
  2016. + ", "
  2017. + TRIM(bAdresse.Lkz + '-' + bAdresse.Plz + ' ' + bAdresse.Ort).
  2018. VBuchtxt2 = TRIM(SUBSTRING(VBuchtxt2,01,40)).
  2019. VBuchtxt3 = F_Buchtext3.
  2020. PUT-KEY-VALUE SECTION 'Fehlwerte'
  2021. KEY 'Mehrwertsteuer'
  2022. VALUE CB_MWST-1:SCREEN-VALUE NO-ERROR.
  2023. END.
  2024. BUCHEN:
  2025. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  2026. fFehler = FALSE.
  2027. FIND Steuer USE-INDEX Steuer-k1
  2028. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  2029. FIND SteuNr USE-INDEX SteuNr-k1
  2030. WHERE SteuNr.Firma = Firma NO-LOCK NO-ERROR.
  2031. IF fNeu = FALSE THEN
  2032. DO:
  2033. RUN LOESCHEN_RECHNUNG ( INPUT Firma, INPUT F_Faknr,
  2034. OUTPUT TrNr1, OUTPUT TrNr2 ).
  2035. IF F_FakbetrFrw = 0 AND
  2036. F_Fakbetr = 0 THEN
  2037. DO:
  2038. F_Saldo = Debst.Saldo.
  2039. F_SaldoFrw = Debst.Saldo_Frw.
  2040. RELEASE Debst.
  2041. RELEASE Debop.
  2042. RELEASE Debfa.
  2043. RELEASE Debwu.
  2044. RELEASE Debhi.
  2045. RELEASE Interf.
  2046. RELEASE Steuer.
  2047. RELEASE SteuNr.
  2048. LEAVE BUCHEN.
  2049. END.
  2050. END.
  2051. EMPTY TEMP-TABLE tKonto.
  2052. DO WHILE TRUE ON ERROR UNDO, RETRY:
  2053. IF RETRY THEN .
  2054. PAUSE 0 BEFORE-HIDE NO-MESSAGE.
  2055. RELEASE TransNr.
  2056. IF TrNr1 <> 0 THEN
  2057. DO:
  2058. FIND TransNr USE-INDEX TransNr-k1
  2059. WHERE TransNr.Firma = '9999'
  2060. AND TransNr.TrNr1 = TrNr1
  2061. AND TransNr.TrNr2 = TrNr2 NO-ERROR.
  2062. END.
  2063. ELSE
  2064. DO:
  2065. FIND LAST TransNr USE-INDEX TransNr-k1
  2066. WHERE TransNr.Firma = '9999' NO-LOCK NO-ERROR.
  2067. IF AVAILABLE TransNr THEN
  2068. DO:
  2069. TrNr1 = TransNr.TrNr1 + 1.
  2070. TrNr2 = 1.
  2071. END.
  2072. ELSE
  2073. DO:
  2074. TrNr1 = 1.
  2075. TrNr2 = 1.
  2076. END.
  2077. CREATE TransNr.
  2078. ASSIGN
  2079. TransNr.Firma = '9999'
  2080. TransNr.TrNr1 = TrNr1
  2081. TransNr.TrNr2 = TrNr2.
  2082. END.
  2083. ASSIGN
  2084. TransNr.Herk = 52
  2085. TransNr.Erf_Dat = TODAY
  2086. TransNr.Erf_Zeit = TIME
  2087. TransNr.Betrag = F_Fakbetr.
  2088. cString = DYNAMIC-FUNCTION('getBenutzerDaten').
  2089. TransNr.SaBe = ENTRY(2, cString, CHR(01)).
  2090. LEAVE.
  2091. END.
  2092. CREATE Debop.
  2093. ASSIGN
  2094. Debop.Firma = Firma
  2095. Debop.Knr = F_Knr
  2096. Debop.Faknr = F_Faknr
  2097. Debop.Fakdat = F_Datum
  2098. Debop.Faellig = F_Faellig
  2099. Debop.Fakbetr = F_Fakbetr
  2100. Debop.Skber = F_Skber
  2101. Debop.WW = F_Betrag-1 + F_Betrag-2 + F_Betrag-3
  2102. Debop.Saldo = F_Fakbetr
  2103. Debop.Fakbetr_Frw = F_FakbetrFrw
  2104. Debop.Skber_Frw = F_SkberFrw
  2105. Debop.WW_Frw = Debop.WW / F_Kurs * F_Faktor
  2106. Debop.Saldo_Frw = F_FakbetrFrw
  2107. Debop.Kond = INTEGER(CB_Kondi:SCREEN-VALUE)
  2108. Debop.Transp = 0
  2109. Debop.Porto = 0
  2110. Debop.Verpack = 0
  2111. Debop.Konto = F_Konto_S
  2112. Debop.Vertr = 0
  2113. Debop.Kte = "MAFA"
  2114. Debop.TrNr1 = TrNr1
  2115. Debop.TrNr2 = TrNr2
  2116. Debop.Frw = Frw
  2117. Debop.Kurs = F_Kurs
  2118. Debop.Faktor = F_Faktor
  2119. Debop.FakWpfl = 0
  2120. Debop.FakWust = 0.
  2121. IF Steuer.St07 = 0 THEN Debop.WustAbr = TRUE. /* vereinbahrt */
  2122. ELSE Debop.WustAbr = FALSE. /* vereinnahmt */
  2123. opRecid = RECID(Debop).
  2124. mWW = 0.
  2125. mMw = 0.
  2126. mKo = ''.
  2127. DO ix = 1 TO 12:
  2128. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  2129. WHERE MWSTAns.MWST_Cd = ix
  2130. AND MWSTAns.Datum <= Debop.Fakdat NO-LOCK NO-ERROR.
  2131. IF AVAILABLE MWSTAns THEN
  2132. DO:
  2133. ASSIGN
  2134. Debop.FakWPro[ix] = MWSTAns.Ansatz
  2135. Debop.FakIncl[ix] = MWSTAns.Incl.
  2136. END.
  2137. END.
  2138. IF F_Betrag-1 <> 0 THEN
  2139. DO:
  2140. ix = INTEGER(CB_MWST-1:SCREEN-VALUE).
  2141. ASSIGN
  2142. Debop.FakWpfl[ix] = Debop.FakWpfl[ix] + F_Betrag-1
  2143. Debop.FakWust[ix] = Debop.FakWust[ix] + F_MWST-1
  2144. mKo[ix] = B1MWSTAns.Konto.
  2145. IF F_Konto_H_1 = '' THEN F_Konto_H_1 = F_Konto_H.
  2146. FIND FIRST tKonto
  2147. WHERE tKonto.Konto = F_Konto_H_1
  2148. AND tKonto.Mwst_cd = ix NO-ERROR.
  2149. IF NOT AVAILABLE tKonto THEN
  2150. DO:
  2151. CREATE tKonto.
  2152. ASSIGN
  2153. tKonto.Konto = F_Konto_H_1
  2154. tKonto.Mwst_cd = ix.
  2155. END.
  2156. ASSIGN
  2157. tKonto.Betrag = tKonto.Betrag + F_Betrag-1
  2158. tKonto.Mwst = tKonto.Mwst + F_MWST-1.
  2159. END.
  2160. IF F_Betrag-2 <> 0 THEN
  2161. DO:
  2162. ix = INTEGER(CB_MWST-2:SCREEN-VALUE).
  2163. ASSIGN
  2164. Debop.FakWpfl[ix] = Debop.FakWpfl[ix] + F_Betrag-2
  2165. Debop.FakWust[ix] = Debop.FakWust[ix] + F_MWST-2
  2166. mKo[ix] = B2MWSTAns.Konto.
  2167. IF F_Konto_H_2 = '' THEN F_Konto_H_2 = F_Konto_H.
  2168. IF F_Konto_H_2 = '' THEN F_Konto_H_2 = F_Konto_H_1.
  2169. FIND FIRST tKonto
  2170. WHERE tKonto.Konto = F_Konto_H_2
  2171. AND tKonto.Mwst_cd = ix NO-ERROR.
  2172. IF NOT AVAILABLE tKonto THEN
  2173. DO:
  2174. CREATE tKonto.
  2175. ASSIGN
  2176. tKonto.Konto = F_Konto_H_2
  2177. tKonto.Mwst_cd = ix.
  2178. END.
  2179. ASSIGN
  2180. tKonto.Betrag = tKonto.Betrag + F_Betrag-2
  2181. tKonto.Mwst = tKonto.Mwst + F_MWST-2.
  2182. END.
  2183. IF F_Betrag-3 <> 0 THEN
  2184. DO:
  2185. ix = INTEGER(CB_MWST-3:SCREEN-VALUE).
  2186. ASSIGN
  2187. Debop.FakWpfl[ix] = Debop.FakWpfl[ix] + F_Betrag-3
  2188. Debop.FakWust[ix] = Debop.FakWust[ix] + F_MWST-3
  2189. mKo[ix] = B3MWSTAns.Konto.
  2190. IF F_Konto_H_3 = '' THEN F_Konto_H_3 = F_Konto_H.
  2191. IF F_Konto_H_3 = '' THEN F_Konto_H_3 = F_Konto_H_1.
  2192. FIND FIRST tKonto
  2193. WHERE tKonto.Konto = F_Konto_H_3
  2194. AND tKonto.Mwst_cd = ix NO-ERROR.
  2195. IF NOT AVAILABLE tKonto THEN
  2196. DO:
  2197. CREATE tKonto.
  2198. ASSIGN
  2199. tKonto.Konto = F_Konto_H_3
  2200. tKonto.Mwst_cd = ix.
  2201. END.
  2202. ASSIGN
  2203. tKonto.Betrag = tKonto.Betrag + F_Betrag-3
  2204. tKonto.Mwst = tKonto.Mwst + F_MWST-3.
  2205. END.
  2206. DO ix = 1 TO 11:
  2207. IF Debop.FakWpfl[ix] = 0 THEN NEXT.
  2208. IF Debop.FakIncl[ix] = FALSE THEN
  2209. DO:
  2210. mWW[ix] = Debop.FakWpfl[ix].
  2211. mMw[ix] = Debop.FakWust[ix].
  2212. END.
  2213. ELSE
  2214. DO:
  2215. mMw[ix] = Debop.FakWpfl[ix] * Debop.FakWPro[ix] / (100 + Debop.FakWPro[ix]).
  2216. mWW[ix] = Debop.FakWpfl[ix] - mMw[ix].
  2217. END.
  2218. END.
  2219. RUN SCHREIBEN_DEBITOR.
  2220. IF RETURN-VALUE <> 'io' THEN
  2221. DO:
  2222. fFehler = TRUE.
  2223. UNDO BUCHEN, LEAVE BUCHEN.
  2224. END.
  2225. TrNr = 0.
  2226. SaldoBas = F_Fakbetr.
  2227. SaldoFrw = F_FakbetrFrw.
  2228. FOR EACH tKonto BY tKonto.Mwst_Cd:
  2229. IF tKonto.Betrag = 0 THEN NEXT.
  2230. ix = tKonto.Mwst_Cd.
  2231. Kto1 = F_Konto_S.
  2232. Kto2 = tKonto.Konto.
  2233. FIND LAST Interf USE-INDEX Interf-k1
  2234. WHERE Interf.Firma = FBFirma
  2235. AND Interf.TrNr1 = TrNr1
  2236. AND Interf.TrNr2 = TrNr2
  2237. AND Interf.Kto1 = Kto1
  2238. AND Interf.Kto2 = Kto2 NO-ERROR.
  2239. IF NOT AVAILABLE Interf THEN
  2240. DO:
  2241. TrNr = TrNr + 1.
  2242. CREATE Interf.
  2243. ASSIGN
  2244. Interf.Firma = FBFirma
  2245. Interf.TrNr1 = TrNr1
  2246. Interf.TrNr2 = TrNr2
  2247. Interf.TrNr = TrNr
  2248. Interf.Kto1 = Kto1
  2249. Interf.Kto2 = Kto2
  2250. Interf.Herk = TransNr.Herk
  2251. Interf.Datum = F_Datum
  2252. Interf.Buchtxt1 = VBuchtxt1
  2253. Interf.Buchtxt2 = VBuchtxt2
  2254. Interf.Buchtxt3 = VBuchtxt3
  2255. Interf.Frw = Debop.Frw
  2256. Interf.Faktor = Debop.Faktor
  2257. Interf.Kurs = Debop.Kurs
  2258. Interf.Verbucht = FALSE
  2259. Interf.Faknr = STRING(Debop.Faknr,"9999999")
  2260. Interf.Knr = Debop.Knr
  2261. Interf.MWST_Nr = ""
  2262. Interf.MWST_Cd = tKonto.Mwst_Cd
  2263. Interf.MWST_Art = 1
  2264. Interf.HKFirma = Firma
  2265. Interf.BEBU = 0
  2266. Interf.BEBU_Art = 0
  2267. Interf.Menge = 0.
  2268. END.
  2269. Betr = tKonto.Betrag.
  2270. Interf.Betrag = Interf.Betrag + Betr.
  2271. SaldoBas = SaldoBas - Betr.
  2272. Betr = Betr * Interf.Faktor / Interf.Kurs.
  2273. Interf.Betrag_Frw = Interf.Betrag_Frw + Betr.
  2274. SaldoFrw = SaldoFrw - Betr.
  2275. IF tKonto.Mwst = 0 THEN NEXT.
  2276. Kto2 = mKo[ix].
  2277. FIND LAST Interf USE-INDEX Interf-k1
  2278. WHERE Interf.Firma = FBFirma
  2279. AND Interf.TrNr1 = TrNr1
  2280. AND Interf.TrNr2 = TrNr2
  2281. AND Interf.Kto1 = Kto1
  2282. AND Interf.Kto2 = Kto2 NO-ERROR.
  2283. IF NOT AVAILABLE Interf THEN
  2284. DO:
  2285. TrNr = TrNr + 1.
  2286. CREATE Interf.
  2287. ASSIGN
  2288. Interf.Firma = FBFirma
  2289. Interf.TrNr1 = TrNr1
  2290. Interf.TrNr2 = TrNr2
  2291. Interf.TrNr = TrNr
  2292. Interf.Kto1 = Kto1
  2293. Interf.Kto2 = Kto2
  2294. Interf.Herk = TransNr.Herk
  2295. Interf.Datum = F_Datum
  2296. Interf.Buchtxt1 = VBuchtxt1
  2297. Interf.Buchtxt2 = VBuchtxt2
  2298. Interf.Buchtxt3 = VBuchtxt3
  2299. Interf.Frw = Debop.Frw
  2300. Interf.Faktor = Debop.Faktor
  2301. Interf.Kurs = Debop.Kurs
  2302. Interf.Verbucht = FALSE
  2303. Interf.Faknr = STRING(Debop.Faknr,"9999999")
  2304. Interf.Knr = Debop.Knr
  2305. Interf.MWST_Nr = ""
  2306. Interf.MWST_Cd = 0
  2307. Interf.MWST_Art = 6
  2308. Interf.HKFirma = Firma
  2309. Interf.BEBU = 0
  2310. Interf.BEBU_Art = 0
  2311. Interf.Menge = 0.
  2312. END.
  2313. Betr = tKonto.Mwst.
  2314. Interf.Betrag = Interf.Betrag + Betr.
  2315. SaldoBas = SaldoBas - Betr.
  2316. Betr = Betr * Interf.Faktor / Interf.Kurs.
  2317. Interf.Betrag_Frw = Interf.Betrag_Frw + Betr.
  2318. SaldoFrw = SaldoFrw - Betr.
  2319. END.
  2320. DO WHILE TRUE:
  2321. IF SaldoBas = 0 AND
  2322. SaldoFrw = 0 THEN LEAVE.
  2323. Kto1 = F_Konto_S.
  2324. Kto2 = F_Konto_H.
  2325. FIND LAST Interf USE-INDEX Interf-k1
  2326. WHERE Interf.Firma = FBFirma
  2327. AND Interf.TrNr1 = TrNr1
  2328. AND Interf.TrNr2 = TrNr2
  2329. AND Interf.Kto1 = Kto1
  2330. AND Interf.Kto2 = Kto2 NO-ERROR.
  2331. Interf.Betrag = Interf.Betrag + SaldoBas.
  2332. Interf.Betrag_Frw = Interf.Betrag_Frw + SaldoFrw.
  2333. SaldoBas = 0.
  2334. SaldoFrw = 0.
  2335. LEAVE.
  2336. END.
  2337. FIND Debst USE-INDEX Debst-k1
  2338. WHERE Debst.Firma = Firma
  2339. AND Debst.Knr = F_Knr NO-ERROR.
  2340. Debst.Saldo_Frw = Debst.Saldo_Frw + Debop.Saldo_Frw.
  2341. Debst.Saldo = Debst.Saldo + Debop.Saldo .
  2342. F_Saldo = Debst.Saldo.
  2343. F_SaldoFrw = Debst.Saldo_Frw.
  2344. RELEASE Debst.
  2345. RELEASE Debop.
  2346. RELEASE Debfa.
  2347. RELEASE Debwu.
  2348. RELEASE Debhi.
  2349. RELEASE Interf.
  2350. RELEASE Steuer.
  2351. RELEASE SteuNr.
  2352. LEAVE.
  2353. END.
  2354. IF fFehler THEN
  2355. DO:
  2356. MESSAGE 'Ein fehler ist aufgetaucht, '
  2357. 'bitte Rechnung nochmals Eingeben ' VIEW-AS ALERT-BOX ERROR.
  2358. RETURN NO-APPLY.
  2359. END.
  2360. RUN OPENQUERYDEBOP ( INPUT F_Knr ).
  2361. fCancel = FALSE.
  2362. DO WITH FRAME {&FRAME-NAME}:
  2363. F_Faknr = 0.
  2364. F_Datum = ?.
  2365. F_Faellig = ?.
  2366. F_Konto_S = ''.
  2367. F_Konto_H = ''.
  2368. F_Kurs = 1.
  2369. F_Faktor = 1.
  2370. F_Fakbetr = 0.
  2371. F_FakbetrFrw = 0.
  2372. F_Skber = 0.
  2373. F_SkberFrw = 0.
  2374. F_Betrag-1 = 0.
  2375. F_Betrag-2 = 0.
  2376. F_Betrag-3 = 0.
  2377. F_MWST-1 = 0.
  2378. F_MWST-2 = 0.
  2379. F_MWST-3 = 0.
  2380. Btn_Speichern:SENSITIVE = FALSE.
  2381. DISPLAY {&List-6}.
  2382. DISPLAY
  2383. F_Saldo
  2384. F_SaldoFrw.
  2385. APPLY 'ENTRY' TO F_Knr.
  2386. RETURN NO-APPLY.
  2387. END.
  2388. END PROCEDURE.
  2389. /* _UIB-CODE-BLOCK-END */
  2390. &ANALYZE-RESUME
  2391. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin
  2392. PROCEDURE viewObject:
  2393. /*------------------------------------------------------------------------------*/
  2394. /* Purpose: Super Override */
  2395. /* Parameters: */
  2396. /* Notes: */
  2397. /*------------------------------------------------------------------------------*/
  2398. DEFINE VARIABLE hData AS HANDLE NO-UNDO.
  2399. lView = TRUE.
  2400. hData = DYNAMIC-FUNCTION ('getDataSource':U) NO-ERROR.
  2401. DO WHILE VALID-HANDLE(hData):
  2402. rAdresse = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hData) NO-ERROR.
  2403. IF rAdresse = ? OR
  2404. rAdresse = 0 THEN LEAVE.
  2405. FIND bAdresse NO-LOCK WHERE RECID(bAdresse) = rAdresse.
  2406. RUN ADRESSE ( bAdresse.Knr ).
  2407. LEAVE.
  2408. END.
  2409. RUN SUPER.
  2410. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  2411. APPLY 'U1'.
  2412. lView = FALSE.
  2413. RETURN NO-APPLY.
  2414. END PROCEDURE.
  2415. /* _UIB-CODE-BLOCK-END */
  2416. &ANALYZE-RESUME