Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 25-08-2017 em todas as áreas

  1. Bom dia Pessoal, Segue em anexo os fontes do projeto do ACBrESocial o qual testes os eventos abaixo: Os eventos em negrito foram testados, os que estão riscados ou não estão liberados ou não cheguei avaliar\testar. * O Exemplo não está muito explicativo, mais acredito que dar para ter uma ideia do preenchimento e utilização. * O componente precisa ainda de ajustes, principalmente na parte visual(métodos e eventos). * Estou disponivel para ajudar no que for preciso e espero que o que foi desenvolvido possa ajudar a todos. -> Units do core do ACBr modificadas: ACBrDFeUtil.pas - Incluido no SignatureElement as tags necessárias para assinatura SHA256. function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String; ACBrDFeSSL.pas - Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1. - no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo) Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement; ACBrDFeXsXmlSec.pas - Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) . {$IFDEF REINF} cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>'; {$ELSE} cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>'; {$ENDIF} Espero que ajude e traga mais força ao projeto. obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC. obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior. obs.: As modificações nas classes bases são as mesmas do REINF haja vista que a modificação para utilizar SHA256 é necessário para os dois projeto. No aguardo da avaliação @Juliomar Marchetti @EMBarbosa Abraços. ACBreSocial.zip
    4 pontos
  2. Bom dia Pessoal, Segue em anexo os fontes do ACBrReinf. Eventos Implementados e testados: 1. R-1000 - Informações do Empregador/Contribuinte 2. R-1070 - Tabela de Processos Administrativos/Judiciais 3. R-2010 – Retenção Contribuição Previdenciária - Serviços Tomados 4. R-2020 – Retenção Contribuição Previdenciária - Serviços Prestados 7. R-2098 – Reabertura dos Eventos Periódicos 8. R-2099 – Fechamento dos Eventos Periódicos 9. R-9000 – Exclusão de Eventos Faltando os eventos: (Não fiz por que o negocio não tem demanda para esse tipo de evento. mais caso alguém precise da pra fazer.) 5. R-2030 – Recursos Recebidos por Associação Desportiva 6. R-2040 – Recursos Repassados para Associação Desportiva -> Units do core do ACBr modificadas: ACBrDFeUtil.pas - Incluido no SignatureElement as tags necessárias para assinatura SHA256. function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String; ACBrDFeSSL.pas - Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1. - no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo) Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement; ACBrDFeXsXmlSec.pas - Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) . {$IFDEF REINF} cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>'; {$ELSE} cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>'; {$ENDIF} Espero que ajude e traga mais força ao projeto. obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC. obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior. obs.: Antes que perguntem: Vou publicar os fontes do eSocial em outro tópico. No aguardo da avaliação @Juliomar Marchetti @EMBarbosa Abraços. ACBrReinf.zip
    2 pontos
  3. Obrigado... enviei para o SVN, uma implementação similar...
    2 pontos
  4. Bom dia! Juliomar, posso ter entendido errado, mas penso que o Daniel esta comentando que não fecha sozinho, ou seja vai depender da aplicação que envia o comando. Exemplo: O Agnaldo comentou que quando executa o comando "NFE.Exit" a conexão fecha, porém se não executar ela ficará aguardando. O único problema que vejo é desta forma: - Aplicação do usuário é aberta e conecta-se ao monitor (monitor aberto). - Por algum motivo o monitor é fechado e a aplicação do usuário continua em execução. - Abre-se novamente o monitor direto pelo ícone. - Neste momento se tentar uma nova comunicação sem reconectar não será mais possível, pois a conexão com o socket anterior foi finalizada devido o monitor ter sido fechado.
    2 pontos
  5. Isso mesmo, agora não faço mais o teste de cStat = 137, estou fazendo um loop com 50 repetições onde o sistema tem que rodar as cinquenta vezes, isso resolveu nos três clientes em que eu estava com esse problema.
    1 ponto
  6. Pelo que me parece, deveria ser outro select. O cliente deve existir na mesma empresa. algo como: select C_COD_PEDIDO, C_COD_CLIENTE, C_FONE1_CLIENTE, C_DATA_PEDIDO, C_PEDIDO_FECHADO, C_COD_OPERADOR from PE0100 P where not exists (select 1 from CC0100 C where (C.C_COD_CLIENTE = P.C_COD_CLIENTE) and (C.C_COD_EMPRESA = P.C_COD_EMPRESA))
    1 ponto
  7. Boa tarde subi a compatibilização entre os exemplos em delphi com lazarus favor testar e reportar.
    1 ponto
  8. A chave que você está criando é composta. Não deveria testar os dois valores no seu select?
    1 ponto
  9. Boa tarde Italo, Obrigado pelo retorno. Esse arquivo que te enviei é um que estava na pasta do ACBR mesmo, no caminho "ACBr\Exemplos\ACBrDFe\ACBrNFSe\Delphi" de onde estava executando o demo. Fiz o update ontem de manhã e este arquivo estava nesta pasta. Porém com a sua informação eu removi toda esta pasta e fiz o update novamente. Isso fez o restore da pasta toda. Aí então percebi que nesta pasta só ficaram os arquivos do projeto e que os arquivos .ini estavam em uma pasta em separado em "ACBr\Exemplos\ACBrDFe\ACBrNFSe\ArqINI". Porque existiam esses arquivos na pasta do projeto não sei dizer. É muito provável que eu tenha copiado isso há algum tempo atrás fazendo algum teste e eles não foram removidos na atualização, por não fazer parte do pacote. Atualizei toda minha pasta com os arquivos das pastas ArqINI e Schemas e deu certo. Testando aqui eu cheguei a trocar os campos Cabecalho e Dados para 1. Realmente enviava, mas algum outro detalhe a mais deve ter na configuração, pois ainda retornava um outro erro. Mas o importante é que isso resolveu o problema. Era apenas configuração do ambiente que estava ficando errado. Peço desculpas pela confusão toda. Mas são coisas do desenvolvimento de sistemas. De dentro muitas vezes não percebemos o que está na cara. Agradeço pela ajuda e parabenizo pelo trabalho com o ACBr. Me coloco a disposição para o que precisar. Abraço Claudiney.
    1 ponto
  10. Sim estava... justamente por isso que foi modificado... Se quer sugerir uma modificação nos fontes... faça isso de forma correta e ordenada, e pensando no uso conjunto do componente por toda a comunidade e não apenas no seu caso... Já lhe dei a dica, de que seria necessário uma nova propriedade...
    1 ponto
  11. Bom dia, Tive a necessidade de alterar o nome do documento na lista de spool e percebi que já havia na lista de "TODO" do ACBrDevice a ideia de criar a propriedade do nome do documento. Fiz a alteração e estou enviando em anexo caso alguém necessite ou alguém com acesso queria inserir no projeto. ACBrDevice.pas
    1 ponto
  12. Perfeito @Kiko Fernandes, isso mesmo... o ideal, é que a aplicação que se comunica com o MonitorPLUS, abra e feche o Socket a cada comando... isso não consome um tempo extra e evita problemas de erro de perda do "handle" da conexão (quando a aplicação tenta se comunicar com um canal Socket que já morreu)
    1 ponto
  13. Olá pessoal, Com enorme prazer que venho informar que o EntityframworkCore.FirebirdSQL está disponível. Devido a minha necessidade tomei a iniciativa e criei o projeto, já fiz contato com um dos organizadores do www.FirebirdSQL.org e em breve estará disponibilizado na pagina oficial. Milhares de pessoas usam FirebirdSQL no Mundo… e agora pode usufruir do poder do EntityFrameworkCore para .NET. O projeto é 100% open source está disponível no GIT: https://github.com/ralmsdeveloper Dúvidas ou sugestões Rafael Almeida ([email protected])
    1 ponto
  14. Bom dia Marcos, Será necessário incluir as cidades que são atendidas pelo provedor SH3 no arquivo Cidades.ini, depois criar um arquivo chamado SH3.ini que vai conter os parâmetros de configuração, você pode se basear nos arquivos 4R.ini ou ABase.ini ou Fiorilli.ini, este são alguns da minha lista de 29 provedores que seguem a versão 2 do layout da ABRASF. O próximo passo é criar uma pasta chamada SH3 dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\Schemas e salvar os arquivos SXD (Schemas) do respectivo provedor. Por fim fazer as alterações no componente, a principio basta alterar a uni pnfsConversao acrescentando o enumerador proSH3 e seu nome 'SH3' aos moldes dos demais. Isso já é o suficiente para que o componente reconheça um novo provedor, talvez seja necessário fazer mais algumas alterações em outros fontes em função de alguma particularidade. Mas o caminho das pedras é esse.
    1 ponto
  15. Caro Agnaldo, obrigado pela ótima resposta, eu verifiquei estes fontes, eu acredito que seria necessário implementar todos estes recursos para que se torne um exemplo de fato, porém para o meu caso, que estou migrando um PDV com ACBrECF, o exemplo que está em \Exemplos\ACBrSerial\ACBrECF\Lazarus se encaixa bem mais nas minhas necessidades e ajudou muito em entender o funcionamento. Abraços.
    1 ponto
  16. Tivemos que alterar as classes "ACBrEFDBloco_C_Class" e "ACBrEFDBloco_D_Class" para seguir o GUIA PRATICO EFD ICMS/IPI 2.0.20, deixando vazios os campos relativos ao PIS e COFINS para os contribuintes que não são obrigados a prestar a informação. Estamos anexando as alterações para análise. Essas mesmas alterações já foram feitas com os registros C100 e C170 (http://www.projetoacbr.com.br/forum/topic/23803-deixar-vazio-pis-e-cofins-c100-e-c170), foram feitas as mesmas alterações nas classes, utilizando os parâmetros do LFill para retornar '|'. Referências ao Guia prático da Escrituração Fiscal Digital - EFD ICMS/IPI versão: 2.0.20: Registro C500 - Campo 24 (VL_PIS) - Os contribuintes que entregarem a EFD-Contribuições relativa ao mesmo período de apuração do registro 0000 estão dispensados do preenchimento deste campo. Apresentar conteúdo VAZIO “||”. (Página 83) - Campo 25 (VL_COFINS) - Os contribuintes que entregarem a EFD-Contribuições relativa ao mesmo período de apuração do registro 0000 estão dispensados do preenchimento deste campo. Apresentar conteúdo VAZIO “||”. (Página 83) Registro D500 - Campo 21 (VL_PIS) - Os contribuintes que entregarem a EFD-Contribuições relativa ao mesmo período de apuração do registro 0000 estão dispensados do preenchimento deste campo. Apresentar conteúdo VAZIO “||”. (Página 123) - Campo 22 (VL_COFINS) - Os contribuintes que entregarem a EFD-Contribuições relativa ao mesmo período de apuração do registro 0000 estão dispensados do preenchimento deste campo. Apresentar conteúdo VAZIO “||”. (Página 123) ACBrEFDBloco_C_Class.pas ACBrEFDBloco_D_Class.pas
    1 ponto
  17. No site da Sweda tem: http://sistemas.sweda.com.br/downloads/Instalar_ConnectSIM2.0.exe
    1 ponto
  18. Bom dia Fabrício, No caso da versão 3.10 elas são iguais. Faça um testes, abra o arquivo ACBrNFeServicos, copie as linhas que contem as URLs da versão 4.00 do ambiente de homologação da NF-e e copia para a NFC-e. Depois execute Compila_RES que se encontra dentro da mesma pasta do ACBrNFeServicos. Por garantia execute novamente o ACBrInstall_trunk2 para que os componentes sejam compilados e reinstalados novamente. Por fim compile a sua aplicação com a opção Build e faça os testes setando para a versão 4.00
    1 ponto
  19. o correto seria: ACBrPosPrinter1.Imprimir('</abre_gaveta>') Por favor tente com o PosPrinterTeste disponível para download... (acabei de atualizá-lo)
    1 ponto
  20. Atualize o ACBr e veja o demo do ACBrValidador, eu inclui uma rotina que valida os dados do GTIN (antigo EAN). Existem também uma método direto caso você não queira utilizar o componente, basta adicionar a unit "ACBrValidador" e utilizar o método "ACBrValidadorValidarGTIN(codigo)". A desvantagem da rotina "EAN13Valido" é que ela não serve para os novos códigos GTIN que englobam o EAN8, EAN13, é codigos de 12 e 14 digitos.
    1 ponto
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...