Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 31-05-2016 em todas as áreas
-
Não se ler a NT vai ver que nem é previsto a impressão da Denegação e a impressão da teimosa danfe de cancelamento está errado! deve ter sim o evento que pode ser enviado em pdf para o cliente!2 pontos
-
Bom dia a todos, Estou fazendo a adaptação do meu sistema para conseguir gerar o arquivo do Bloco X referente ao estoque, mas o componente está retornando erro de Out of Memory quando eu tento gerar um arquivo com muitos produtos. O banco que eu estava gerando estava com 40 mil produtos, mas pelos meus testes esse erro já acontece quando temos em torno de 4 mil produtos. Eu alterei o componente para que ele fosse gravando o Xml em partes e tive sucesso nisso, mas não consegui assinar esse XML, ele dava a mensagem "erro ao carregar Xml", Pra homologação eu não devo ter problemas com isso porque vou levar um banco de dados com uma quantidade bem menor de produtos. Mas creio que possamos ter problemas quando isso entrar em produção porque os clientes costumam ter bancos de dados bem grandes. Obrigado1 ponto
-
Bom dia Senhores e Senhoritas. Então, fiz um ajuste na unit ACBrBancoCaixaSICOB, a mesma tinha uma divergência com relação ao manual nas posições: 224 - Código para baixa/devolução: Não baixar/não devolver: Esta fixo "2" fiz ajuste conforme a unit ACBrBancoCaixa; 225 a 227 - Prazo para baixa/devolução (em dias corridos) fiz ajuste conforme a unit ACBrBancoCaixa; Fiz esse ajuste baseado nos manuais e os dois tanto o SIGCB e o SICOOB tratam esses dois campos da mesma forma. Segue em anexo o arquivo. Muito Obrigado Fabiano Sehn ACBrBancoCaixaSICOB.pas1 ponto
-
Para enviar os arquivos, vejam http://anfm.blogspot.com.br/2016/05/blocox-paf-ecf-programa-de-exemplo-para.html Os fontes estão disponíveis no SVN do Projeto - https://sourceforge.net/p/acbr/code/HEAD/tree/trunk2/Projetos/ACBrBlocoXSign/1 ponto
-
Gostaria de saber onde fui grosseiro com o senhor, pois pedi "Por favor" para não criar tópicos sobre o mesmo assunto no fórum.1 ponto
-
Estou fechando o tópico. Um pouco desnecessário esse tipo de postagem, lembrando que qualquer usuário, moderador, administrador ou fundador, podem receber mensagens privadas, sem a necessidade de fazer com que o nosso fórum passe a ter conteúdos que fogem do nosso foco.1 ponto
-
Bloco U em anexo para avaliação. ACBrECFBloco_U.pas ACBrECFBloco_U_Class.pas1 ponto
-
Nossa solução utilizando o evento "AntesFinalizarRequisicao(Req: TACBrTEFDReq);" if MatchText(Req.Header, ['CRT', 'ADM', 'CNC']) then begin { Soma dos seguintes valores, identificando as funcionalidades suportadas pela Automação Comercial: 1: funcionalidade de troco (ver campo 708-000) 2: funcionalidade de desconto (ver campo 709-000) 4: valor fixo, sempre incluir 8: vias diferenciadas do comprovante para Cliente/Estabelecimento (campos 712-000 a 715-000) 16: cupom reduzido (campos 710-000 e 711-000) Caso este campo não seja informado pela Automação Comercial (versões anteriores), considera-se que nenhuma das funcionalidades é suportada. Importante: na certificação da CIELO, é exigido que a Automação Comercial implemente a funcionalidade de desconto. } if Tipo = gpTefDial then Req.GravaInformacao(706, 0, '15'); end; A via reduzida de impressão dentro do cupom pode ser informada como não suportada pela sua aplicação! Como os colegas aqui da ACBR falaram, em alguns estados é tanta coisa para imprimir nas observações, que é impossível adotar a via no cupom fiscal. E cuidado confundir via reduzida no cupom, com via completa "curta", são duas coisas diferentes.1 ponto
-
É muito simples. Se você consegue trabalhar com o código no FastReport (a versão que vem no Delphi não permite), mas uma versão que você compra por aí (leia-se pi...), você trabalha com o código. Para mim mesmo seria impossível trabalhar no Fast sem o código, pois eu trabalho muito com os eventos do relatório. Então no Código do boleto você mesmo cria a função. Vou lhe dar mastigado. procedure MDOnBeforePrint(Sender: TfrxComponent); begin // Banco 004 (Banco do Nordeste) - Imprime o Tipo de Operação no lugar da Carteira TituloCarteira.Text := IIF(<Banco."Numero"> = '004', CarteiraToTipoOperacao(<Titulo."Carteira">), <Titulo."Carteira">); end; function CarteiraToTipoOperacao(const Carteira: string): String; begin if Carteira = '1' then Result:= '21' else if Carteira = '2' then Result:= '41' else if Carteira = '4' then Result:= '21' else if Carteira = '5' then Result:= '41' else if Carteira = '6' then Result:= '31' else if Carteira = 'I' then Result:= '51' else Result:= Carteira;1 ponto
-
1 ponto
-
Bom dia. Não utilizo este gerador, porém você pode checar nos fontes se a função MontarCampoCarteira() está sendo utilizada na impressão do relatório. Att.1 ponto
-
Vinícius, Boa noite. Bem vindo então, rsrs, abandonamos o cobrebemx também. Bom, no retorno eu trato dessa maneira: procedure TfrmXTrataRetornoBancario.LerRetornoAcbr; var bErroACBr : boolean; i : Integer; begin if(cmbLocalCobranca.ItemIndex=-1) then begin MsgInfo('Selecione um local de cobrança primeiro'); Exit; end; bErroACBr := false; try ConfigACBr; // lembrando que quando configuro deixo a tag ACBrBoleto.LeCedenteRetorno := true; except bErroAcbr := true; MsgErro('Dados não foram inseridos corretamente no componente ACBr'); end; if(bErroAcbr) then Exit; // o arquivo pode estar em qualquer lugar. ACBrBoleto.DirArqRetorno := ExtractFilePath(txtArqRetorno.Text); // somente o nome do arquivo ACBrBoleto.NomeArqRetorno := ExtractFileName(txtArqRetorno.Text); // carrega na coleção ocorrencias de cobrança ACBrBoleto.LerRetorno; txtRegistros.Value := 0; for i := 0 to ACBrBoleto.ListadeBoletos.Count - 1 do begin gridPesquisa.RowCount := i + 2; gridPesquisa.Cells[0,i + 1] := IntToStr(i); gridPesquisa.Cells[1,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].NossoNumero; gridPesquisa.Cells[8,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].SeuNumero; gridPesquisa.Cells[9,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].NumeroDocumento; gridPesquisa.Cells[2,i + 1] := FormatDateTime('dd/mm/yyyy',ACBrBoleto.ListadeBoletos.Objects[i].DataCredito); gridPesquisa.Cells[3,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].Carteira; gridPesquisa.Cells[4,i + 1] := FormatDateTime('dd/mm/yyyy',ACBrBoleto.ListadeBoletos.Objects[i].DataOcorrencia); gridPesquisa.Cells[5,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].CodigoLiquidacao; gridPesquisa.Cells[6,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].CodigoLiquidacaoDescricao; gridPesquisa.Cells[7,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].Sacado.NomeSacado; if(ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido > 0) then gridPesquisa.Cells[10,i + 1] := 'SIM' else begin gridPesquisa.Cells[10,i + 1] := 'NAO'; gridPesquisa.Cells[2,i + 1] := ''; end; if(trim(gridPesquisa.Cells[6,i + 1]) = 'Compensação Eletrônica') then gridPesquisa.Cells[6,i + 1] := 'Comp.Eletrônica'; if(trim(gridPesquisa.Cells[2,i + 1]) = '') then gridPesquisa.Cells[6,i + 1] := ''; gridPesquisa.Cells[11,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido); gridPesquisa.Cells[12,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorDesconto); gridPesquisa.Cells[13,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorMoraJuros); gridPesquisa.Cells[14,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorOutrasDespesas + ACBrBoleto.ListadeBoletos.Objects[i].ValorIOF ); gridPesquisa.Cells[15,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorOutrasDespesas); gridPesquisa.Cells[16,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorPago); gridPesquisa.Cells[17,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorDespesaCobranca); if( DescricaoMotivoRejeicaoComando.Text <> '' ) then // problemas na baixa, registro o motivo grdListado.Cells[18,i + 1] := grdListado.Cells[1,i + 1]+' - '+DescricaoMotivoRejeicaoComando.Text else begin // localizar título no sistema qryPesquisa.Close; qryPesquisa.SQL.Clear; qryPesquisa.SQL.Add('SELECT id, vencto, venda, cliente, situacaotit FROM contasareceber WHERE nossonumero = ''' + Trim(gridPesquisa.Cells[1,i + 1]) + ''''); qryPesquisa.SQL.Add('AND empresa = ' + variables._EMP_CODI); qryPesquisa.Open; if(not qryPesquisa.Eof) then begin gridPesquisa.Cells[0 ,i + 1] := 'SIM'; gridPesquisa.Cells[20,i + 1] := qryPesquisa.FieldByName('id').AsString; gridPesquisa.Cells[22,i + 1] := qryPesquisa.FieldByName('vencto').AsString; gridPesquisa.Cells[23,i + 1] := qryPesquisa.FieldByName('cliente').AsString; if qryPesquisa.FieldByName('venda').AsString = '' then gridPesquisa.Cells[21,i + 1] := '0' // lancto avulso else gridPesquisa.Cells[21,i + 1] := qryPesquisa.FieldByName('venda').AsString; if(qryPesquisa.FieldByName('situacaotit').AsString = 'P') then gridPesquisa.Cells[8,i + 1] := 'SIM' // alguem já baixou else gridPesquisa.Cells[8,i + 1] := 'NAO'; end else begin gridPesquisa.Cells[20,i + 1] := ''; gridPesquisa.Cells[21,i + 1] := '0'; end; qryPesquisa.Close; end; gridPesquisa.Row := i + 1; end; end; Dessa maneira, eu abro o arquivo de retorno, leio e pesquiso no meu bd pelo nosso número que gerei na remessa. Assim eu obtenho a ID do meu contas a receber e fica um botão na tela chamado PROCESSAR BAIXA pro usuário comandar as baixas. Veja aí se ajuda, Até mais,1 ponto
-
1 ponto
-
E neste caso, para a contabilidade, bastam os XML, pois, seus sofisticados sistemas já importam e automaticamente reconhece cada um dos três tipos de NFe. Eu digo NÃO a impressão do DANFE que não esteja autorizado!!!1 ponto
-
Aqui permitimos impressão APENAS de NFe autorizada, com exceção de FD-SA. NFe denegada não pode circular, creio que disponibilizar a impressão de NFe nesta situação já induz o usuário, que por natureza costuma ser desatento, ao erro de utilizar este DANFe para o transporte de mercadorias. Quanto ao repasse de informações para contabilidade e/ou comprovante, é mais sensato criar um relatório com as informações da NFe para seu cliente.1 ponto
-
Boa noite. Temos basicamente 3 tipos de NFe: Autorizada, Denegada e Cancelada. Me corrijam se eu estiver errado. No meu sistema, quando a NFe é Denegada ou Cancelada, o cliente nem tem permissão de impressão. Não sei se está correto, mas pelo menos não toma multa. Pergunta.... Se a NFe for denegada, precisa ser impressa? Quem cobra impressão de uma NFe Denegada?1 ponto
-
Diego, chegou a verificar as opções do navegador? SSL, TLS, revogação? Qual o estado que vc está tentando? Pode nos passar o XML que você está tentando? Outra coisa, tentou acessar a URL de webservice pelo navegador?1 ponto
-
Bom dia pessoal. Também estou precisando homologar para boleto para o Sicoob Banco do Brasil. Alguma posição se isso vais ser disponibilizados nos fontes?1 ponto
-
Vou começar a implementar por conta para o Trunk2. Se houver a possibilidade de me disponibilizarem a versão feita até agora (do Trunk) eu agradeço.1 ponto
-
Não possuímos documentação com comandos para este tipo de retorno. Aproveite que o projeto é open source e tente implementar isso.1 ponto
-
Sempre que leio comando "milagroso|mágico|DeOutroMundo" tenho a impressão que devo ter muito cuidado com o comando, porque ele faz algo que eu não entendo. Não é bem isso que ele faz. A documentação da API diz: São os parâmetros específicos passados que vão fazer o seguinte: Com pouca pesquisa, você pode ver que não é uma boa ideia fazer isso. De qualquer forma, se você usa o Delphi 7 e não usa o FastMM vai ter problemas de memória. Se for utilizar esse método, LEIA todos os artigos referenciados e tenha certeza de que entende1 ponto
-
Estava com esse mesmo problema. Revisem a propriedade "Configurações - Geral - SSLib" para a mais apropriada (no meu caso mudei para libCapicom).1 ponto
-
O aparelhos SAT quando desligados rapidamente ignoram qualquer rotina, porém a DLL do governo parece que funciona mesmo com o emulador desligado e tem um delay bem grande de espera. Portanto se colocaram ela na abertura do programa com o emulador do governo fechado, poderá ter uma certa demora, que não acontecerá em uma DLL de aparelho SAT fisico (q1 ponto
-
Eu não estou enviando a TAG de combustíveis, mas estou utilizando o CFOP 5656, que é referente a venda de combustíveis para consumidor final.1 ponto
-
Regras e orientações gerais do Fórum Olá Pessoal, Com o objetivo de deixar o nosso fórum mais dinâmico e organizado para cumprir o objetivo de ser uma ajuda a todos os usuários do projeto ACBr, estamos deixando aqui algumas regras e orientações para todos nós. Todos devem se familiarizar com essas. Também queremos lembrar que essas são regras e orientações gerais para todo o fórum. Para regras específicas do ACBrSAC, queira ver esse tópico sobre o funcionamento do SAC. As orientações estão no próximo post desse tópico. Então vamos primeiro às regras: 1 - Assumiremos boa fé - Vamos procurar assumir boa fé ao lidar com violações, isto é, que o usuário não teve má intenção. Vamos procurar advertir ou banir apenas usuários que repetidamente ou flagrantemente violam as regras. Contudo, isso não dá direito a nenhum usuário abusar dessa liberdade. 2.1 - Não faça SPAM - Temos uma área específica para Classificados, então qualquer propaganda ou requisição de produtos e serviços deve ser postada lá. Usuários que postarem spam fórum terão suas mensagens removidas e podem ser banidos imediatamente sem prévio aviso. Se um post que é considerado apropriado incluir links consideradas spam, esses links serão removidos. 2.2 - Permaneça no assunto - Quando tiver uma dúvida diferente do assunto no tópico, poste em novo tópico. Não use algo equivalente a "aproveitando o gancho... [dúvida não relacionada com o tópico aqui]". 3.1 - Não faça flooding - Inundar o fórum com posts repetidos, com a mesma dúvida ou as mesmas palavras é chamado de flooding. Isso é proibido. Apenas um post feito no lugar certo é suficiente. Pesquise antes de postar, talvez sua dúvida já está respondida em outro post. 3.2 - Não faça "bump" de forma excessiva (postar simplesmente para que um tópico vá para o topo da lista). Isso é considerado flooding. 3.3 - Use o botão "Editar"- Não faça posts seguidos para corrigir algo que acabou de escrever. Para isto existe o botão "Editar" logo abaixo de seu post. Isso também é considerado flooding. 4 - Proteja sua privacidade - Não publique qualquer informação sensível. Moderadores poderão remover informações pessoais de mensagens para proteger sua privacidade. 5.1 - Respeite os direitos autorais - Não há objeção de se postar algum trecho de algo para desenvolver o seu post. No entanto, em vez de publicar em sua totalidade um texto de outra pessoa, coloque um link para o conteúdo. A não ser, é claro, que você seja o detentor ou tenha a permissão do detentor dos direitos autorais. 5.2 - Nada de pirataria - É proibido fornecer ou pedir informações sobre como obter ou fornecer ilegalmente qualquer coisa, seja software ("warez", "Crackz"), música, produtos, etc. 6.1 - Respeite os outros membros - Não use linguagem obscena, racista, discriminatória, indecente, lasciva, suja, ou excessivamente violenta. Isso também inclui as imagens e assinaturas dos usuários que podem ser alteradas ou removidas pela equipe de moderação. 6.2 - Não assedie, insulte, provoque, humilhe, constranja ou ataque pessoalmente outros. Seja amigável mesmo que os outros não sejam. 6.3 - Mostre respeito pelo modo de escrever. Escreva de modo claro, gramaticalmente e semanticamente correto. Não escreva TUDO EM MAIÚSCULAS ou tudo em negrito. Isso é lido como se estivesse gritando e é considerado rude. 6.4 - Assinaturas: É permitido o uso de uma imagem nas assinaturas. Apenas mantenha a imagem com no máximo 175 pixels de altura e 540 pixels de largura. O motivo destas limitações é que não queremos assinaturas que tirem a atenção dos posts nem que quebrem o layout do fórum (mesmo o layout mobile). Somos um fórum de programação e automação comercial, não de design. 7 - Ajude os moderadores - Se você observar alguém quebrar uma regra, ou se comportando de uma ou outra forma questionável, alerte um moderador ou um administrador. Há opções de denúncia nos posts. Não tente lidar com eles sozinho. 8 - Os administradores e moderadores usarão bom senso e têm a palavra final na interpretação e execução destas regras. 9 - Os administradores poderão modificar essas regras para que se tornem mais práticas e/ou claras para todos. Não seja um chato: Ou adicionaremos algumas imagens e mensagens bem constrangedoras ao seu perfil e avisaremos a todos os seus amigos por e-mail, facebook e twitter... Brincadeirinha: Mas tenham certeza que vamos fazer as regras valerem. Mesmo que isso inclua punições. Como podem ver não criamos uma lista extensa de regras. Acreditamos que o bom senso e um ambiente profissional é do desejo de todos os usuários do ACBr e confiamos que todos tem se esforçado pra fazer o melhor. Assim esperamos que isso não se torne necessário. Agradecemos sua cooperação. Equipe de Moderação.1 ponto
-
Boa Tarde Romulo... Aqui eu faço o seguinte...criei uma função que le o retorno e ja trata a mensagem caso a mensagem não for encontrada eu mostro o erro que deu. function fncRetornoMotivoNfe(pXMotivo: integer): string; var Retorno: string; begin case pXMotivo of 100: Retorno := 'Motivo: 100 -> Autorizado o uso da NF-e.'; 101: Retorno := 'Motivo: 101 -> Cancelamento de NF-e homologado.'; 102: Retorno := 'Motivo: 102 -> Inutilização de número homologado.'; 103: Retorno := 'Motivo: 103 -> Lote recebido com sucesso.'; 104: Retorno := 'Motivo: 104 -> Lote processado.'; 105: Retorno := 'Motivo: 105 -> Lote em processamento.'; 106: Retorno := 'Motivo: 106 -> Lote não localizado.'; 107: Retorno := 'Motivo: 107 -> Serviço em Operação.'; 108: Retorno := 'Motivo: 108 -> Serviço Paralisado Momentaneamente (curto prazo).'; 109: Retorno := 'Motivo: 109 -> Serviço Paralisado sem Previsão.'; 110: Retorno := 'Motivo: 110 -> Uso Denegado.'; 111: Retorno := 'Motivo: 111 -> Consulta cadastro com uma ocorrência.'; 112: Retorno := 'Motivo: 112 -> Consulta cadastro com mais de uma ocorrência.'; 128: Retorno := 'Motivo: 128 -> Lote de Evento Processado'; 135: Retorno := 'Motivo: 135 -> Evento registrado e vinculado a NF-e'; 136: Retorno := 'Motivo: 136 -> Evento registrado, mas não vinculado a NF-e'; 201: Retorno := 'Motivo: 201 -> Rejeição: O numero máximo de numeração de NF-e a inutilizar ultrapassou o limite.'; 202: Retorno := 'Motivo: 202 -> Rejeição: Falha no reconhecimento da autoria ou integridade do arquivo digital.'; 203: Retorno := 'Motivo: 203 -> Rejeição: Emissor não habilitado para emissão da NF-e.'; 204: Retorno := 'Motivo: 204 -> Rejeição: Duplicidade de NF-e.'; 205: Retorno := 'Motivo: 205 -> Rejeição: NF-e está denegada na base de dados da SEFAZ.'; 206: Retorno := 'Motivo: 206 -> Rejeição: NF-e já está inutilizada na Base de dados da SEFAZ.'; 207: Retorno := 'Motivo: 207 -> Rejeição: CNPJ do emitente inválido.'; 208: Retorno := 'Motivo: 208 -> Rejeição: CNPJ do destinatário inválido.'; 209: Retorno := 'Motivo: 209 -> Rejeição: IE do emitente inválida.'; 210: Retorno := 'Motivo: 210 -> Rejeição: IE do destinatário inválida.'; 211: Retorno := 'Motivo: 211 -> Rejeição: IE do substituto inválida.'; 212: Retorno := 'Motivo: 212 -> Rejeição: Data de emissão NF-e posterior a data de recebimento.'; 213: Retorno := 'Motivo: 213 -> Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital.'; 214: Retorno := 'Motivo: 214 -> Rejeição: Tamanho da mensagem excedeu o limite estabelecido.'; 215: Retorno := 'Motivo: 215 -> Rejeição: Falha no schema XML.'; 216: Retorno := 'Motivo: 216 -> Rejeição: Chave de Acesso difere da cadastrada.'; 217: Retorno := 'Motivo: 217 -> Rejeição: NF-e não consta na base de dados da SEFAZ.'; 218: Retorno := 'Motivo: 218 -> Rejeição: NF-e já esta cancelada na base de dados da SEFAZ.'; 219: Retorno := 'Motivo: 219 -> Rejeição: Circulação da NF-e verificada.'; 220: Retorno := 'Motivo: 220 -> Rejeição: NF-e autorizada há mais de 7 dias (168 horas).'; 221: Retorno := 'Motivo: 221 -> Rejeição: Confirmado o recebimento da NF-e pelo destinatário.'; 222: Retorno := 'Motivo: 222 -> Rejeição: Protocolo de Autorização de Uso difere do cadastrado.'; 223: Retorno := 'Motivo: 223 -> Rejeição: CNPJ do transmissor do lote difere do CNPJ do transmissor da consulta.'; 224: Retorno := 'Motivo: 224 -> Rejeição: A faixa inicial é maior que a faixa final.'; 225: Retorno := 'Motivo: 225 -> Rejeição: Falha no Schema XML do lote de NFe.'; 226: Retorno := 'Motivo: 226 -> Rejeição: Código da UF do Emitente diverge da UF autorizadora.'; 227: Retorno := 'Motivo: 227 -> Rejeição: Erro na Chave de Acesso - Campo Id – falta a literal NFe.'; 228: Retorno := 'Motivo: 228 -> Rejeição: Data de Emissão muito atrasada.'; 229: Retorno := 'Motivo: 229 -> Rejeição: IE do emitente não informada.'; 230: Retorno := 'Motivo: 230 -> Rejeição: IE do emitente não cadastrada.'; 231: Retorno := 'Motivo: 231 -> Rejeição: IE do emitente não vinculada ao CNPJ.'; 232: Retorno := 'Motivo: 232 -> Rejeição: IE do destinatário não informada.'; 233: Retorno := 'Motivo: 233 -> Rejeição: IE do destinatário não cadastrada.'; 234: Retorno := 'Motivo: 234 -> Rejeição: IE do destinatário não vinculada ao CNPJ.'; 235: Retorno := 'Motivo: 235 -> Rejeição: Inscrição SUFRAMA inválida.'; 236: Retorno := 'Motivo: 236 -> Rejeição: Chave de Acesso com dígito verificador inválido.'; 237: Retorno := 'Motivo: 237 -> Rejeição: CPF do destinatário inválido.'; 238: Retorno := 'Motivo: 238 -> Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente.'; 239: Retorno := 'Motivo: 239 -> Rejeição: Cabeçalho - Versão do arquivo XML não suportada.'; 240: Retorno := 'Motivo: 240 -> Rejeição: Cancelamento/Inutilização - Irregularidade Fiscal do Emitente.'; 241: Retorno := 'Motivo: 241 -> Rejeição: Um número da faixa já foi utilizado.'; 242: Retorno := 'Motivo: 242 -> Rejeição: Cabeçalho - Falha no Schema XML.'; 243: Retorno := 'Motivo: 243 -> Rejeição: XML Mal Formado.'; 244: Retorno := 'Motivo: 244 -> Rejeição: CNPJ do Certificado Digital difere do CNPJ da Matriz e do CNPJ do Emitente.'; 245: Retorno := 'Motivo: 245 -> Rejeição: CNPJ Emitente não cadastrado.'; 246: Retorno := 'Motivo: 246 -> Rejeição: CNPJ Destinatário não cadastrado.'; 247: Retorno := 'Motivo: 247 -> Rejeição: Sigla da UF do Emitente diverge da UF autorizadora.'; 248: Retorno := 'Motivo: 248 -> Rejeição: UF do Recibo diverge da UF autorizadora.'; 249: Retorno := 'Motivo: 249 -> Rejeição: UF da Chave de Acesso diverge da UF autorizadora.'; 250: Retorno := 'Motivo: 250 -> Rejeição: UF diverge da UF autorizadora.'; 251: Retorno := 'Motivo: 251 -> Rejeição: UF/Município destinatário não pertence a SUFRAMA.'; 252: Retorno := 'Motivo: 252 -> Rejeição: Ambiente informado diverge do Ambiente de recebimento.'; 253: Retorno := 'Motivo: 253 -> Rejeição: Digito Verificador da chave de acesso composta inválida.'; 254: Retorno := 'Motivo: 254 -> Rejeição: NF-e complementar não possui NF referenciada.'; 255: Retorno := 'Motivo: 255 -> Rejeição: NF-e complementar possui mais de uma NF referenciada.'; 256: Retorno := 'Motivo: 256 -> Rejeição: Uma NF-e da faixa já está inutilizada na Base de dados da SEFAZ.'; 257: Retorno := 'Motivo: 257 -> Rejeição: Solicitante não habilitado para emissão da NF-e.'; 258: Retorno := 'Motivo: 258 -> Rejeição: CNPJ da consulta inválido.'; 259: Retorno := 'Motivo: 259 -> Rejeição: CNPJ da consulta não cadastrado como contribuinte na UF.'; 260: Retorno := 'Motivo: 260 -> Rejeição: IE da consulta inválida.'; 261: Retorno := 'Motivo: 261 -> Rejeição: IE da consulta não cadastrada como contribuinte na UF.'; 262: Retorno := 'Motivo: 262 -> Rejeição: UF não fornece consulta por CPF.'; 263: Retorno := 'Motivo: 263 -> Rejeição: CPF da consulta inválido.'; 264: Retorno := 'Motivo: 264 -> Rejeição: CPF da consulta não cadastrado como contribuinte na UF.'; 265: Retorno := 'Motivo: 265 -> Rejeição: Sigla da UF da consulta difere da UF do Web Service.'; 266: Retorno := 'Motivo: 266 -> Rejeição: Série utilizada não permitida no Web Service.'; 267: Retorno := 'Motivo: 267 -> Rejeição: NF Complementar referencia uma NF-e inexistente.'; 268: Retorno := 'Motivo: 268 -> Rejeição: NF Complementar referencia uma outra NF-e Complementar.'; 269: Retorno := 'Motivo: 269 -> Rejeição: CNPJ Emitente da NF Complementar difere do CNPJ da NF Referenciada.'; 270: Retorno := 'Motivo: 270 -> Rejeição: Código Município do Fato Gerador: dígito inválido.'; 271: Retorno := 'Motivo: 271 -> Rejeição: Código Município do Fato Gerador: difere da UF do emitente.'; 272: Retorno := 'Motivo: 272 -> Rejeição: Código Município do Emitente: dígito inválido.'; 273: Retorno := 'Motivo: 273 -> Rejeição: Código Município do Emitente: difere da UF do emitente.'; 274: Retorno := 'Motivo: 274 -> Rejeição: Código Município do Destinatário: dígito inválido.'; 275: Retorno := 'Motivo: 275 -> Rejeição: Código Município do Destinatário: difere da UF do Destinatário.'; 276: Retorno := 'Motivo: 276 -> Rejeição: Código Município do Local de Retirada: dígito inválido.'; 277: Retorno := 'Motivo: 277 -> Rejeição: Código Município do Local de Retirada: difere da UF do Local de Retirada.'; 278: Retorno := 'Motivo: 278 -> Rejeição: Código Município do Local de Entrega: dígito inválido.'; 279: Retorno := 'Motivo: 279 -> Rejeição: Código Município do Local de Entrega: difere da UF do Local de Entrega.'; 280: Retorno := 'Motivo: 280 -> Rejeição: Certificado Transmissor inválido.'; 281: Retorno := 'Motivo: 281 -> Rejeição: Certificado Transmissor Data Validade.'; 282: Retorno := 'Motivo: 282 -> Rejeição: Certificado Transmissor sem CNPJ.'; 283: Retorno := 'Motivo: 283 -> Rejeição: Certificado Transmissor - erro Cadeia de Certificação.'; 284: Retorno := 'Motivo: 284 -> Rejeição: Certificado Transmissor revogado.'; 285: Retorno := 'Motivo: 285 -> Rejeição: Certificado Transmissor difere ICP-Brasil.'; 286: Retorno := 'Motivo: 286 -> Rejeição: Certificado Transmissor erro no acesso a LCR.'; 287: Retorno := 'Motivo: 287 -> Rejeição: Código Município do FG - ISSQN: dígito inválido.'; 288: Retorno := 'Motivo: 288 -> Rejeição: Código Município do FG - Transporte: dígito inválido.'; 289: Retorno := 'Motivo: 289 -> Rejeição: Código da UF informada diverge da UF solicitada.'; 290: Retorno := 'Motivo: 290 -> Rejeição: Certificado Assinatura inválido.'; 291: Retorno := 'Motivo: 291 -> Rejeição: Certificado Assinatura Data Validade.'; 292: Retorno := 'Motivo: 292 -> Rejeição: Certificado Assinatura sem CNPJ.'; 293: Retorno := 'Motivo: 293 -> Rejeição: Certificado Assinatura - erro Cadeia de Certificação.'; 294: Retorno := 'Motivo: 294 -> Rejeição: Certificado Assinatura revogado.'; 295: Retorno := 'Motivo: 295 -> Rejeição: Certificado Assinatura difere ICP-Brasil.'; 296: Retorno := 'Motivo: 296 -> Rejeição: Certificado Assinatura erro no acesso a LCR.'; 297: Retorno := 'Motivo: 297 -> Rejeição: Assinatura difere do calculado.'; 298: Retorno := 'Motivo: 298 -> Rejeição: Assinatura difere do padrão do Projeto.'; 299: Retorno := 'Motivo: 299 -> Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8.'; 301: Retorno := 'Motivo: 301 -> Uso Denegado: Irregularidade fiscal do emitente.'; 401: Retorno := 'Motivo: 401 -> Rejeição: CPF do remetente inválido.'; 402: Retorno := 'Motivo: 402 -> Rejeição: XML da área de dados com codificação diferente de UTF-8.'; 403: Retorno := 'Motivo: 403 -> Rejeição: O grupo de informações da NF-e avulsa é de uso exclusivo do Fisco.'; 404: Retorno := 'Motivo: 404 -> Rejeição: Uso de prefixo de namespace não permitido.'; 405: Retorno := 'Motivo: 405 -> Rejeição: Código do país do emitente: dígito inválido.'; 406: Retorno := 'Motivo: 406 -> Rejeição: Código do país do destinatário: dígito inválido.'; 407: Retorno := 'Motivo: 407 -> Rejeição: O CPF só pode ser informado no campo emitente para a NF-e avulsa.'; 409: Retorno := 'Motivo: 409 -> Rejeição: Campo cUF inexistente no elemento nfeCabecMsg do SOAP Header.'; 410: Retorno := 'Motivo: 410 -> Rejeição: UF informada no campo cUF não é atendida pelo Web Service.'; 411: Retorno := 'Motivo: 411 -> Rejeição: Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header.'; 420: Retorno := 'Motivo: 420 -> Rejeição: Cancelamento para NF-e já cancelada.'; 450: Retorno := 'Motivo: 450 -> Rejeição: Modelo da NF-e diferente de 55.'; 451: Retorno := 'Motivo: 451 -> Rejeição: Processo de emissão informado inválido.'; 452: Retorno := 'Motivo: 452 -> Rejeição: Tipo Autorizador do Recibo diverge do Órgão Autorizador.'; 453: Retorno := 'Motivo: 453 -> Rejeição: Ano de inutilização não pode ser superior ao Ano atual.'; 454: Retorno := 'Motivo: 454 -> Rejeição: Ano de inutilização não pode ser inferior a 2006.'; 478: Retorno := 'Motivo: 478 -> Rejeição: Local da entrega não informado para faturamento direto de veículos novos.'; 489: Retorno := 'Motivo: 489 -> Rejeição: CNPJ informado inválido (DV ou zeros)'; 490: Retorno := 'Motivo: 490 -> Rejeição: CPF informado inválido (DV ou zeros)'; 491: Retorno := 'Motivo: 491 -> Rejeição: O tpEvento informado inválido'; 492: Retorno := 'Motivo: 492 -> Rejeição: O verEvento informado inválido'; 493: Retorno := 'Motivo: 493 -> Rejeição: Evento não atende o Schema XML específico'; 494: Retorno := 'Motivo: 494 -> Rejeição: Chave de Acesso inexistente'; 501: Retorno := 'Motivo: 501 -> Rejeição: NF-e autorizada há mais de 30 dias (720 horas)'; 502: Retorno := 'Motivo: 502 -> Rejeição: Erro na Chave de Acesso - Campo Id não corresponde à concatenação dos campos correspondentes.'; 503: Retorno := 'Motivo: 503 -> Rejeição: Série utilizada fora da faixa permitida no SCAN (900-999).'; 504: Retorno := 'Motivo: 504 -> Rejeição: Data de Entrada/Saída posterior ao permitido.'; 505: Retorno := 'Motivo: 505 -> Rejeição: Data de Entrada/Saída anterior ao permitido.'; 506: Retorno := 'Motivo: 506 -> Rejeição: Data de Saída menor que a Data de Emissão.'; 507: Retorno := 'Motivo: 507 -> Rejeição: O CNPJ do destinatário/remetente não deve ser informado em operação com o exterior.'; 508: Retorno := 'Motivo: 508 -> Rejeição: O CNPJ com conteúdo nulo só é válido em operação com exterior.'; 509: Retorno := 'Motivo: 509 -> Rejeição: Informado código de município diferente de “9999999” para operação com o exterior.'; 510: Retorno := 'Motivo: 510 -> Rejeição: Operação com Exterior e Código País destinatário é 1058 (Brasil) ou não informado.'; 511: Retorno := 'Motivo: 511 -> Rejeição: Não é de Operação com Exterior e Código País destinatário difere de 1058 (Brasil).'; 512: Retorno := 'Motivo: 512 -> Rejeição: CNPJ do Local de Retirada inválido.'; 513: Retorno := 'Motivo: 513 -> Rejeição: Código Município do Local de Retirada deve ser 9999999 para UF retirada = EX.'; 514: Retorno := 'Motivo: 514 -> Rejeição: CNPJ do Local de Entrega inválido.'; 515: Retorno := 'Motivo: 515 -> Rejeição: Código Município do Local de Entrega deve ser 9999999 para UF entrega = EX.'; 516: Retorno := 'Motivo: 516 -> Rejeição: Falha no schema XML – inexiste a tag raiz esperada para a mensagem.'; 517: Retorno := 'Motivo: 517 -> Rejeição: Falha no schema XML – inexiste atributo versao na tag raiz da mensagem.'; 518: Retorno := 'Motivo: 518 -> Rejeição: CFOP de entrada para NF-e de saída.'; 519: Retorno := 'Motivo: 519 -> Rejeição: CFOP de saída para NF-e de entrada.'; 520: Retorno := 'Motivo: 520 -> Rejeição: CFOP de Operação com Exterior e UF destinatário difere de EX.'; 521: Retorno := 'Motivo: 521 -> Rejeição: CFOP não é de Operação com Exterior e UF destinatário é EX.'; 522: Retorno := 'Motivo: 522 -> Rejeição: CFOP de Operação Estadual e UF emitente difere UF destinatário.'; 523: Retorno := 'Motivo: 523 -> Rejeição: CFOP não é de Operação Estadual e UF emitente igual a UF destinatário.'; 524: Retorno := 'Motivo: 524 -> Rejeição: CFOP de Operação com Exterior e não informado NCM.'; 525: Retorno := 'Motivo: 525 -> Rejeição: CFOP de Importação e não informado dados da DI.'; 526: Retorno := 'Motivo: 526 -> Rejeição: CFOP de Exportação e não informado Local de Embarque.'; 527: Retorno := 'Motivo: 527 -> Rejeição: Operação de Exportação com informação de ICMS incompatível.'; 528: Retorno := 'Motivo: 528 -> Rejeição: Valor do ICMS difere do produto BC e Alíquota.'; 529: Retorno := 'Motivo: 529 -> Rejeição: NCM de informação obrigatória para produto tributado pelo IPI.'; 530: Retorno := 'Motivo: 530 -> Rejeição: Operação com tributação de ISSQN sem informar a Inscrição Municipal.'; 531: Retorno := 'Motivo: 531 -> Rejeição: Total da BC ICMS difere do somatório dos itens.'; 532: Retorno := 'Motivo: 532 -> Rejeição: Total do ICMS difere do somatório dos itens.'; 533: Retorno := 'Motivo: 533 -> Rejeição: Total da BC ICMS-ST difere do somatório dos itens.'; 534: Retorno := 'Motivo: 534 -> Rejeição: Total do ICMS-ST difere do somatório dos itens.'; 535: Retorno := 'Motivo: 535 -> Rejeição: Total do Frete difere do somatório dos itens.'; 536: Retorno := 'Motivo: 536 -> Rejeição: Total do Seguro difere do somatório dos itens.'; 537: Retorno := 'Motivo: 537 -> Rejeição: Total do Desconto difere do somatório dos itens.'; 538: Retorno := 'Motivo: 538 -> Rejeição: Total do IPI difere do somatório dos itens.'; 539: Retorno := 'Motivo: 539 -> Rejeição: Duplicidade de NF-e, com diferença na Chave de Acesso.'; 540: Retorno := 'Motivo: 540 -> Rejeição: CPF do Local de Retirada inválido'; 541: Retorno := 'Motivo: 541 -> Rejeição: CPF do Local de Entrega inválido.'; 542: Retorno := 'Motivo: 542 -> Rejeição: CNPJ do Transportador inválido.'; 543: Retorno := 'Motivo: 543 -> Rejeição: CPF do Transportador inválido.'; 544: Retorno := 'Motivo: 544 -> Rejeição: IE do Transportador inválida.'; 545: Retorno := 'Motivo: 545 -> Rejeição: Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão da mensagem.'; 546: Retorno := 'Motivo: 546 -> Rejeição: Erro na Chave de Acesso – Campo Id – falta a literal NFe.'; 547: Retorno := 'Motivo: 547 -> Rejeição: Dígito Verificador da Chave de Acesso da NF-e Referenciada inválido.'; 548: Retorno := 'Motivo: 548 -> Rejeição: CNPJ da NF referenciada inválido.'; 549: Retorno := 'Motivo: 549 -> Rejeição: CNPJ da NF referenciada de produtor inválido.'; 550: Retorno := 'Motivo: 550 -> Rejeição: CPF da NF referenciada de produtor inválido.'; 551: Retorno := 'Motivo: 551 -> Rejeição: IE da NF referenciada de produtor inválido.'; 552: Retorno := 'Motivo: 552 -> Rejeição: Dígito Verificador da Chave de Acesso do CT-e Referenciado inválido.'; 553: Retorno := 'Motivo: 553 -> Rejeição: Tipo autorizador do recibo diverge do Órgão Autorizador.'; 554: Retorno := 'Motivo: 554 -> Rejeição: Série difere da faixa 0-899.'; 555: Retorno := 'Motivo: 555 -> Rejeição: Tipo autorizador do protocolo diverge do Órgão Autorizador.'; 556: Retorno := 'Motivo: 556 -> Rejeição: Justificativa de entrada em contingência não deve ser informada para tipo de emissão normal.'; 557: Retorno := 'Motivo: 557 -> Rejeição: A Justificativa de entrada em contingência deve ser informada.'; 558: Retorno := 'Motivo: 558 -> Rejeição: Data de entrada em contingência posterior a data de emissão.'; 559: Retorno := 'Motivo: 559 -> Rejeição: UF do Transportador não informada.'; 560: Retorno := 'Motivo: 560 -> Rejeição: CNPJ base do emitente difere do CNPJ base da primeira NF-e do lote recebido.'; 561: Retorno := 'Motivo: 561 -> Rejeição: Mês de Emissão informado na Chave de Acesso difere do Mês de Emissão da NF-e.'; 562: Retorno := 'Motivo: 562 -> Rejeição: Código Numérico informado na Chave de Acesso difere do Código Numérico da NF-e.'; 563: Retorno := 'Motivo: 563 -> Rejeição: Já existe pedido de Inutilização com a mesma faixa de inutilização.'; 564: Retorno := 'Motivo: 564 -> Rejeição: Total do Produto / Serviço difere do somatório dos itens.'; 565: Retorno := 'Motivo: 565 -> Rejeição: Falha no schema XML – inexiste a tag raiz esperada para o lote de NF-e.'; 567: Retorno := 'Motivo: 567 -> Rejeição: Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão do lote de NF-e.'; 568: Retorno := 'Motivo: 568 -> Rejeição: Falha no schema XML – inexiste atributo versao na tag raiz do lote de NF-e.'; 572: Retorno := 'Motivo: 572 -> Rejeição: Erro Atributo ID do evento não corresponde a concatenação dos campos (ID+ tpEvento + chNFe + nSeqEvento)'; 573: Retorno := 'Motivo: 573 -> Rejeição: Duplicidade de Evento'; 574: Retorno := 'Motivo: 574 -> Rejeição: O autor do evento diverge do emissor da NF-e'; 575: Retorno := 'Motivo: 575 -> Rejeição: O autor do evento diverge do destinatário da NF-e'; 576: Retorno := 'Motivo: 576 -> Rejeição: O autor do evento não é um órgão autorizado a gerar o evento'; 577: Retorno := 'Motivo: 577 -> Rejeição: A data do evento não pode ser menor que a data de emissão da NF-e'; 578: Retorno := 'Motivo: 578 -> Rejeição: A data do evento não pode ser maior que a data do processamento'; 579: Retorno := 'Motivo: 579 -> Rejeição: A data do evento não pode ser menor que a data de autorização para NF-e não emitida em contingência'; 580: Retorno := 'Motivo: 580 -> Rejeição: O evento exige uma NF-e autorizada'; 587: Retorno := 'Motivo: 587 -> Rejeição: Usar somente o namespace padrão da NF-e'; 588: Retorno := 'Motivo: 588 -> Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem'; 594: Retorno := 'Motivo: 594 -> Rejeição: O número de seqüencia do evento informado é maior que o permitido'; //597: Retorno := 'Rejeição: CFOP de Importação e não informado dados de IPI'; //599: Retorno := 'Rejeição: CFOP de Importação e não informado dados de II'; 595: Retorno := 'Motivo: 595 -> Rejeição: A versão do leiaute da NF-e utilizada não é mais válida'; 596: Retorno := 'Motivo: 596 -> Rejeição: Ambiente de homologação indisponível para recepção de NF-e da versão 1.10.'; 597: Retorno := 'Motivo: 597 -> Rejeição: NF-e emitida em ambiente de homologação com CNPJ do destinatário diferente de 99999999000191'; 598: Retorno := 'Motivo: 598 -> Rejeição: NF-e emitida em ambiente de homologação com Razão Social do destinatário diferente de NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL'; 599: Retorno := 'Motivo: 599 -> Rejeição: NF-e emitida em ambiente de homologação com IE do destinatário diferente de vazio'; 601: Retorno := 'Motivo: 601 -> Rejeição: Total do II difere do somatório dos itens'; 602: Retorno := 'Motivo: 602 -> Rejeição: Total do PIS difere do somatório dos itens sujeitos ao ICMS'; 603: Retorno := 'Motivo: 603 -> Rejeição: Total do COFINS difere do somatório dos itens sujeitos ao ICMS'; 604: Retorno := 'Motivo: 604 -> Rejeição: Total do vOutro difere do somatório dos itens'; 605: Retorno := 'Motivo: 605 -> Rejeição: Total do vServ difere do somatório do vProd dos itens sujeitos ao ISSQN'; 606: Retorno := 'Motivo: 606 -> Rejeição: Total do vBC do ISS difere do somatório dos itens'; 607: Retorno := 'Motivo: 607 -> Rejeição: Total do ISS difere do somatório dos itens'; 608: Retorno := 'Motivo: 608 -> Rejeição: Total do PIS difere do somatório dos itens sujeitos ao ISSQN'; 609: Retorno := 'Motivo: 609 -> Rejeição: Total do COFINS difere do somatório dos itens sujeitos ao ISSQN'; 610: Retorno := 'Motivo: 610 -> Rejeição: Total da NF difere do somatório dos Valores compõe o valor Total da NF.'; 611: Retorno := 'Motivo: 611 -> Rejeição: cEAN inválido'; 612: Retorno := 'Motivo: 612 -> Rejeição: cEANTrib inválido'; 613: Retorno := 'Motivo: 613 -> Rejeição: Chave de Acesso difere da existente em BD'; 614: Retorno := 'Motivo: 614 -> Rejeição: Chave de Acesso inválida (Código UF inválido)'; 615: Retorno := 'Motivo: 615 -> Rejeição: Chave de Acesso inválida (Ano < 05 ou Ano maior que Ano corrente)'; 616: Retorno := 'Motivo: 616 -> Rejeição: Chave de Acesso inválida (Mês < 1 ou Mês > 12)'; 617: Retorno := 'Motivo: 617 -> Rejeição: Chave de Acesso inválida (CNPJ zerado ou dígito inválido)'; 618: Retorno := 'Motivo: 618 -> Rejeição: Chave de Acesso inválida (modelo diferente de 55)'; 619: Retorno := 'Motivo: 619 -> Rejeição: Chave de Acesso inválida (número NF = 0)'; 621: Retorno := 'Motivo: 621 -> Rejeição: CPF Emitente não cadastrado'; 622: Retorno := 'Motivo: 622 -> Rejeição: IE emitente não vinculada ao CPF'; 623: Retorno := 'Motivo: 623 -> Rejeição: CPF Destinatário não cadastrado'; 624: Retorno := 'Motivo: 624 -> Rejeição: IE Destinatário não vinculada ao CPF'; 625: Retorno := 'Motivo: 625 -> Rejeição: Inscrição SUFRAMA deve ser informada na venda com isenção para ZFM'; 626: Retorno := 'Motivo: 626 -> Rejeição: O CFOP de operação isenta para ZFM deve ser 6109 ou 6110'; 627: Retorno := 'Motivo: 627 -> Rejeição: O valor do ICMS desonerado deve ser informado'; 628: Retorno := 'Motivo: 628 -> Rejeição: Total da NF superior ao valor limite estabelecido pela SEFAZ [Limite]'; 629: Retorno := 'Motivo: 629 -> Rejeição: Valor do Produto difere do produto Valor Unitário de Comercialização e Quantidade Comercial'; 630: Retorno := 'Motivo: 630 -> Rejeição: Valor do Produto difere do produto Valor Unitário de Tributação e Quantidade Tributável'; 635: Retorno := 'Motivo: 635 -> Rejeição: NF-e com mesmo número e série já transmitida e aguardando processamento'; 999: Retorno := ''; else Retorno := ''; end; Result := Retorno; end;1 ponto