Para realizar o impressão de uma NFSe ou RPS no formato .pdf podemos utilizar três métodos disponíveis na interface do Manager Client, são eles:
- ImprimirNFSePorHandle
- ImprimirNFSePorNumero
- ImprimirNFSePorRPS
Todos utilizam a mesma interface de retorno. Seguem abaixo os detalhes dos métodos e de seus retornos.
Detalhes ImprimirNFSePorHandle
Função: Realiza a impressão de uma NFS-e ou um RPS utilizando o identificador do registro no banco de dados do Manager SaaS/EDoc. Caso o RPS não tenha sido autorizado a nota será impressa no modelo RPS , caso o mesmo já esteja autorizado a nota será impressa no modelo NFSe.
Classe: TspdNFSeClientX
Método: ImprimirNFSePorHandle
Tipo Retorno: spdRetImpressaoX
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aHandle | Texto | Sim |
Número do identificador único da NFS-e no banco de dados do Manager SaaS/EDoc.
Observação: o handle é informado no retorno do envio do RPS. |
aQuantidade | Texto | Sim |
Quantidade de cópias da impressão. |
aImpressora | Texto | Sim |
Nome da impressora. |
Detalhes ImprimirNFSePorNumero
Função: Realiza a impressão de uma NFS-e ou um RPS através do número da NFS-e (fornecido após a prefeitura autorizar o RPS). Ou seja, somente notas AUTORIZADAS podem ser impressas por esse método.
Classe: TspdNFSeClientX
Método: ImprimirNFSePorNumero
Tipo Retorno: spdRetImpressaoX
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aNumNFSe | Texto | Sim |
Número da NFS-e autorizada retornado pelo WebService da prefeitura. |
aQuantidade | Texto | Sim |
Quantidade de cópias da impressão. |
aImpressora | Texto | Sim |
Nome da impressora. |
Detalhes ExportarNFSePorRPS
Função: Realiza a impressão de uma NFS-e ou um RPS através dos dados do RPS, deve-se observar que a nota será impressa em modelo RPS caso ainda não tenha sido autorizada. E após ser autorizada, será impressa apenas em modelo NFS-e.
Classe: TspdNFSeClientX
Método: ImprimirNFSePorRPS
Tipo Retorno: spdRetImpressaoX
Parâmetros aceitos:
Nome | Tipo | Obrigatório | Valor |
aNumRPS | Texto | Sim |
Número do RPS enviado ao WebService da prefeitura. |
aSerieRPS | Texto | Sim |
Série do RPS. |
aTipoRPS | Texto | Sim |
Tipo do RPS enviado. Exemplos: 1 - RPS (Padrão) 2 - Nota Fiscal Conjugada (Mista) 3 - Cupom |
aQuantidade | Texto | Sim |
Quantidade de cópias da impressão. |
aImpressora | Texto | Não |
Nome da impressora. |
Atenção!
- Caso o RPS não tenha sido autorizado, a impressão será no modelo RPS , caso o mesmo já esteja autorizado, a impressão será no modelo NFSe.
- Esse caso descrito no item acima se aplica aos métodos ImprimirNFSePorHandle e ImprimirNFSePorRPS.
Delphi
procedure TfrmExemplo.btnImprimirNFSePorHandleClick(Sender: TObject);
var
_Retorno: spdRetImpressaoX;
_Handle: string;
begin
if not InputQuery('Handle', 'Handle da Nota:', _Handle) then exit;
//Esse método imprime a nota através do Componente Manager Client
_Retorno := NFSe.ImprimirNFSePorHandle(_Handle,'1','nomeimpressora');
//Exibe o retorno no memo
memoRetorno.Clear;
if _Retorno.Status = Sucesso then
memoRetorno.Lines.Add('Mensagem: ' + _Retorno.Mensagem)
else
memoRetorno.Lines.Add('Erro: ' + _Retorno.NomeExcecao + ', ' + _Retorno.Mensagem);
end;
No exemplo acima utilizamos o método ImprimirNFSePorHandle, mas o processo e o tipo de retorno é exatamente o mesmo para os demais métodos, bastando trocar a linha do exemplo onde o _Retorno recebe seu valor.
Para o método ImprimirNFSePorNumero:
//Esse método imprime a nota através do Componente Manager Client
_Retorno := NFSe.ImprimirNFSePorNumero(_NumeroNFSe,'1','nomeimpressora');
Para o método ImprimirNFSePorRPS:
//Esse método imprime a nota através do Componente Manager Client
_Retorno := NFSe.ImprimirNFSePorRPS(_NumRPS,_SerieRPS,_TipoRPS,'1','nomeimpressora');
C#
private void ImprimirNFSe_Click(object sender, EventArgs e)
{
spdRetImpressaoX Retorno = null;
string Handle= InputBox("Handle da Nota", "Handle da Nota:", "");
if (Handle != "")
{
//Esse método imprime a NFSe através do Componente Manager Client
Retorno = NFSe.ImprimirNFSePorHandle(Handle,'1','nomeimpressora');
//Exibe o retorno do memo
if (Retorno.Status == spdManagerClientX.TStatus.Sucesso)
memoRetorno.Text = "Mensagem: " + Retorno.Mensagem + "\n";
else
memoRetorno.Text = "Erro: " + Retorno.NomeExcecao + ", " + Retorno.Mensagem;
}
}
Para o método ImprimirNFSePorNumero:
//Esse método imprime a NFSe através do Componente Manager Client
Retorno = NFSe.ImprimirNFSePorNumero(NumeroNFSe,'1','nomeimpressora');
Para o método ImprimirNFSePorRPS:
//Esse método imprime a NFSe através do Componente Manager Client
Retorno = NFSe.ImprimirNFSePorRPS(_NumRPS,_SerieRPS,_TipoRPS,'1','nomeimpressora');
Visual Basic 6
Private Sub btnImprimirNFSe_Click()
Dim Retorno As spdRetImpressaoX
Dim Handle As String
Chave = InputBox("Handle da Nota:", "Handle da Nota", "")
'Esse método imprime a NFSe através do Componente Manager Client
Set Retorno = NFSe.ImprimirNFSePorHandle(Handle,"1","nomeimpressora")
'Exibe o retorno do memo
If Retorno.Status = Sucesso Then
memoRetorno.Text = "Mensagem: " + Retorno.Mensagem + vbCrLf
Else
memoRetorno.Text = "Erro: " + Retorno.NomeExcecao + ", " + Retorno.Mensagem
End If
End Sub
Para o método ImprimirNFSePorNumero:
'Esse método imprime a NFSe através do Componente Manager Client
Set Retorno = NFSe.ImprimirNFSePorNumero(NumeroNFSe,"1","nomeimpressora")
Para o método ImprimirNFSePorRPS:
'Esse método imprime a NFSe através do Componente Manager Client
Set Retorno = NFSe.ImprimirNFSePorRPS(NumRPS,SerieRPS,TipoRPS,"1","nomeimpressora")
Retorno
O tipo spdRetImpressaoX possui os seguintes campos:
Campo | Tipo | Descrição |
Status | Constante | Retorna o status da operação: Sucesso ou Erro. |
NomeExcecao | Texto | Em caso de erro retorna a classe da Exception. |
Mensagem | Texto | Retorna a descrição da resposta do servidor. |
Comentários
0 comentário
Por favor, entre para comentar.