Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 20-09-2018 em Posts
-
Bom dia. Além de todas as oportunidades de aprendizado, conhecimento de novas tecnologias, informação do panorama fiscal nacional e é claro muito Networking, também será possível adquirir os produtos oficias do ACBr no dia evento.5 pontos
-
Pessoal, assunto resolvido. O problema está no box do nome completo. Como sou usuário sac, este já vem preenchido, independente de ser alterado ele continua com o aviso vermelho, Limpei o nome do X e escrevi novamente e deu certo. Talvez ao capturar o nome no cadastro venha algum nulo para este box. []s, Sobre as escolhas das palestras que queremos assistir, qual o link para escolha se é que já está disponível? Pq, no momento do pagamento pede pra aguardar. []s,4 pontos
-
Veja que o retorno esta como <verAplic>SVAN.NFeCons4_1.0.0</verAplic> UF que utilizam a SVAN - Sefaz Virtual do Ambiente Nacional: MA, PA O servidor consultado esta incorreto, deveria ser o SVRS.3 pontos
-
Problema solucionado. Minha unit pcnNFeW, estava assim: if (trim(nfe.Cobr.Fat.nFat) <> '') or (nfe.Cobr.Fat.vOrig > 0) or (nfe.Cobr.Fat.vDesc > 0) or (nfe.Cobr.Fat.vLiq > 0) then begin Gerador.wGrupo('fat', 'Y02'); //<<<<<<< .mine Gerador.wCampo(tcStr, 'Y03', 'nFat ', 01, 60, 0, nfe.Cobr.Fat.nFat, DSC_NFAT); Gerador.wCampo(tcDe2, 'Y04', 'vOrig ', 01, 15, 0, nfe.Cobr.Fat.vOrig, DSC_VORIG); Gerador.wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, 0, nfe.Cobr.Fat.vDesc, DSC_VDESC); Gerador.wCampo(tcDe2, 'Y06', 'vLiq ', 01, 15, 0, nfe.Cobr.Fat.vLiq, DSC_VLIQ); //||||||| .r15437 Gerador.wCampo(tcStr, 'Y03', 'nFat ', 01, 60, 0, nfe.Cobr.Fat.nFat, DSC_NFAT); .wCampo(tcDe2, 'Y04', 'vOrig ', 01, 15, 0, nfe.Cobr.Fat.vOrig, DSC_VORIG); .wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, 0, nfe.Cobr.Fat.vDesc, DSC_VDESC); Gerador.wCampo(tcDe2, 'Y06', 'vLiq ', 01, 15, 0, nfe.Cobr.Fat.vLiq, DSC_VLIQ); //======= Gerador.wCampo(tcStr, 'Y03', 'nFat ', 01, 60, IIf(FOpcoes.CamposFatObrigatorios and (NFe.infNFe.Versao >= 4),1,0), nfe.Cobr.Fat.nFat, DSC_NFAT); Gerador.wCampo(tcDe2, 'Y04', 'vOrig ', 01, 15, IIf(FOpcoes.CamposFatObrigatorios and (NFe.infNFe.Versao >= 4),1,0), nfe.Cobr.Fat.vOrig, DSC_VORIG); Gerador.wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, IIf(FOpcoes.CamposFatObrigatorios and (NFe.infNFe.Versao >= 4),1,0), nfe.Cobr.Fat.vDesc, DSC_VDESC); Gerador.wCampo(tcDe2, 'Y06', 'vLiq ', 01, 15, IIf(FOpcoes.CamposFatObrigatorios and (NFe.infNFe.Versao >= 4),1,0), nfe.Cobr.Fat.vLiq, DSC_VLIQ); //>>>>>>> .r15563 Gerador.wGrupo('/fat'); end; Mesmo atualizando o ACBr, essa unit persistia, por isso estava repetindo os campos. Então, removi a unit e baixei novamente e ficou tudo correto. NFe emitindo corretamente.2 pontos
-
Carlos, boa tarde! A segunda fase para empresas de até 78 milhões teve o seu início prorrogado. ( http://portal.esocial.gov.br/noticias/esocial-prorroga-inicio-da-segunda-fase-para-empresas ) Quanto ao erro no S-2200 em homologação, segue a instrução do layout: Só pode ser preenchido se a Categoria for 104. N (não pode ser preenchido), nos demais casos.2 pontos
-
@Italo Jurisato Junior, está cuidando do "merge" com as sugestões... Muito obrigado pela contribuição...2 pontos
-
Boa tarde pessoal. Se você deseja levar seus filhos ao evento, o Parque Tecnológico de Sorocaba possui banheiro com trocador acessível tanto para homens como para mulheres, além de um amplo espaço verde. Nos informe via e-mail([email protected]) os dados do responsável* por cuidar das crianças, para que possamos emitir a credencial de visitante. *Esta pessoa não terá direito a assistir as palestras ou a qualquer material disponibilizado aos congressistas Att.2 pontos
-
Daniel, Bom dia No post de Alexandre Faustinoni do dia 03 (acima) ele fala de um ajuste q fez. Senti a mesma necessidade dele. Fiz uma nota, e informei o pagamento/fatura com data de hoje. Houve erro de validação, pois a data do pagamento é 20/09/18, e a comparação com data de emissão 20/09/18 12:32. Vai cair na excessão. Nas alterações dele, fiz um pouco diferente, em vez de usar o Trunc, usei DateOf (somente na data de emissão): if (nfe.Cobr.Dup.Items[I].dVenc < DateOf(NFe.Ide.dEmi)) then Acho q isso é válido para as duas situações. Citei apenas uma. Qquer coisa, estou a disposição. Wanderson2 pontos
-
2 pontos
-
Depois de uma semana pesquisando na net, perguntando pra um e pra outro, consegui baixar as notas da sefaz. Estar qui caso algum colega precise. Este primeiro processo é para mostrar as notas que estão na sefaz procedure TTesteWeb.consultarnotasClick(Sender: TObject); var CNPJ, Impresso, sChave, sEmissao, sCNPJ, sNome, sNumero, sSerie, sIEst, sNSU, sTipoNFe: String; Valor: Double; i, j,iEvento, k: integer; sStat,utNSU,ANSU:string; sMotivo:string; sUltimoNSU:string; sTemMais:string; caminho:string; UF, icount, codStatus: Integer; xml:string; begin // ======== Dados do Emitente ============================================= //pego o codigo da Filial que estar fazendo // a pesquisa no meu cadastro de empresas Empresa.Close; Empresa.SQL.Clear; Empresa.SQL.Add('Select * From filial'); Empresa.SQL.Add('Where CodFil = :xCodigo'); Empresa.Params[0].AsString:='1'; Empresa.Active:=True; Empresa.Open; MemoStatus.Lines.Add('------------------------------------------------------'); MemoStatus.Lines.Add(' => Consultando NFe Destinadas'); MemoStatus.Lines.Add('------------------------------------------------------'); Memo1.Text := ''; k := 0; repeat inc(k); CNPJ := ''; ACBrNFe1.DistribuicaoDFePorUltNSU(EMPRESAUF.AsInteger,CNPJ,edtUltNSU.Text ); sStat := IntToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat); sMotivo := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then sTemMais := 'N' else sTemMais := 'S'; sUltimoNSU := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU; // GravaUltimaConsulta; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138 then begin MemoStatus.Lines.Add(' Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU'); MemoStatus.Lines.Add(' Para uma nova pesquisa.'); MemoStatus.Lines.Add(' '); j := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1; lstChave1.Clear; chkListaNotas.Clear; for i := 0 to j do begin sSerie := ''; sNumero := ''; sCNPJ := ''; sNome := ''; sIEst := ''; sNSU := ''; sEmissao := ''; sTipoNFe := ''; Valor := 0.0; Impresso := ' '; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe <> '' then begin // Conjunto de informações resumo da NF-e localizadas. // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada. sChave := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe; sSerie := Copy(sChave, 23, 3); sNumero := Copy(sChave, 26, 9); sCNPJ := ''; sNome := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.xNome; sIEst := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.IE; case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; sNSU := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.NSU; sEmissao := DateToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.dhEmi); Valor := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.vNF; case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.cSitNFe of snAutorizado: Impresso := 'A'; snDenegado: Impresso := 'D'; // snCancelada: Impresso := 'C'; end; end; // Registra no Banco de Dados as Notas Retornadas pela Consulta Manifestacao.Close; Manifestacao.SQL.Clear; Manifestacao.SQL.Add('Select * From manifestacao'); Manifestacao.SQL.Add('Where Empresa = :xEmpresa'); Manifestacao.SQL.Add('and Chave = :xChave'); Manifestacao.Params[0].AsString:='1'; Manifestacao.Params[1].AsString:=sChave; Manifestacao.Active:=True; Manifestacao.Open; if not ((ManifestacaoEmpresa.AsString = '1') and (ManifestacaoChave.AsString = sChave)) then begin IncAltDel.SQL.Clear; IncAltDel.SQL.Add('Insert into manifestacao'); IncAltDel.SQL.Add('(Empresa, Chave, CNPJ, Nome, IE, Emissao, Tipo, Valor,'); IncAltDel.SQL.Add('Situacao, Confirmacao, NSU, DataEvento, Protocolo)'); IncAltDel.SQL.Add('Values (:xEmpresa, :xChave, :xCNPJ, :xNome, :xIE, :xEmissao, :xTipo,'); IncAltDel.SQL.Add(':xValor, :xSituacao, :xConfirmacao, :xNSU, :xDataEve, :xProtocolo)'); IncAltDel.Params[0].AsString:='1'; IncAltDel.Params[1].AsString:=sChave; IncAltDel.Params[2].AsString:=''; IncAltDel.Params[3].AsString:=sNome; IncAltDel.Params[4].AsString:=sIEst; IncAltDel.Params[5].AsDateTime:=StrToDate(sEmissao); IncAltDel.Params[6].AsString:=sTipoNFe; IncAltDel.Params[7].AsFloat:=Valor; IncAltDel.Params[8].AsString:=Impresso; IncAltDel.Params[9].AsInteger:=-1; IncAltDel.Params[10].AsString:=sNSU; IncAltDel.Params[11].AsDateTime:=0; IncAltDel.Params[12].AsString:=''; IncAltDel.ExecSQL; end; //Atualizo o sql que mostra as notas no dbgrid MANIFESTACAO.Close; MANIFESTACAO.SQL.Clear; MANIFESTACAO.SQL.Add('select * from manifestacao'); MANIFESTACAO.open; end; // Fim do For end else begin // Nenhum Documento Localizado para o Destinatário if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then begin MemoStatus.Lines.Add(' Nenhum Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU'); MemoStatus.Lines.Add(' Para uma nova pesquisa ('+edtUltNSU.Text+').'); MemoStatus.Lines.Add(' '); end else begin MemoStatus.Lines.Add(' Falha ao realizar a consulta.'); MemoStatus.Lines.Add(' ' + sStat + ' - ' + sMotivo); MemoStatus.Lines.Add(' '); end; end; until (k = StrToIntDef(edtConsultas.Text, 1)) or (sTemMais = 'S'); ACBrNFe1.Configuracoes.Arquivos.Salvar := True; if sTemMais = 'S' then Memo1.Text := IntToStr(k) + ' Consultas Realizadas e tem mais Documentos.' else Memo1.Text := IntToStr(k) + ' Consultas Realizadas e não tem mais Documentos.'; end; ========================================= Este segundo processo é para fazer a confirmação de uma nota pela chave, vc pode fazer a confirmação de todas as notas que baixou no primeiro processo e depois efetuar o download. procedure TTesteWeb.EnviarManifesClick(Sender: TObject); var Chave, idLote, CNPJ: string; lMsg: string; begin // manidestação de uma nota especifica pela chave Chave:=''; if not(InputQuery('WebServices Eventos: Manif. Destinatario - Conf. Operacao', 'Chave da NF-e', Chave)) then exit; Chave := Trim(OnlyNumber(Chave)); idLote := '1'; if not(InputQuery('WebServices Eventos: Manif. Destinatario - Conf. Operacao', 'Identificador de controle do Lote de envio do Evento', idLote)) then exit; CNPJ := ''; if not(InputQuery('WebServices Eventos: Manif. Destinatario - Conf. Operacao', 'CNPJ ou o CPF do autor do Evento', CNPJ)) then exit; ACBrNFe1.EventoNFe.Evento.Clear; with ACBrNFe1.EventoNFe.Evento.Add do begin InfEvento.cOrgao := 91; infEvento.chNFe := Chave; infEvento.CNPJ := CNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teManifDestConfirmacao; end; ACBrNFe1.EnviarEvento(StrToInt(IDLote)); with AcbrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento do begin lMsg:= 'Id: '+Id+#13+ 'tpAmb: '+TpAmbToStr(tpAmb)+#13+ 'verAplic: '+verAplic+#13+ 'cOrgao: '+IntToStr(cOrgao)+#13+ 'cStat: '+IntToStr(cStat)+#13+ 'xMotivo: '+xMotivo+#13+ 'chNFe: '+chNFe+#13+ 'tpEvento: '+TpEventoToStr(tpEvento)+#13+ 'xEvento: '+xEvento+#13+ 'nSeqEvento: '+IntToStr(nSeqEvento)+#13+ 'CNPJDest: '+CNPJDest+#13+ 'emailDest: '+emailDest+#13+ 'dhRegEvento: '+DateTimeToStr(dhRegEvento)+#13+ 'nProt: '+nProt; end; ShowMessage(lMsg); MemoResp.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetWS; memoRespWS.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetornoWS; LoadXML(ACBrNFe1.WebServices.EnvEvento.RetornoWS, WBResposta); end; ======================================= verifique agora se estas configurações estão certas no seu componente ACBRNFe: propriedades\configurações\arquivos\PathDownload = aqui a pasta onde vc quer salvar os xml. propriedades\configurações\arquivos\PathEvento = Salvar os eventos. propriedades\configurações\arquivos\salvar = true Ainda em configurações de arquivos tem as opções separar por cnpj, ele cria uma pasta para cada cnpj que vc baixar e execute o primeiro processo novamente, ele vai fazer uma nova busca e baixar os que vc confimou teste ai e me diga o resultado Comigo funcionou certinho.2 pontos
-
Ótima resposta @Italo Jurisato Junior... Tão completa que movi o tópico para a área de "Base de Conhecimento" PS: Editei o título do tópico, para ficar mais informativo...2 pontos
-
Boa tarde. Só pra avisar a todos, saiu ontem um comunicado no MDFE. Segue abaixo: 13/09/2018 - Ativação das regras de verificação do RNTRC Informamos que as regras de validação 681 e 682 que verificam a existência e situação do RNTRC no modal rodoviário passarão a ser aplicadas no ambiente de produção do MDF-e a partir do dia 24/09/2018. Em caso de rejeição por esta regra, o emitente deverá buscar informações diretamente com a ANTT através do canal da ouvidoria (telefone 166). A situação poderá ser consultada na página do RNTRC na internet(http://rntrc.antt.gov.br/).1 ponto
-
Comece baixando o ACBrMonitorPLUS e lendo o manual referente a esse assunto... Com ou sem SAC, não há como pular essa etapa1 ponto
-
@Maiquel Muito obrigado, eu estava envido para a URL errada mesmo, a correta seria: https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx Obrigado pela ajuda.1 ponto
-
Já encontrei o erro e a nota está sendo enviada sem problema.1 ponto
-
Boa tarde @Joel Obrigada pela colaboração, em breve algum dos moderadores se manifestará quanto suas alterações, peço que aguarde um pouco mais. Att.1 ponto
-
1 ponto
-
Boa tarde. Em breve será enviado novo e-mail informando que já está aberta a seleção. Att.1 ponto
-
@marcosrodrigues 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]". Favor leia as regras do fórum. Att.1 ponto
-
Boa tarde, realmente não tem a exigência, nos testes que necessitam tratar o retorno de impressora são opcionais pois se aplicam somente a ECF Obrigado1 ponto
-
Mandei e-mail essa manhã, e estou aguardando resposta do SEFAZ sobre isso também1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Tentou usar o HttpWinHttp no lugar do HttpWinInet? Se ocorre num horário especifico pode ser falhas de internet ou indisponibilidade do SEFAZ/MG. Se ocorre em um único cliente, pode ser algum serviço que rode no micro neste horário, tornando a internet muito lenta, como por exemplo, varredura de antivirus.1 ponto
-
Opa, perdão, acontece que quando compilava o meu programa o componente do ACBR Bloco X voltava para "TaHomologacao" e eu não estava verificando isso, então antes de enviar o arquivo eu novamente faço a verificação acima do ambiente, deixando o ambiente correto.1 ponto
-
1 ponto
-
Bom dia a todos. Sugiro que realizem uma pesquisa em outras certificadoras e Sefaz, não vejo a obrigação em testar uma função que não tenho no sistema. No perfil de requisitos, podemos encontrar testes específicos para determinados estabelecimentos que também estão como "E = Exigido", e não são obrigatórios a sua implementação. Temos essa resposta no próprio titulo do requisito abaixo: "REQUISITOS ESPECÍFICOS DO PAF-ECF PARA UTILIZAÇÃO DE DISPOSITIVOS MOVEIS, INTERNET E OUTROS PARA RECEPÇÃO DE DAV E PREVENDA"1 ponto
-
1 ponto
-
Bom dia, Além do repositório Trunk2 temos um repositório chamado Branches onde fica o componentes que ainda estão em faze de desenvolvimento. Neste repositório você encontra os fontes do ACBrCNAB que tem como objetivo gerar o arquivo texto para remessa de pagamentos. Esta disponível também nesse repositório um programa exemplo e o pacote de instalação. Se faz necessário copiar as pastas com os fontes para os lugares apropriados do Trunk2 que você tem na sua maquina e instalar o componente usando o pacote de instalação. Ele não esta completo e poderá surgir erros por conta do Refactoring feito nos demais componentes. Caso você queira colaborar com o projeto, ficaremos gratos.1 ponto
-
1 ponto
-
1 ponto
-
1 ponto
-
Bom dia Rudinei, Pelo que vi você utiliza o ACBrMonitor, correto? Muito bem, quando ao método ConsultaNFeDest ele será removido do Help uma vez que foi desativado pela SEFAZ bem como o DownloadNFe. Para poder baixar o XML completo de uma NF-e é necessário 2 passos. 1. Enviar o evento de Manifestação do Destinatário; 2. Obter o XML da nota executando o método DistribuicaoDFePorChaveNFe. Existe uma outra forma: O método DistribuicaoDFePorUltNSU retorna até 50 documentos, dos quais podemos ter: Resumo de Nota, Nota Completa, Resumo de Evento e Evento Completo. Toda vez que executarmos o método acima devemos sempre informar no seu terceiro parâmetro o valor do campo ultNSU retornado na execução anterior. Entre uma execução e outra devemos enviar o evento de Manifestação do Destinatário referente as notas apontadas pelos resumos. No fórum existem muitos tópicos mostrando como fazer isso.1 ponto
-
@aline_plr Veja... https://www.projetoacbr.com.br/forum/topic/42431-erro-12031-a-conexão-com-o-servidor-foi-redefinida/1 ponto
-
Bom dia Mateus, Muito obrigado pela colaboração, ainda hoje estarei enviando para o repositório.1 ponto
-
Ola... pela mensagem da tela parece ser o campo vTotTrib... Att Ricardo1 ponto
-
1 ponto
-
Boa tarde Italo, tudo bem? Com as alterações que eu efetuei no arquivo pnfsLerListaNFSe.pas que está em anexo consegui ter o retorno corretamente para o provedor DataSmart. Peço que analise as alterações que eu fiz e se achar válido, que atualize nos fontes. Agradeço desde já pela atenção e ajuda. pnfsLerListaNFSe.pas1 ponto
-
Note que há um roteiro para Impressoras NÃO Fiscais... que é bem mais simples.. e acho que não tem essa exigência..1 ponto
-
Palestra: 14:00 - 15:00 - Auditório Principal - Panorama atual, evolução e tendências dos documentos fiscais eletrônicos no Brasil. Edgard de Castro Engenheiro formado pela FEI, atua há mais de 30 anos na área de automação comercial. Foi sócio fundador de empresas lideres em automação de postos / lojas de conveniência e fornecedor por quase 20 anos para a Esso Brasileira, Exxon Mobil, Texaco, entre outras. Há mais de 7 anos atua na EDC Soluções, empresa voltada à consultoria, mentoria e soluções estratégicas nas áreas de automação para o comércio e transações eletrônicas de meios de pagamento. Vice Presidente de Relações Institucionais da Afrac – Associação Brasileira de Automação para o Comércio, diretor da Cecomercio, membro do Conselho de Assuntos Tributários da Fecomercio SP e também do Fórum de Competitividade do Varejo do MDIC, tem forte participação no segmento associativo e regulatório do país. Fonte: https://edcsolucoes.wordpress.com/os-executivos/1 ponto
-
Estou publicando a nossa tabela de Descontos para Grupos... Se você está vindo de longe, e terá gastos elevados com o deslocamento... nos procure, podemos ser ainda mais generosos... . Será ótimo se pudermos lhe ajudar a vir no Dia do ACBr. Para solicitar o seu Desconto, por favor escreva para [email protected] e informe os integrantes do seu grupo... Lembro que para efetuar a inscrição, é necessário ser cadastrado no fórum.. portanto, se possível, por favor nos envie no e-mail de solicitação de desconto, a relação como o Login dos usuários no ACBr1 ponto
-
Olá pessoal, No dia 25/09/18 encerra o primeiro Lote de inscrições, no preço promocional... Notamos uma grande procura por inscrições em grupo, nos últimos dias... Lembro que estamos limitados a 500 inscrições, portanto não deixe para depois... Garanta já a sua vaga, com o desconto promocional do 1o Lote Para Descontos em Grupo, verifiquem esse post:1 ponto
-
Bom dia, Não obtive resposta deste tópico, mas consegui evoluir na integração com o provedor Bsit-br. Fiz algumas modificações e o XML está sendo validado com sucesso. Porém não consigo resolver a questão da URI na assinatura do documento, pois o layout não permite enviar o "Id" do Rps e na assinatura o retorno da função "ExtrairURI" fica em branco. Com isso a assinatura do documento fica inválida. Segue os arquivos modificados para avaliação e postagem. Se alguém tiver disposição para ajudar nesta questão da assinatura, eu agradeço! ACBrNFSeWebServices.pas Sigep.ini nfse-v2.xsd pnfsNFSeW_ABRASFv2.pas1 ponto
-
Notei que a sugestão visa tornar Publica a propriedade ColCheque , que é exclusiva, da classe TACBrCHQImpressoraComum ... Isso pode confundir um pouco o usuário, que pensará que essa propriedade está disponível para todos os modelos... Observe Você pode acessar essa Propriedade com segurança, usando TypeCast... Exemplo: if ACBrCHQ1.CHQ is TACBrCHQImpressoraComum then TACBrCHQImpressoraComum( ACBrCHQ1.CHQ ).ColCheque := 10;1 ponto
-
E aqui está ele... @arce, ganhador do concurso, com o boné do ACBr... Obrigado pela participação de todos...1 ponto
