MacGiro
MacGiro Scheine

AppleScript-Beispiele

Hier werden exemplarisch einige Beispiele für die Apple-Event-Schnittstelle aufgeführt.

01 - Datenbank öffnen

set myFile to choose file "Select DB" of type {"GIDE"}
set askName to display dialog ¬
  "Bitte geben Sie Ihren Name ein:" default answer ¬
  "Verwalter" buttons {"Abbrechen", "OK"} default button 2
if button returned of askName = "OK" then
  set askPassword to display dialog ¬
    "Bitte geben Sie Ihr Kennwort ein:" default answer ¬
    "Verwalter" buttons {"Abbrechen", "OK"} default button 2
  if button returned of askPassword = "OK" then
    set myName to text returned of askName
    set myPassword to text returned of askPassword
    tell application "MacGiro 12"
      open {myFile} username myName password myPassword
    end tell
  end if
end if

02 - Bank anlegen

set blz to "899 999 99"
set bankname to "Bankhaus Muster"
set ort to "Musterstadt"
set pvz to "09"
set bic to "MUSTDE09"
set importText to blz & tab & ¬
  bankname & tab & ¬
  ort & tab & ¬
  pvz & tab & ¬
  bic

tell application "MacGiro 12"
  create bank importText replace ask
end tell

03 - Eigenkonto anlegen

set IDName to "Mai"
set blz to "899 999 99"
set Kontonummer to "1234"
set inhaber to "Michaela Mai"
set ort to "Musterstadt"
set dtaAnschrift to ""
set dtaAnsprechpartner to ""
set dtaTelefon to ""
set dtarefnum to "1"
set scheckNummer to "1"
set btxAltKontoNummer to ""
set btxHoechstBetrag to ""
set btxBenoetig2TANS to "FALSCH"
set btxBenoetigt2PINS to "FALSCH"
set kontoabfrage to "WAHR"
set kontoAbfrageJedesmal to "FALSCH"
set letztekontoabfrage to ""
set laufzeitBuchungGutschrift to "0"
set lLaufzeitBuchungLastschrift to "0"
set laufzeitBuchungScheckaustellung to "0"
set laufzeitBuchungScheckannahme to "0"
set laufzeitBuchungAndere to "0"
set laufzeitWertstellungGutschrift to "0"
set laufzeitWertstellungLastschrift to "0"
set laufzeitWertstellungScheckaustellung to "0"
set laufzeitWertstellungScheckannahme to "0"
set laufzeitWertstellungAndere to "0"
set gebuchtStatus to "1"
set ErlaubteArten to "255"
set DTAErlaubteArten to "6"
set PapierErlaubteArten to "30"
set PIN1 to ""
set PIN2 to ""
set BTXErlaubteArten to "2"
set standardAusgabeForm to "Papier"
set standardUnterArt to ""

set ImportText1 to ¬
  IDName & tab & ¬
  blz & tab & ¬
  Kontonummer & tab & ¬
  inhaber & tab & ¬
  ort & tab & ¬
  dtaAnschrift & tab & ¬
  dtaAnsprechpartner & tab & ¬
  dtaTelefon & tab & ¬
  dtarefnum & tab & ¬
  scheckNummer & tab & ¬
  btxAltKontoNummer & tab
set ImportText2 to ¬
  btxHoechstBetrag & tab & ¬
  btxBenoetig2TANS & tab & ¬
  btxBenoetigt2PINS & tab & ¬
  kontoabfrage & tab & ¬
  kontoAbfrageJedesmal & tab & ¬
  letztekontoabfrage & tab & ¬
  laufzeitBuchungGutschrift & tab & ¬
  lLaufzeitBuchungLastschrift & tab
set ImportText3 to ¬
  laufzeitBuchungScheckaustellung & tab & ¬
  laufzeitBuchungScheckannahme & tab & ¬
  laufzeitBuchungAndere & tab & ¬
  laufzeitWertstellungGutschrift & tab & ¬
  laufzeitWertstellungLastschrift & tab
set ImportText4 to ¬
  laufzeitWertstellungScheckaustellung & tab & ¬
  laufzeitWertstellungScheckannahme & tab & ¬
  laufzeitWertstellungAndere & tab & ¬
  gebuchtStatus & tab & ¬
  ErlaubteArten & tab & ¬
  DTAErlaubteArten & tab & ¬
  PapierErlaubteArten & tab
set ImportText5 to ¬
  PIN1 & tab & ¬
  PIN2 & tab & ¬
  BTXErlaubteArten & tab & ¬
  standardAusgabeForm & tab & ¬
  standardUnterArt

set importText to ¬
  ImportText1 & ¬
  ImportText2 & ¬
  ImportText3 & ¬
  ImportText4 & ¬
  ImportText5

tell application "MacGiro 12"
  create own account importText replace ask
end tell

04 - Fremdkonto anlegen

set Fremdkontoname to "Mustermann"
set FremdkontoBLZ to "899 999 99"
set Fremdkontonr to "121212"
set Fremdkontoinhaber to "Erika Mustermann"
set FremdkontoStr to "Am Weg 2"
set FremdkontoOrt to "Musterstadt"
set FremdkontoInsMenue to "Nein"

set importText to ¬
  Fremdkontoname & tab & ¬
  FremdkontoBLZ & tab & ¬
  Fremdkontonr & tab & ¬
  Fremdkontoinhaber & tab & ¬
  FremdkontoStr & tab & ¬
  FremdkontoOrt & tab & ¬
  FremdkontoInsMenue

tell application "MacGiro 12"
  create other account importText replace ask
end tell

05 - Fremdkonto anlegen mit IBAN:BIC

set Fremdkontoname to "Mustermann"
set FremdkontoBIC to "HAMPDE99"
set Fremdkontonr to "DE87123456781234567890"
set Fremdkontoinhaber to "Erika Mustermann"
set FremdkontoStr to "Am Weg 2"
set FremdkontoOrt to "Musterstadt"
set FremdkontoInsMenue to "Nein"

set importText to ¬
  Fremdkontoname & tab & ¬
  FremdkontoBIC & tab & ¬
  Fremdkontonr & tab & ¬
  Fremdkontoinhaber & tab & ¬
  FremdkontoStr & tab & ¬
  FremdkontoOrt & tab & ¬
  FremdkontoInsMenue

tell application "MacGiro 12"
  create other account importText replace ask
end tell

06 - Transfer anlegen

set Art to "Gutschrift"
set AusgabeForm to "Papier"
set Unterart to ""
set EigenIDName to "Mai"
set EigenBLZ to "899 999 99"
set Eigenkontonummer to "1234"
set EigenName to "Michaela Mai"
set FremdIDName to "Mustermann"
set FremdBLZ to "899 999 99"
set Fremdkontonummer to "121212"
set FremdName to "Erika Mustermann"
set Verwendungszweck to "Rechnung 08/01 vom 15.4.2011"
set Betrag to "EUR 575,20"
set DatumAngelegt to "16.04.2011"
set DatumAusfuehrGeplant to "22.4.2011"
set DatumAusfuehrSpaet to ""
set DatumAusgefuehrt to ""
set DatumMitSkonto to "1.10.2011"
set DatumGebucht to ""
set DatumWertstellung to ""
set SkontoInDM to "FALSCH"
set Skonto to "3,0"
set Mehrfachausfuehrung to "FALSCH"
set AusfuehrungsAnzahl to "1"
set AusfuehrungsModus to "Monatlich am 1."
set ScheckAn to ""
set ScheckOrt to ""
set scheckNummer to ""
set MemoText to ""
set Textschluessel to ""

set importText to ¬
  Art & tab & ¬
  AusgabeForm & tab & ¬
  Unterart & tab & ¬
  EigenIDName & tab & ¬
  EigenBLZ & tab & ¬
  Eigenkontonummer & tab & ¬
  EigenName & tab & ¬
  FremdIDName & tab & ¬
  FremdBLZ & tab & ¬
  Fremdkontonummer & tab & ¬
  FremdName & tab & ¬
  Verwendungszweck & tab & ¬
  Betrag & tab & ¬
  DatumAngelegt & tab & ¬
  DatumAusfuehrGeplant & tab & ¬
  DatumAusfuehrSpaet & tab & ¬
  DatumAusgefuehrt & tab & ¬
  DatumMitSkonto & tab & ¬
  DatumGebucht & tab & ¬
  DatumWertstellung & tab & ¬
  SkontoInDM & tab & ¬
  Skonto & tab & ¬
  Mehrfachausfuehrung & tab & ¬
  AusfuehrungsAnzahl & tab & ¬
  AusfuehrungsModus & tab & ¬
  ScheckAn & tab & ¬
  ScheckOrt & tab & ¬
  scheckNummer & tab & ¬
  MemoText & tab & ¬
  Textschluessel

tell application "MacGiro 12"
  create transfer importText
end tell

07 - SEPA-Überweisung anlegen

set Art to "EU/SEPA-Überweisung"
set Ausgabe to "HBCI"
set Unterart to "SEPA"
set Eigenkonto to "Mai"
set FremdkontoBLZ to "HAMPDE99"
set Fremdkontonummer to "DE87123456781234567890"
set Fremdkontoinhaber to "Mustermann"
set Verwendungszweck to "Rechnung 12789-34"
set Betrag to "EUR 1234,76"
set Geplant to ""
set EndeZuEndeReferenz to "8902438903248"

set LeerFelder to tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & ¬
  tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & ¬
  tab & tab & tab & tab & tab & tab & tab & tab & tab & tab

set importText to ¬
  Art & tab & ¬
  Ausgabe & tab & ¬
  Unterart & tab & ¬
  Eigenkonto & tab & ¬
  tab & ¬
  tab & ¬
  tab & ¬
  tab & ¬
  FremdkontoBLZ & tab & ¬
  Fremdkontonummer & tab & ¬
  Fremdkontoinhaber & tab & ¬
  Verwendungszweck & tab & ¬
  Betrag & tab & ¬
  tab & ¬
  Geplant & tab & ¬
  LeerFelder & ¬
  EndeZuEndeReferenz

tell application "MacGiro 12"
  create transfer importText
end tell

08 - SEPA-Lastschrift anlegen

set Art to "SEPA-Lastschrift"
set Ausgabe to "HBCI"
set Unterart to "SEPA"
set Eigenkonto to "Mai"
set FremdkontoBLZ to "HAMPDE99"
set Fremdkontonummer to "DE87123456781234567890"
set Fremdkontoinhaber to "Mustermann"
set Verwendungszweck to "Rechnung 12789-34"
set Betrag to "EUR 1234,76"
set Geplant to "24.03.2019"
set EndeZuEndeReferenz to "8902438903248"
set MandatsID to "789740"
set MandatsDatum to "20.03.2019"
set MandatsArt to "4"

set LeerFelder to tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & ¬
  tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & ¬
  tab & tab & tab & tab & tab & tab & tab & tab & tab & tab

set importText to ¬
  Art & tab & ¬
  Ausgabe & tab & ¬
  Unterart & tab & ¬
  Eigenkonto & tab & ¬
  tab & ¬
  tab & ¬
  tab & ¬
  tab & ¬
  FremdkontoBLZ & tab & ¬
  Fremdkontonummer & tab & ¬
  Fremdkontoinhaber & tab & ¬
  Verwendungszweck & tab & ¬
  Betrag & tab & ¬
  tab & ¬
  Geplant & tab & ¬
  LeerFelder & ¬
  EndeZuEndeReferenz & tab & ¬
  MandatsID & tab & ¬
  MandatsDatum & tab & ¬
  MandatsArt

tell application "MacGiro 12"
  create transfer importText
end tell

09 - SEPA-Lastschrift auf Termin anlegen

set Art to "SEPA-Lastschrift"
set Ausgabe to "HBCI"
set Unterart to "Termin-SEPA (Sammler)"
set Eigenkonto to "Mai"
set FremdkontoBLZ to "HAMPDE99"
set Fremdkontonummer to "DE87123456781234567890"
set Fremdkontoinhaber to "Mustermann"
set Verwendungszweck to "Rechnung 12789-34"
set Betrag to "EUR 1234,76"
set Geplant to "30.04.2019"
set bankAusfuehrungsDatum to "02.05.2019"
set EndeZuEndeReferenz to "8902438903248"
set MandatsID to "789740"
set MandatsDatum to "25.03.2019"
set MandatsArt to "4"

set LeerFelder1 to tab & tab & tab & tab & tab & tab & tab & tab & tab & tab & ¬
  tab & tab & tab & tab & tab & tab & tab & tab & tab & tab &  ¬
  tab & tab & tab & tab & tab & tab & tab & tab 
set LeerFelder2 to tab & tab & tab & tab

set importText to ¬
  Art & tab & ¬
  Ausgabe & tab & ¬
  Unterart & tab & ¬
  Eigenkonto & tab & ¬
  tab & ¬
  tab & ¬
  tab & ¬
  tab & ¬
  FremdkontoBLZ & tab & ¬
  Fremdkontonummer & tab & ¬
  Fremdkontoinhaber & tab & ¬
  Verwendungszweck & tab & ¬
  Betrag & tab & ¬
  tab & ¬
  Geplant & tab & ¬
  LeerFelder1 & ¬
  bankAusfuehrungsDatum & tab & ¬
  LeerFelder2 & ¬
  EndeZuEndeReferenz & tab & ¬
  MandatsID & tab & ¬
  MandatsDatum & tab & ¬
  MandatsArt

tell application "MacGiro 12"
  create transfer importText
end tell

10 - Vorlage anlegen

set VorlagenName to "Mai Rechnung"
set insMenue to "Ja"
set Art to "Gutschrift"
set AusgabeForm to "Papier"
set UnterArt to ""
set EigenIDName to "Mai"
set EigenBLZ to "899 999 99"
set EigenKontonummer to "1234"
set EigenName to "Michaela Mai"
set FremdIDName to "Mustermann"
set FremdBLZ to "899 999 99"
set FremdKontonummer to "121212"
set FremdName to "Erika Mustermann"
set Verwendungszweck to "Rechnung 10/95 vom 15.10.1995"
set Betrag to "575,20"
set DatumAngelegt to "16.10.1995"
set DatumAusfuehrGeplant to "23.10.1995"
set DatumAusfuehrSpaet to "30.10.1995"
set DatumAusgefuehrt to ""
set DatumMitSkonto to "23.10.1995"
set DatumGebucht to ""
set DatumWertstellung to ""
set SkontoInDM to "FALSCH"
set Skonto to "3,0"
set MehrfachAusfuehrung to "FALSCH"
set AusfuehrungsAnzahl to "1"
set AusfuehrungsModus to ""
set ScheckAn to ""
set ScheckOrt to ""
set scheckNummer to ""
set MemoText to ""
set Textschluessel to ""

set importText to ¬
  VorlagenName & tab & ¬
  insMenue & tab & ¬
  Art & tab & ¬
  AusgabeForm & tab & ¬
  UnterArt & tab & ¬
  EigenIDName & tab & ¬
  EigenBLZ & tab & ¬
  EigenKontonummer & tab & ¬
  EigenName & tab & ¬
  FremdIDName & tab & ¬
  FremdBLZ & tab & ¬
  FremdKontonummer & tab & ¬
  FremdName & tab & ¬
  Verwendungszweck & tab & ¬
  Betrag & tab & ¬
  DatumAngelegt & tab & ¬
  DatumAusfuehrGeplant & tab & ¬
  DatumAusfuehrSpaet & tab & ¬
  DatumAusgefuehrt & tab & ¬
  DatumMitSkonto & tab & ¬
  DatumGebucht & tab & ¬
  DatumWertstellung & tab & ¬
  SkontoInDM & tab & ¬
  Skonto & tab & ¬
  MehrfachAusfuehrung & tab & ¬
  AusfuehrungsAnzahl & tab & ¬
  AusfuehrungsModus & tab & ¬
  ScheckAn & tab & ¬
  ScheckOrt & tab & ¬
  scheckNummer & tab & ¬
  MemoText & tab & ¬
  Textschluessel

tell application "MacGiro 12"
  create transfer stationary importText
end tell

11 - Transfers ausführen

tell application "MacGiro 12"
  execute transfers
end tell

12 - Umsätze lesen

tell application "MacGiro 12"
  check accounts with log file no
  delay 1
  with timeout of 1200 seconds
    repeat while (is busy)
      delay 2
    end repeat
  end timeout
  
  set zahlDerAbgleichDialoge to count balancing dialogs
  repeat with i from 1 to zahlDerAbgleichDialoge
    set zahlDerTransfers to count transfers in balancing dialog i
    repeat with j from 1 to zahlDerTransfers
      get transfer data from transfer j in balancing dialog i
      display dialog result
    end repeat
  end repeat
end tell

13 - Import MacGiro-XML mit Alias

set theAlias to ¬
  (choose file with prompt ¬
    "Bitte wählen Sie die XML-Datei zum Import aus:")
tell application "MacGiro 12"
  create objects theAlias
end tell

14 - Import MacGiro-XML mit Daten

set theXMLData to ¬
  "<?xml version=\"1.0\" encoding=\"x-mac-roman\"?>
  <MacGiro>
    <transfer_daten>
      <art>EU/SEPA-Überweisung</art>
      <ausgabe>HBCI</ausgabe>
      <unterart>SEPA</unterart>
      <eigenkonto>Mai</eigenkonto>
      <fremdkonto_blz>HASPDEHHXXX</fremdkonto_blz>
      <fremdkontonummer>DE47200505500000121212</fremdkontonummer>
      <fremdkontoinhaber>Erika Mustermann</fremdkontoinhaber>
      <verwendungszweck>Rechnung 17554</verwendungszweck>
      <betrag_eur>123,45</betrag_eur>
    </transfer_daten>
  </MacGiro>"

tell application "MacGiro 12"
  create objects theXMLData
end tell

15 - Import SEPA-XML

set theAlias to ¬
  (choose file with prompt ¬
    "Bitte wählen Sie die SEPA-XML-Datei zum Import aus:")
tell application "MacGiro 12"
  create objects theAlias type is SEPA yes
end tell

16 - Überweisung aus Rechnung

set theAlias to ¬
  (choose file with prompt ¬
    "Bitte wählen Sie die Rechnung aus:")
tell application "MacGiro 12"
  read invoice theAlias
end tell

17 - Importiere CSV

set theAlias to ¬
  (choose file with prompt ¬
    "Bitte wählen Sie die Datei zum Import aus:")
tell application "MacGiro 12"
  import booked transfers theAlias options file "/Pfad/Zu/meineImportOptionen.mgimport" own account name "Mai"
end tell

18 - Suche Transfers

-- Suche alle SEPA-Überweisungen ab 1.1.2021 im Kontobuch für Konto Mai mit Betrag größer 1000,00 und Verwendungszweck beinhaltet rechnung
tell application "MacGiro 12"
  set dateRange to {from date:"1.1.2021"}
  set searchOptions to {¬
    account:"Mai", ¬
    kind:"EU/SEPA-Überweisungen",¬
    form:"HBCI",¬
    date range:dateRange, ¬
    match only one extended option:false, ¬
    extended options:[¬
      {¬
        field:"Betrag (Soll)",¬
        operator:"ist größer",¬
        value:"1000,00"¬
      }, ¬
      {¬
        field:"verwendungszweck",¬
        operator:"beinhaltet",¬
        value:"rechnung"¬
      }¬
    ]¬
  }
  search transfers searchOptions
end tell

19 - Übergebe Transfers

-- CSV-Text aller SEPA-Überweisungen ab 1.1.2021 im Kontobuch für Konto Mai mit Betrag größer 1000,00 und Verwendungszweck beinhaltet rechnung
tell application "MacGiro 12"
  set dateRange to {from date:"1.1.2021"}
  set searchOptions to {¬
    account:"Mai", ¬
    kind:"EU/SEPA-Überweisungen",¬
    form:"HBCI",¬
    date range:dateRange, ¬
    match only one extended option:false, ¬
    extended options:[¬
      {¬
        field:"Betrag (Soll)",¬
        operator:"ist größer",¬
        value:"1000,00"¬
      }, ¬
      {¬
        field:"verwendungszweck",¬
        operator:"beinhaltet",¬
        value:"rechnung"¬
      }¬
    ]¬
  }
  set csvText to (get transfers searchOptions result format csv text with header)
end tell

20 - Datenbank schließen

tell application "MacGiro 12"
  close database saving ask
end tell

21 - MacGiro beenden

tell application "MacGiro 12"
  quit saving ask
end tell
Import- und Export

Beschreibung der Import- und Export-Schnittstelle.

AppleEvents

Beschreibung der AppleEvent-Schnittstelle.

XML-Schnittstelle

Beschreibung der XML-Schnittstelle.

AppleScript-Beispiele

Einige Beispiele für AppleScript.

FileMaker-Beispiel

Beispiel-Beschreibung zur Anbindung an FileMaker.