Skip to end of metadata
Go to start of metadata

 

Description

You can use some kind of Variables in eSignatureOffice, there are 2 Kinds of variables:

  • External-Variables, which must be set as Startparameter or in the Input-XML
  • Document-Variables, are Values which will be read from the PDF-Document while runtime
  • Stamp-Variables, are predefined Values

These Variables allows you to make the Workflow more flexible, for example if the Text which should be shown in the Stamp or on the Pad-Display should have Values from the Document it self.

External-Variables

Input

The External-Variables can be set as Startparameter, by using -varN=<Value> The N stands for a number, so you can use more than only 1 variable

Parameter-Sample:

C:\Program Files (x86)\StepOver\...\SOSigOffice.exe "C:\Test\Mustermann.pdf" -VAR1=Max -VAR2=Mustermann -VAR3=Max@Mustermann.de

 

In case you are using the XML as Input you can define the variables in it by using the <varN> tag. The N stands for a number, so you can use more than only 1 variable

XML-Sample:

<var>
    <var1>Max</var1>
    <var2>Mustermann</var2>
    <var3>Max@Mustermann.de</var3>
</var>

Usage:

To use a given Variable in eSignatureOffice you have to surround the VARN with [ ]. The N is the number.

For example:

C:\Temp\[VAR1]\FIles\[VAR2].pdf 

using the variables defined as start parameter or xml-tag the filename is changed to

C:\Temp\Max\FIles\Mustermann.pdf 


 

Document-Variables

The Document-Variables can be set by the Magnifying Glass besides some text fields, like the external variables the document variables are surrounded with [ ].

Short Type (until 4.10)

[F:"<Suchtext>":<Zeichen>:W]

F:suche nach einem PDF-Form Feld, wenn nicht vorhanden dann ganz normale Textsuche
:Wwenn am Ende vorhanden dann wird das Suchergebnis von Leerzeichen am Beginn/Ende befreit und das erste Wort im Ergebnis zurückgeliefert
"<Suchtext>"Text nach dem gesucht werden soll (immer vorhanden)
:<Zeichen>maximale Anzahl Zeichen die nach dem Suchtext im Ergebnis sein dürfen (immer vorhanden)

Extended Type

[F:"<Suchtext>":<Danach>:"<StopText>":<Davor>:"<Default>":E"<Exchange>":W:D:T:N]

F:suche nach einem PDF-Form Feld, wenn nicht vorhanden dann ganz normale Textsuche
:Wwenn am Ende vorhanden dann wird das Suchergebnis von Leerzeichen am Beginn/Ende befreit und das erste Wort im Ergebnis zurückgeliefert
:Dwenn am Ende vorhanden dann wird auch ein leerer Defaultstring verwendet
:Twenn am Ende wird bei Gefundenemen Text der Exchangetext verwendet.
:Nwenn am Ende vorhanden dann wird diese Suche nicht vorab ausgeführt sondern dann wenn der Wert benötigt wird (ab V4.12)
"<Suchtext>"Text nach dem gesucht werden soll (immer vorhanden)
:<Danach>maximale Anzahl Zeichen die nach dem Suchtext im Ergebnis sein dürfen (immer vorhanden)
:"<StopText>"Begrenzungstext bis/ab welchem das Ergebnis beschnitten wird (optional)
:<Davor>

maximale Anzahl Zeichen die vor dem Suchtext im Ergebnis sein dürfen (optional)

:"<Default>"optional, sofern vorhanden wird, wenn der Text nicht gefunden wurde (leer) dieser Wert verwendet
:E"<Exchange>"optional, sofern vorhanden wird, wenn der Text gefunden wurde dieser Wert verwendet

mindestens einer <Davor> oder <Danach> muss größer 1 sein, Stopptest darf auch "" sein (leer).

Bsp:

der Text "Dies ist ein Beispiel der Text-Suche" wird durchsucht mit folgendem Definition

["ein":18:"Text":4:W]

die suche nach "ein", 4 Zeichen davor und 18 Zeichen danach liefert "ist  Beispiel der Text"

Der Stopptest ist nach dem Suchtext also wird daraus dann "ist ein  Beispiel der"

Das nächste Wort ist dann "Beispiel" das dann auch als Ergebnis verwendet wird.

ZUGFeRD Type

ZUGFeRD ist eine standartisierte Form der elektronischen Rechnungsstellung (siehe https://de.wikipedia.org/wiki/ZUGFeRD )

Dazu wird in einem PDF/A3 Dokument eine XML-Datei "ZUGFeRD-invoice.xml" eingebettet. Der Inhalt dieser XML Datei kann

in eSignatureOffice verwendet werden. CID = CrossIndustryDocument (Wurzelobject im xml).

[CID:"<Suchtext>":"<Default>":E"<Exchange>"].

"<Suchtext>"Text nach dem gesucht werden soll (immer vorhanden)
:"<Default>"

optional, sofern vorhanden wird, wenn der Text nicht gefunden wurde (leer) dieser Wert verwendet

(Neu in eSO V5.6)

:E"<Exchange>"

optional, sofern vorhanden wird, wenn der Text gefunden wurde dieser Wert verwendet

(Neu in eSO V5.6)

Die folgenden Suchtexte sollten als Anhaltspunkt dienen. Die einzelnen Äste und Blätter der Baumstruktur werden durch "/" getrennt.

Es kann sowohl der komplette Pfad angegeben werden oder einen Teil des Pfades (im folgenden als Beispiel Gesammtsumme). die vor den Informationen befindlichen

"ram:","rsm:","udt:" brauchen nicht angegeben werden.

 

SuchtextBeschreibung
/SpecifiedSupplyChainTradeTransaction/ApplicableSupplyChainTradeSettlement/SpecifiedTradeSettlementMonetarySummation/GrandTotalAmount

Kompletter Pfad

Gesammtsumme, das zugehörige Attribut "CurrencyID" wird angehängt sodaß ein GesammtBetrag erscheint z.B: "64.33 EUR"

GrandTotalAmountGesammtsumme
HeaderExchangedDocument/IDRechnungsnummer
BuyerTradeParty/IDKundennummer

PostalTradeAddress

Kundenadresse, alles was darunter ist wird verwendet

(PostCode,Lineone,Cityname)

PostalTradeAddress/LineOne

PostalTradeAddress/PostcodeCode

PostalTradeAddress/CityName

einzelne Daten der Postalischen Adresse des Kunden
BuyerReferenceBestellnummer
SpecifiedTradePaymentTerms/DescriptionZahlungsbedingungen

Es gibt noch viel mehr Informationen die in der XML Datei eingebetten sind, hier einmal ein Beispiel dazu

Beispiel für ZUGFeRD-invoice.xml
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rsm="urn:ferd:CrossIndustryDocument:invoice:1p0" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15">
  <rsm:SpecifiedExchangedDocumentContext>
    <ram:TestIndicator>
      <udt:Indicator>true</udt:Indicator>
    </ram:TestIndicator>
    <!-- Im Echtbetrieb muss der TestIndicator entweder vollständig entfallen oder auf false stehen. -->
    <ram:GuidelineSpecifiedDocumentContextParameter>
      <ram:ID>urn:ferd:CrossIndustryDocument:invoice:1p0:basic</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
  </rsm:SpecifiedExchangedDocumentContext>
  <rsm:HeaderExchangedDocument>
    <ram:ID>471102</ram:ID>
    <ram:Name>RECHNUNG</ram:Name>
    <ram:TypeCode>380</ram:TypeCode>
    <ram:IssueDateTime>
      <udt:DateTimeString format="102">20130305</udt:DateTimeString>
    </ram:IssueDateTime>
    <ram:IncludedNote>
      <ram:Content>Rechnung gemäß Bestellung vom 01.03.2013.</ram:Content>
    </ram:IncludedNote>
    <ram:IncludedNote>
      <ram:Content>Lieferant GmbH                
Lieferantenstraße 20                
80333 München                
Deutschland                
Geschäftsführer: Hans Muster
Handelsregisternummer: H A 123
</ram:Content>
    </ram:IncludedNote>
    <ram:IncludedNote>
      <ram:Content>Unsere GLN: 4000001123452
Ihre GLN: 4000001987658
Ihre Kundennummer: GE2020211


Zahlbar innerhalb 30 Tagen netto bis 04.04.2013, 3% Skonto innerhalb 10 Tagen bis 15.03.2013.</ram:Content>
    </ram:IncludedNote>
  </rsm:HeaderExchangedDocument>
  <rsm:SpecifiedSupplyChainTradeTransaction>
    <ram:ApplicableSupplyChainTradeAgreement>
      <ram:SellerTradeParty>
        <ram:Name>Lieferant GmbH</ram:Name>
        <ram:PostalTradeAddress>
          <ram:PostcodeCode>80333</ram:PostcodeCode>
          <ram:LineOne>Lieferantenstraße 20</ram:LineOne>
          <ram:CityName>München</ram:CityName>
          <ram:CountryID>DE</ram:CountryID>
        </ram:PostalTradeAddress>
        <ram:SpecifiedTaxRegistration>
          <ram:ID schemeID="FC">201/113/40209</ram:ID>
        </ram:SpecifiedTaxRegistration>
        <ram:SpecifiedTaxRegistration>
          <ram:ID schemeID="VA">DE123456789</ram:ID>
        </ram:SpecifiedTaxRegistration>
      </ram:SellerTradeParty>
      <ram:BuyerTradeParty>
        <ram:Name>Kunden AG Mitte</ram:Name>
        <ram:PostalTradeAddress>
          <ram:PostcodeCode>69876</ram:PostcodeCode>
          <ram:LineOne>Hans Muster</ram:LineOne>
          <ram:LineTwo>Kundenstraße 15</ram:LineTwo>
          <ram:CityName>Frankfurt</ram:CityName>
          <ram:CountryID>DE</ram:CountryID>
        </ram:PostalTradeAddress>
      </ram:BuyerTradeParty>
    </ram:ApplicableSupplyChainTradeAgreement>
    <ram:ApplicableSupplyChainTradeDelivery>
      <ram:ActualDeliverySupplyChainEvent>
        <ram:OccurrenceDateTime>
          <udt:DateTimeString format="102">20130305</udt:DateTimeString>
        </ram:OccurrenceDateTime>
      </ram:ActualDeliverySupplyChainEvent>
    </ram:ApplicableSupplyChainTradeDelivery>
    <ram:ApplicableSupplyChainTradeSettlement>
      <ram:PaymentReference>2013-471102</ram:PaymentReference>
      <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
      <ram:SpecifiedTradeSettlementPaymentMeans>
        <ram:PayeePartyCreditorFinancialAccount>
          <ram:IBANID>DE08700901001234567890</ram:IBANID>
        </ram:PayeePartyCreditorFinancialAccount>
        <ram:PayeeSpecifiedCreditorFinancialInstitution>
          <ram:BICID>GENODEF1M04</ram:BICID>
        </ram:PayeeSpecifiedCreditorFinancialInstitution>
      </ram:SpecifiedTradeSettlementPaymentMeans>
      <ram:ApplicableTradeTax>
        <ram:CalculatedAmount currencyID="EUR">37.62</ram:CalculatedAmount>
        <ram:TypeCode>VAT</ram:TypeCode>
        <ram:BasisAmount currencyID="EUR">198.00</ram:BasisAmount>
        <ram:ApplicablePercent>19.00</ram:ApplicablePercent>
      </ram:ApplicableTradeTax>
      <ram:SpecifiedTradeSettlementMonetarySummation>
        <ram:LineTotalAmount currencyID="EUR">198.00</ram:LineTotalAmount>
        <ram:ChargeTotalAmount currencyID="EUR">0.00</ram:ChargeTotalAmount>
        <ram:AllowanceTotalAmount currencyID="EUR">0.00</ram:AllowanceTotalAmount>
        <ram:TaxBasisTotalAmount currencyID="EUR">198.00</ram:TaxBasisTotalAmount>
        <ram:TaxTotalAmount currencyID="EUR">37.62</ram:TaxTotalAmount>
        <ram:GrandTotalAmount currencyID="EUR">235.62</ram:GrandTotalAmount>
      </ram:SpecifiedTradeSettlementMonetarySummation>
    </ram:ApplicableSupplyChainTradeSettlement>
    <ram:IncludedSupplyChainTradeLineItem>
      <ram:AssociatedDocumentLineDocument />
      <ram:SpecifiedSupplyChainTradeDelivery>
        <ram:BilledQuantity unitCode="C62">20.0000</ram:BilledQuantity>
      </ram:SpecifiedSupplyChainTradeDelivery>
      <ram:SpecifiedSupplyChainTradeSettlement>
        <ram:SpecifiedTradeSettlementMonetarySummation>
          <ram:LineTotalAmount currencyID="EUR">198.00</ram:LineTotalAmount>
        </ram:SpecifiedTradeSettlementMonetarySummation>
      </ram:SpecifiedSupplyChainTradeSettlement>
      <ram:SpecifiedTradeProduct>
        <ram:GlobalID schemeID="0160">4012345001235</ram:GlobalID>
        <ram:SellerAssignedID>TB100A4</ram:SellerAssignedID>
        <ram:Name>GTIN: 4012345001235
Unsere Art.-Nr.: TB100A4
Trennblätter A4</ram:Name>
      </ram:SpecifiedTradeProduct>
    </ram:IncludedSupplyChainTradeLineItem>
  </rsm:SpecifiedSupplyChainTradeTransaction>
</rsm:CrossIndustryDocument>

 

 

 

 

Fortschrittsanzeige

Hat 3 Spalten: der zu suchende Begriff, das Ergebnis und der Status. Nur wenn alle Suchbegriffe eine Ergebnis haben wird der Bestätigungsbutton freigeschaltet.

StatusBeschreibung
Suchbegriff wurde im Text nicht gefunden, es wurde auch kein Standard-Text hinterlegt, so daß nun der Benutzer das Ergebnis angeben muss
Suchbegriff wurde im Text nicht gefunden oder das Ergebnis ist leer, es wurde der Standard-Text verwendet
Suchbegriff wurde im Text gefunden, Ergebnis eingetragen
Suche läuft gerade, noch nichts gefunden

Suchbegriff wurde gefunden, allerdings ist das Ergebnis leer, es wurde auch kein Standard-Text hinterlegt, so daß nun Benutzer das Ergebnis angeben muss

Bei der Suche ist ein schwerer Fehleraufgetreten, so daß nun Benutzer das Ergebnis angeben muss

Stamp-Variables

The following Variables could be used in Stamp-Settings (globally or in signature set)

TextDescription
[Signer]from default or dialog the Signer of this document
[Reason]from default or dialog the Reason of signing
[Location]from default or dialog the Location of signing
[Time]actual Time in the Format 'c' : <Day>.<Month>.<Year> <Hour>:<Minute>
[Copyright]the Copyright
[Date:<Format>]the actual Date, following the double-point is the date/time format string

[User]
 

Login Username

[SignCount]
 

Number of signatures in this document
[SignValid]Number of valid signatures done in this document
[SignNotValid Number of invalid / erroneous signatures in this document
[FilePath]filename and path of the source document (f.e. "C:\1.pdf" )
[FileExt]only the filename of the source document (f.e. "1.pdf" ) without the path
[File]only the filename without path and extention (f.e. "1" )
[FileDir]

Path without filename including trailing "\"
[FileDrive]Drivename including trailing "\"
[FileExtention] Extension of the filename (do not mix up with [FileExt] = Filename with extention)

Date/Time Format String

Text (not case sensitive)Description
'' (empty string)Displays like 'c'
c

Date using the format given by the DD.MM.YY (Germany), followed by the time using the format HH:MM.

The time is not displayed if the date-time value indicates midnight precisely.

dDay as a number without leading zero (1-31)
ddDay as a number with a leading zero (01-31).
dddWeekday as an abbreviation (Son,Mon ... Sam)
ddddWeekday as a full name (Sonntag,Montag ... Samstag)
dddddDate in DD.MM.YY
ddddddDate in lon format
eDisplays the year in the current period/era as a number without a leading zero (Japanese, Korean and Taiwanese locales only).
eeDisplays the year in the current period/era as a number with a leading zero (Japanese, Korean and Taiwanese locales only).
gDisplays the period/era as an abbreviation (Japanese and Taiwanese locales only)
ggDisplays the period/era as a full name. (Japanese and Taiwanese locales only).
mmonth as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mmmonth as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mmmDisplays the month as an abbreviation (Jan-Dez)
mmmmmonth as a full name (Januar-Dezember)
yyyear as a two-digit number (00-99).
yyyyyear as a four-digit number (0000-9999).
hhour without a leading zero (0-23).
hhhour with a leading zero (00-23).
nMinute without a leading zero (0-59).
nnminute with a leading zero (00-59).
ssecond without a leading zero (0-59).
sssecond with a leading zero (00-59)
zmillisecond without a leading zero (0-999).
zzzmillisecond with a leading zero (000-999).
ttime using the format hh:mm
tttime using the long format

am/pm

Am/Pm

AM/PM

Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon,

and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case,

and the result is displayed accordingly.

a/p

Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon,

and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.

ampmUses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon.
/date separator character
:time separator character

'hh:mm'

"dd.mm.yyy"

Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting.

 Example:

[Date:hh:nn:ss]  -->  08:58:50
[Date:dd/mm/yyyy]  -->  16.11.2015
[Date:dd.mm.yy hh:mm:ss] --> 16.11.15 08:58:50
[Date:dddd dd of mmmm yyyy] --> Monday 16 of November 2015

 

 

 

  • No labels