Neste artigo, irá aprender a carregar recibos em formato PDF na RetailForce Cloud utilizando o client fiscal (quando se recorre à fiscalização) e a obter um link para que o seu cliente possa descarregar/aceder aos recibos.
Esta funcionalidade está disponível a partir da versão 1.2 do client e oferece uma capacidade offline correspondente para o recibo digital.
Atenção: Se não utilizar a fiscalização, a chamada terá de ser configurada de forma diferente; por favor, leia o artigo «Transferência de recibos digitais através do client fiscal».
Para utilizar esta função, a licença do Recibo Digital (produto completo) deve estar ativada na configuração do respetivo client.
Atenção: Para que o sistema consiga ler os metadados do documento fiscal, este deve ser transmitido ao client fiscal ANTES de os métodos seguintes serem chamados.
Utilização através do FiscalClient/FiscalService
Ao utilizar o FiscalClient, estão disponíveis os seguintes 2 métodos para a transferência de recibos digitais:
Método utilizando o nome do ficheiro
/// <summary>
/// Uploads digital receipt with digital receipt metadata.
/// </summary>
/// <param name="uniqueClientId">The client id of the client where the digital receipt should be uploaded.</param>
/// <param name="filename">The name of the file to be uploaded. The file must exist and must be readable.</param>
/// <param name="documentGuid">The document guid of the document to get the receipt meta data. Document must be transferred before to fiscalisation.</param>
/// <returns>A unique url to download the file for the customer.</returns>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="uniqueClientId"/> is set to <see cref="Guid.Empty"/>.</exception>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="filename"/> is null or <see cref="string.Empty"/>.</exception>
/// <exception cref="FileNotFoundException">Thrown if given filename is not found.</exception>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="documentGuid"/> is set to <see cref="Guid.Empty"/>.</exception>
/// <exception cref="UnauthorizedAccessException"><paramref name="filename" /> specified a directory.-or- The caller does not have the required permission. </exception>
/// <exception cref="IOException">An I/O error occurred while opening the file. </exception>
public string UploadDigitalReceipt(Guid uniqueClientId, string filename, Guid documentGuid)
Esta função permite-lhe carregar o recibo digital utilizando um ficheiro no disco rígido (nome do ficheiro).
Parâmetros
- uniqueClientId: o ID único do cliente fiscal.
- filename: o nome do ficheiro (incluindo o caminho) do ficheiro PDF a carregar.
- documentGuid: o GUID do documento fiscal (Document.DocumentGuid)
Valor de retorno: URL para visualização.
Método de streaming
/// <summary>
/// Uploads digital receipt with digital receipt metadata.
/// </summary>
/// <param name="uniqueClientId">The client id of the client where the digital receipt should be uploaded.</param>
/// <param name="file">The stream of the file to be uploaded.</param>
/// <param name="documentGuid">The document guid of the document to get the receipt meta data. Document must be transferred before to fiscalisation.</param>
/// <returns>A unique url to download the file for the customer.</returns>
/// <remarks>You can only use documents from the actual day.</remarks>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="uniqueClientId"/> is set to <see cref="Guid.Empty"/>.</exception>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="file"/> is set to null.</exception>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="documentGuid"/> is set to <see cref="Guid.Empty"/>.</exception>
public string UploadDigitalReceipt(Guid uniqueClientId, Stream file, Guid documentGuid)
Com esta função, pode carregar o recibo digital através da transferência de um stream de ficheiros (ou streams).
Parâmetros
- uniqueClientId: o ID único do cliente fiscal.
- file: o stream com o conteúdo do ficheiro PDF (o stream deve estar no início)
- documentGuid: o GUID do documento fiscal (Document.DocumentGuid)
Valor de retorno: URL para visualização.
Utilização através da implementação do nuget
Ao utilizar a implementação direta do Fiskaclient (TrustedFiscalModule) com o nuget, está disponível apenas um método com FileStream:
/// <summary>
/// Upload digital receipt (if proper license exists). Only in combination with fiscalisation.
/// </summary>
/// <param name="file">The file to upload.</param>
/// <param name="documentGuid">The document guid of the document to get the receipt meta data. Document must be transferred before to fiscalisation.</param>
/// <returns>An url to request the file in the cloud.</returns>
/// <remarks>You can only use documents from the actual day.</remarks>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="file"/> is set to null.</exception>
/// <exception cref="ArgumentNullException">Thrown if parameter <paramref name="documentGuid"/> is set to <see cref="Guid.Empty"/>.</exception>
/// <exception cref="KeyNotFoundException">Thrown if the given documentGuid does not found a document in the document store.</exception>
public string UploadDigitalReceipt(Stream file, Guid documentGuid)
Com esta função, pode carregar o recibo digital através da transferência de um fluxo de ficheiros (ou streams).
Parâmetros
- file: o stream com o conteúdo do ficheiro PDF (o stream deve estar no início)
- documentGuid: o GUID do documento fiscal (Document.DocumentGuid)
Valor de retorno: URL para visualização.
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.