Rechnungsbatch automatisieren (LC.WpfInterfaces)

Allgemeine Infos

Vorgang : 141808

Für das Drucken der Rechnungen wird ein Hauptserver (Grundlagenmanager) benötigt!

Mit folgendem Befehl den Rechnungsbatch starten


Batchfile

Mit folgendem Befehl den Rechnungsbatch starten:

LC.WpfInterfaces.exe /Config=\\hp470g9\POLLEX\LC.WpfInterface\Configs\InvoiceBatch.xml


Konfigurationsfile (XML)

XML File als Konfiguration mit folgendem Inhalt erstellen:

<?xml version="1.0" standalone="yes"?>
<ExecuteInvoiceBatch>
  <DB>DB</DB>
  <USER>SYSADM</USER>
  <PASSWORD>SYSADM</PASSWORD>

  <!-- [Loglevel]  Detailgrad für die Logging-Datei, Mögliche Werte: Full,Detail,Info,Warning,Error -->
  <Loglevel>Detail</Loglevel>

  <!-- The name of the profile to use for the invoice batch -->
  <BatchProfile>Profilname</BatchProfile>

  <!-- The name of the query to select the delivery notes to be invoiced -->
  <SqlQuery>Zyklus1</SqlQuery>

  <!-- Add the entered value to ToDeliveryDate -->
  <ToDeliveryDate>-2</ToDeliveryDate>
  
  <!--================================================================================-->
  <!--     Execute the scripts from system settings before select delivery notes      -->
  <!-- Note: The scripts set delivered will execute before the set approved statement -->
  <!--================================================================================-->

  <!-- Execute the script for set delivered in delivery notes statement -->
  <ExecuteSetDeliveryNotesDeliveredStatement>True</ExecuteSetDeliveryNotesDeliveredStatement>
  <!-- Execute the script for set approved in delivery notes statement -->
  <ExecuteSetDeliveryNotesApprovedStatement>True</ExecuteSetDeliveryNotesApprovedStatement>

  <!-- DirectDbConnect (True, False) 
         True = Direkte Datenbank-Verbindung / Import über WpfInterfaces
         False (Standard) = Import wird über LCService durchgeführt -->
  <DirectDbConnect>False</DirectDbConnect>

    <ProtocolEMail>protokoll@firma.at</ProtocolEMail>
    <SenderEMail>ImportInvoices@firma.at</SenderEMail>
    <SmtpServer>smtp.firma.com</SmtpServer>
    <SmtpUser>name@firma.at</SmtpUser>
    <SmtpPassword>12345678</SmtpPassword>
    <SmtpPortNumber>25</SmtpPortNumber>
    <SmtpUseSSL>True</SmtpUseSSL>
  
</ExecuteInvoiceBatch>


Konfigurationen

Das auszuwählende Profil muss dabei im Fenster Rechnungsbatch im Multiflex erstellt und konfiguriert werden. Optional kann ein SQL Statement ausgeführt werden oder die Statements aus dem Grundlagen Manager um “Ausgeliefert” und “Freigabe” bei Lieferscheinen zu setzen.

Logging

Vorgang 156960

Das Drucken der Rechnung auf Drucker sowie das Erstellen der PDF Datei für eInvoice kann über einen Grundlagen Werte Eintrag protokolliert werden.

insert into grundlagen_werte (name,wert) values ( 'PrintService_CreatePdfInvoice_Log','True' );
insert into grundlagen_werte (name,wert) values ( 'PrintService_PrintInvoice_Log','True' );

Im Verzeichnis C:\inetpub\wwwroot\LC.NET\Company\Logs\<DATENBANK>\PrintInvoice werden Informationen zum Druck der Rechnung und im Verzeichnis C:\inetpub\wwwroot\LC.NET\Company\Logs\<DATENBANK>\CreatePdfInvoice Informationen zum Erstellen der PDF Datei abgelegt.


Bekannte Probleme


Objektverweis-Fehler bei Ausführung Batch

Start executing invoice batch for profile: Travenetz...
Get delivery notes...
Error - Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Autostart failed!
An exception occured while executing interface! Please look in the log file from the specific interface!
Sending an EMail for information to test@test.at!
Error - Fehler beim Senden von Mail.
Error - There was an error sending EMail!

Lösung: Prüfen des Profilnamen und der Bezeichnung der SQL-Query in der XML-Datei zur Übereinstimmung mit den Bezeichnungen im Multiflex. Wird z.b. das SQL-Query falsch geschrieben oder existiert einfach nicht, dann kommt es zum Objektverweis-Fehler