API browser of generalInvoiceRequest440 COM module


/images/arrow_right.png IGeneralInvoiceRequestManager::Print method
The Print method validates the defined invoice/reminder data and prints the request on the local printer. The printer selection is done via the used report generator template file. If the template file was not connected to a printer with the PrintSetup method then the default printer with its default settings is used.

The bstrPrintTemplate variable obeys a special syntax and can optionally be used to set special print commands like using electronic webstamps, producing PDFs or changing print object dynamically.


As a migration help there is a downgrade facility implemented that allows to override the generation of the default V440 printouts. The downgrade to V430 is natively implemented whereas the downgrade to lower versions (V400 and V410) is done by a delegation mechanism using the target version's COM module.

IMPORTANT LICENSE NOTE The report engine used is Hexatech's ViewPro (www.hexatech.com). If you supply your own template files then you must have your own ViewPro license. By using this COM module you implicitly agree upon this restriction!

space
 
/images/arrow_right.png C/C++ calling syntax
HRESULT Print( BSTR
YesNoType
YesNoType
YesNoType
long
BSTR
IAddress
long
BSTR
IGeneralInvoiceResult
VARIANT_BOOL
bstrPrintTemplate,
ePrintPreview,
eAddressRight,
eSortTimeTariff,
lEsrExcludeAttributes,
bstrSenderID,
*pIReceiverAddress,
*plTimestamp,
*pbstrUsedSchema,
**ppIGeneralInvoiceResult,
*pbStatus);
 
/images/arrow_right.png Calling argument description
[in] BSTR bstrPrintTemplate The bstrPrintTemplate is either empty or build as defined in "Syntax of the printTemplate variable".

If bstrPrintTemplate is empty then the default print template of the supplied data language (IGeneralInvoiceRequest::Initialize method) is used.

[in] YesNoType ePrintPreview A Boolean that defines if print preview is used (enYes) or printing is done (enNo)
[in] YesNoType eAddressRight A Boolean that defines on which side -left or right- the receiver address should be printed.

Note that currently only right-sided addressing is allowed. Therefore eAddressRight is internally always set to enYes.

[in] YesNoType eSortTimeTariff A Boolean that defines how the services are sorted:
  • primary axis: ascending date, secondary axis ascending tariff number (enYes)
  • primary axis: ascending tariff number, secondary axis ascending date (enNo)
[in] long lEsrExcludeAttributes This variable defines which principal parts of the ESR should not be printed. lEsrExcludeAttributes is a 32-bit integer where the possible excludes are values from the EsrExcludeAttributes data type and are ORed together to form the overall command.

This feature is necessary to exclude certain parts of the ESR data from printing due the pre-printed forms.

[in] BSTR bstrSenderID Short sender address identification or empty.

If set then the sender identification is printed atop of the receiver address as an alternative to the sender address on the envelop.

[in] IAddress *pIReceiverAddress An optional receiver address given via an IAddress interface.

This is used whenever the supplied insurance should be overridden as receiver by the supplied address. Note that the "inner" data is not affected or changed by this override.

[in, out] long *plTimestamp The timestamp of the XML document as epoch time (seconds elapsed since 1.1.1970) that is used as timestamp of the topmost object reference from that point on.

If the timestamp for the topmost object reference was already set (e.g. to produce a copy) then this same timestamp is returned.

PATCH: to ease migration issues downgrade to lower versions are handled by setting an input value of plTimestamp as:

  • lTimestamp = -223456780  -  enforce a downgrade to V430 natively
  • lTimestamp = -234567890  -  enforce downgrade to a lower version than V430.
[out] BSTR *pbstrUsedSchema The full XSD name that was used to generate the XML infoset.

In a standard situation this would be generalInvoiceRequest_440.xsd. However, a downgrade to generalInvoiceRequest_430.xsd or to an even lower version can be requested by using the *plTimestamp variable appropriately.

[out] IGeneralInvoiceResult **ppIGeneralInvoiceResult The IGeneralInvoiceResult interface handle that allows to get all loaded data back.
The handle is NULL if an error occurred.
[out, retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
 
/images/arrow_right.png C/C++ return value
S_OK This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
E_name This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.