Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 23-05-2014 em Posts
-
Boa tarde a todos, Esta disponível no Portal Nacional da NF-e a Nota Técnica 2014/002 que trata do assunto de distribuição de documentos fiscais eletrônicos. Quero chamar a atenção de algumas coisas: 1. O ambiente de teste só será disponibilizado em 15/09/2014; 2. O Web Service NfeConsultaDest será desativado em 02/02/2015; 3. Não foi disponibilizado os schemas de validação para consulta de DF-e (distDFeInt_vx.xx.xsd); 4. Não foi disponibilizado as URLs de homologação e de produção. Como vocês podem ver, temos que esperar para começar a implementar e realizar os primeiros testes. Mas isso não significa que podemos deixar de lado a NT. Convido a todos a baixar e ler, são apenas 13 páginas, e não vem depois dizer, que não tem tempo para ler. Lendo com bastante atenção vocês vão descobrir algumas coisas interessantes nessa NT. Não vou contar, leiam.2 pontos
-
Olá a todos, acredito que a maioria sabe de um problema que vimos a enfrentar a algum tempo ao gerar os Sped, a situação é a qual existem diversas situações na geração do arquivo, pois em casos adversos alguns dos campos de um registro gerado devemos mandar Valor, Zero ou Nulo, isso gera uma grande dor de cabeça, pois vocês desenvolvedores não tem recurso para definir como deve qual informação vai para um determinado campo. Bom como alguns já viu já tentamos até criar eventos para tentar resolver a situação quando ocorre, mas não foi o suficiente. Nesse post estou disponibilizando uma nova alternativa, e as seguintes alterações foram implementadas para tentarmos resolver o problema de uma vez por toda, mas como todas sabem, precisamos da colaboração de todos, pois não tenho ao meu alcance todas as situações existentes para afirma que tudo ocorrerá de forma a sanar 100% o problema. 1o - Você verão que existe disponível em nosso repositório, uma implementação na Unit ACBrTXT, que foi a sobrecarga da função DFill e LFill, recebendo como parâmetro uma propriedade do tipo Variant. 2o - Em anexo temos os fontes do Sped Fiscal alterado os tipo Double e Currency que existiam nas propriedades das class para atribuirmos os valores, para Variant, assim podendo agora você desenvolvedor definir através de um tratamento em seu sistema qual o conteúdo deve ir para o campo Valor (100,22), Zero (0,00) ou mesmo Nulo (Null). Sabemos que teremos um tempo de CAST, nos tipos, mas foi a unica e a menos impactante adaptação para a tentativa de sanar o problema que vem dando trabalho para alguns. Também gostaria de contar com a colaboração de todos para testar os fontes em anexo, substituindo o fonte da pasta SPED Fiscal por este em anexo, e se houver algum problema, basta excluir a pasta e baixa-la novamente do repositório, o qual não terá os novos fontes alterados até que tenhamos testes exaustivos e tenhamos total certeza que resolvemos o problema. Desde já agradeço a colaboração, e tenham um ótimo dia de trabalho. ACBrSPEDFiscal.zip2 pontos
-
Régys fiz uma pequena correção no pacote, pois estava dando erro com o tipo TDate informado no método! já subi o mesmo!2 pontos
-
Bom dia. Segue algumas alterações feitas para o SEF II. Revisão base do SVN: 6894 - Implementação dos Registros: C040, C310, C605 e C615 - Implementação dos métodos de Conversão na unit ACBrSEF2Conversao. - Alteração do Registro 0400. Troca do CFOP pelo COP para que fique igual ao leiaute do manual. O "De-Para" está na unit de Conversão. - Alteração dos Registros C550 e C605. Alterado o Tipo do Atributo COD_MOD igual ao padrão do registro C020. - Correção dos campos de Desconto e Acréscimo no registro C550. - Inclusão dos tipos 06 e 07 no código de situação do documento fiscal (TCodigoSituacao). - Alteração na escrita do registro 0030 para considerar os tipos específicos de cada campo. Fiquem a vontade para qualquer sugestão. Obrigado. ACBrSEF2.rar2 pontos
-
Olá pessoal! Despois de ter aberto tópico em agosto do ano passado, acabei sendo recolocado em diversos outros projetos da empresa, e não consegui dar a atenção devida a ele. Voltamos agora então à questão da alíquota de IPI para produtos tributados por quantidade e não por um percentual fixo; No tópico referenciado acima, o Isaque Pinheiro havia dado a sugestão de alterarmos o método "WriteRegistroC170", de forma que o campo ALIQ_IPI chamasse a rotina "LFill()" passando o parâmetro "Nulo" como "True", para que o campo fosse enviado em branco sempre que estivesse preenchido com 0. Acontece que existem situações onde o produto é tributado por um percentual fixo, mas em uma determinada situação deve ser enviado com a alíquota 0, pois a operação é isenta de contribuição ou o produto é tributado à alíquota de 0%. Desta forma, vimos que a solução proposta não atenderia a todas as situações de escrituração do registro. Conversando com meus colegas de trabalho, chegamos a 3 modificações diferentes que poderão solucionar este problema, mas cada uma possui alguns pontos positivos e negativos que devem ser avaliados para decidirmos qual é a melhor implementação para o componente e a comunidade, ou se nenhuma das soluções propostas é a ideal e devemos voltar e analisar isto novamente. 1ª modificação sugerida: Alterar o tipo do field "fALIQ_IPI” de Currency para String Nesta modificação, o tipo do field é alterado para que passe a utilizar o overload do método “LFill” para campos texto, sendo gerado em branco sempre que o field estiver em branco. Para manter o propósito do campo, escrevemos um método “Set” para a property ALIQ_ICM que trata valores brancos e inválidos, permitindo que o field esteja apenas em dois estados (Em branco ou preenchido com uma alíquota válida). Ponto positivo: Esta modificação é a que menos causa impactos no componente, pois apenas duas units são alteradas e as alterações são "cirúrgicas", não influenciando no comportamento do componente; Ponto negativo: O principal ponto negativo desta modificação é que, ao realizarmos esta alteração, o componente irá parar de funcionar para quem já gera o SPED Fiscal hoje, até que a equipe de desenvolvimento da empresa possa atualizar a rotina de geração do registro C170 e alterar o campo de Currency para String; 2ª modificação sugerida: Alterar o tipo do field “fALIQ_IPI” de Currency para Variant Esta modificação é muito parecida com a sugerida acima, alterando o tipo do field para que se possa utilizar o método “LFill” para strings e validar quando o mesmo estiver em branco, mas com a grande vantagem de não alterar o funcionamento externo do componente nos projetos da comunidade. Ponto positivo: Quem já está utilizando a classe não terá de modificar o seu código fonte após atualizar o componente. O registro continuará sendo gerado da maneira correta; Ponto negativo: Um ponto negativo que levantamos para esta modificação é a compatibilidade do tipo "Variant" com usuários do Kilyx. Como nunca utilizamos, não temos como garantir aqui o funcionamento correto desta. 3ª modificação sugerida: Criar um novo field na classe "TRegistroC170" para controlar o campo “ALIQ_IPI” Esta modificação prevê a criação de um novo field na classe para que o usuário possa indicar se um determinado produto tem o IPI tributado por uma alíquota específica ou por quantidade vendida. Desta forma, podemos criar uma validação específica dentro do método "WriteRegistroC170" para gravar 0 ou vazio neste campo do layout conforme a configuração deste novo campo. Ponto positivo: Com esta modificação, podemos garantir que o funcionamento do componente não será modificado para nenhum usuário, independente da plataforma utilizada. Ponto negativo: Não conseguimos encontrar algo que invalidasse esta sugestão, pois a criação de um novo field para controlar esta situação garante o isolamento da modificação. E estas são as sugestões que conseguimos elaborar aqui na empresa para solucionar este problema. Anexo abaixo estão os fontes com as duas primeiras modificações implementadas, para que vocês possam baixa-las e verem como funcionam na prática. Acredito que até o final da semana conseguirei criar um exemplo da 3ª sugestão para avaliarem. Novamente peço desculpas pelo tamanho que este post acabou ficando e agradeço a quem puder auxiliar! Edição: Já consegui montar um exemplo da implementação da 3ª sugestão no componente, anexo abaixo; 1ª modificação sugerida.zip 2ª modificação sugerida.zip 3ª modificação sugerida.zip1 ponto
-
O Fortes é OpenSource, basta baixar os fontes e compilar na sua IDE1 ponto
-
Juliomar, tudo certo. Não havia me dado conta que a pasta 9.0 ainda existia no caminho das bpls do Delphi. Eu segui os passos que tu me disseste, e apaguei a pasta 9.0 e tudo ok!! Obrigado pelo suporte e uma boa tarde!!!!1 ponto
-
O padrao utilizado nesta imagem foi a Fortes. Farei um teste com o ESC-POS e ja posto os resultados.1 ponto
-
Bom dia favor atualizar e testar vou estar revendo pois hoje ele está dependendo do pacote PCN2 e no caso não precisaria Obrigado pela colaboração1 ponto
-
Juliomar, realizei os testes e está Ok! Peço, por gentileza, que alguém realize o teste para a geração de remessas, pois o sistema ERP da minha empresa não utiliza o ACBr para remessa, somente para geração do boleto e retorno bancário. No entanto, acredito que isso não irá influenciar na geração de remessa, pois a função CodMotivoRejeicaoToDescricao converte os motivos de rejeição do retorno em suas respectivas descrições. Obrigado!1 ponto
-
Bom dia a todos, Link: http://www.cte.fazenda.gov.br/informe.aspx?#46 22/05/2014 - Atenção: CT-e versão 1.04 - Final de Vigência Conforme previsto na Nota Técnica 2013/010, publicada em julho de 2013, a partir de 02/06/2014 somente serão autorizados os Conhecimentos de Transporte Eletrônicos emitidos na versão 2.00. Orientamos os contribuintes que ainda estão emitindo seus Conhecimentos de Transportes Eletrônicos na versão 1.04 que iniciem a utilização da versão 2.00. Assinado por: Secretaria da Fazenda do Estado de São Paulo1 ponto
-
Polimig me disse que somente no próximo mês para ter ideia de alguma coisa, também não tem informação nenhuma.1 ponto
-
Juliomar Marchetti, bom dia! Estava realizando alguns testes e percebi que na função CodMotivoRejeicaoToDescricao, linha 1157, quando é checado o comando de Recusa, está sendo utilizado "toRetornoRegistroRecusado" em vez de "toRetornoComandoRecusado". Com isso, a descrição do comando de retorno está ficando errada. Segue em anexo arquivo com correção. Obrigado. ACBrBancoBrasil.pas ACBrBancoBrasil.pas1 ponto
-
Tenho a seguinte rotina de inicialização da comunicação com o ACBrNFeMonitor. Nela descarto a mensagem de boas vindas. ************************************************************************ Function NFE_INIT() // Abre a comunicação com o ACBrNFeMonitor ************************************************************************ Local P, RET := .T., TFIM, IP, PORTA, RESP, WARQ, TEMP WARQ := 'nfe'+strzero(P_TERMINAL,2)+'.rel' if ! file(WARQ) WARQ := 'nfe.rel' if ! file(WARQ) // terminal nao precisa acessar o ACBr. return .t. endif endif if ! empty(sENDER) // Já está aberto... return .t. endif if file(WARQ) if CREL_CABEC(WARQ) sENDER := CREL_LE('ENDERECO') endif CREL_END() else ALERTA('Arquivo NFE.REL ou NFE'+strzero(P_TERMINAL,2)+'.REL|nao encontrado.',,,COR_ERRO) return .F. endif IP := '' PORTA := 0 #ifdef __XHARBOUR__ if ! (PATH_DEL $ sENDER) /// Abrir comunicacao TCP/IP P := at(':',sENDER) if P = 0 P := len(sENDER)+1 endif IP := substr(sENDER,1,P-1) if empty(IP) RET := .F. else PORTA := val(substr(sENDER,P+1)) if PORTA = 0 PORTA := 3436 endif inetinit() RET := .F. TFIM := Seconds() + 5 /// Tenta conectar durante 5 segundos /// do while Seconds() < TFIM .and. ! RET sSOCKET := inetconnect(IP,PORTA) RET := (ineterrorcode(sSOCKET) = 0) MySleep(500) enddo endif if RET InetSetTimeout( sSOCKET, 3000 ) // Timeout de Recepção 3 seg // RESP := InetRecvEndBlock( sSOCKET, ETX ) RET := ('ACBrNFeMonitor' $ RESP ) // Recebeu as boas vindas ? endif endif #endif if PATH_DEL $ sENDER /// Abrir comunicacao TXT if right(sENDER,1) <> PATH_DEL sENDER := sENDER + PATH_DEL endif endif if ! RET sENDER := '' endif return RET1 ponto
-
ops, desculpa ai, foi mal, falta de atenção, tens razao. obrigado.1 ponto
-
Alterei o componente, agora o método ABrCotacao.AtualizarTabela possui um parâmetro para informar a data que deseja visualizar, basta atualizar e recompilar. Obrigado pela contribuição com a ideia.1 ponto
-
HTTPGet('http://www4.bcb.gov.br/Download/fechamento/20140518.csv'); funciona perfeitamente dessa forma na procedure TACBrCotacao.AtualizarTabela;1 ponto
-
1 ponto
-
Boa tarde Não sei se esse problema continua nas outras, mas me lembro de algo que era sugerido pelo suporte da porta COM se no máximo até a 5! então tente modificar deixando em uma COM bem baixa!1 ponto