Ir para conteúdo
  • Cadastre-se

hleorj

Moderadores
  • Total de ítens

    1.303
  • Registro em

  • Última visita

  • Days Won

    9

Posts postados por hleorj

  1. Boa tarde Henrique,

    Altere a linha: Documento := Trim(NotaUtil.LimpaNumero(Documento));

    para: Documento := Trim(DFeUtil.LimpaNumero(Documento));

    e tenta compilar novamente.

    [DCC Error] Unit1.pas(930): E2003 Undeclared identifier: 'DFeUtil'

  2. Estou com o mesmo problema, a nfe é autorizada normal e quando imprimi o danfe alguns itens sai com o valor unitário zerado. Consultei no portal da nota fiscal eletrônica a nfe e no portal a nota esta com todos os valores corretos. Acredito que o problema seja somente no danfe! Alguem tem alguma solução?

    atualize o componente.

  3. Caro Italo na sua atualizacao na unit pcnConversao

    TpcnOrigemMercadoria = (oeNacional, oeEstrangeiraImportacaoDireta, oeEstrangeiraAdquiridaBrasil,

    oeNacionalConteudoImportacaoSuperior40, oeNacionalProcessosBasicos,

    oeNacionalConteudoImportacaoInferior40,

    oeEstrangeiraImportacaoDiretaSemSimilar, oeEstrangeiraAdquiridaBrasilSemSimilar);

    De

    oeNacionalConteudoImportacaoInferior40,

    oeNacionalConteudoImportacaoInferiorIgual40,

    ja que a norma diz : 5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%;

    grato pela sua grande ajuda ao componente.

  4. Não poste alterações, poste o arquivo alterado, assim podemos comparar e enviar corretamente as alterações.

    Caro regys ,

    Melhor assim todos leem e farão seu comentários antes de testar. Quando eu quero uma alteração sempre VOU postar assim antes de pedir uma devida alteração do SVN.

    E coloco

    Ps:

    CÓDIGO NÃO TESTADO.

    Grato pelo seu cometário

  5. Colocando a Nota Tecnica 2012/005 para funcionar em ambiente de Homologação a partir de : 10/12/12;

    Em pcnConversao.pas

    De

    TpcnOrigemMercadoria = ( oeNacional, oeEstrangeiraImportacaoDireta,oeEstrangeiraAdquiridaBrasil);

    Para

    TpcnOrigemMercadoria = (

    oeNacional,

    oeEstrangeiraImportacaoDireta,

    oeEstrangeiraAdquiridaBrasil,

    oeNacionalConteudodeImportacaoMaior40,

    oeNacionalProcessosProdutivos,

    oeNacionalConteudodeImportacaoIgualInferior40,

    oeEstrangeiraImportacaoDiretaSemSimilar,

    oeEstrangeiraAdquiridaBrasilSemSimilar );

    Criar um nova Constante

    TpcnOrigemMercadoriaString : array[0..7] of String =(

    '0',

    '1',

    '2',

    '3',

    '4',

    '5',

    '6',

    '7' );

    De

    function OrigToStr(const t: TpcnOrigemMercadoria): string;

    begin

    result := EnumeradoToStr(t, ['0', '1', '2'], [oeNacional, oeEstrangeiraImportacaoDireta, oeEstrangeiraAdquiridaBrasil]);

    end;

    Para

    function OrigToStr(const t: TpcnOrigemMercadoria): string;

    begin

    result := EnumeradoToStr2( t , TpcnOrigemMercadoriaString );

    end;

    De

    function StrToOrig(var ok: boolean; const s: string): TpcnOrigemMercadoria;

    begin

    result := StrToEnumerado(ok, s, ['0', '1', '2'], [oeNacional, oeEstrangeiraImportacaoDireta, oeEstrangeiraAdquiridaBrasil]);

    end;

    Para

    function StrToOrig(var ok: boolean; const s: string): TpcnOrigemMercadoria;

    begin

    result := TpcnOrigemMercadoria( StrToEnumerado2(ok , s, TpcnOrigemMercadoriaString ) );

    end;

    Ps: Atualização com otimização do Componente;

  6. Caro carlos ,

    O inicio do Iceberg

    Na pcnProcNFe.pas

    private

    FGerador: TGerador;

    FSchema: TpcnSchema;

    FPathNFe: string;

    FPathRetConsReciNFe: string;

    FPathRetConsSitNFe: string;

    // Novos campos

    FinfProt : string;

    fId :String;

    FtpAmb: TpcnTipoAmbiente;

    FverAplic: string;

    FchNFe: string;

    FdhRecbto: TDateTime;

    FnProt: string;

    FdigVal: string;

    FcStat: integer;

    FxMotivo: string;

    .

    .

    .

    published

    property Gerador: TGerador read FGerador write FGerador;

    property Schema: TpcnSchema read Fschema write Fschema;

    property PathNFe: string read FPathNFe write FPathNFe;

    property PathRetConsReciNFe: string read FPathRetConsReciNFe write FPathRetConsReciNFe;

    property PathRetConsSitNFe: string read FPathRetConsSitNFe write FPathRetConsSitNFe;

    // novo

    property infProt : string Read FinfProt write FinfProt;

    property Id : String Read fId write fId;

    property tpAmb: TpcnTipoAmbiente read FtpAmb write FtpAmb;

    property verAplic: string read FverAplic write FverAplic;

    property chNFe: string read FchNFe write FchNFe;

    property dhRecbto: TDateTime read FdhRecbto write FdhRecbto;

    property nProt: string read FnProt write FnProt;

    property digVal: string read FdigVal write FdigVal;

    property cStat: integer read FcStat write FcStat;

    property xMotivo: string read FxMotivo write FxMotivo;

    end;

    .

    .

    .

    function TProcNFe.GerarXML: boolean;

    .

    .

    .

    if ProtLido then

    begin

    // Nova implementacao para atribuir as devidas tag

    xProtNFe :=

    (**)'';

    if finfProt = 'infProt' then

    xProtNFe := xProtNFe + '<'+finfProt+'>'

    else

    xProtNFe := xProtNFe + '<'+finfProt+fId+'">';

    xProtNFe := xProtNFe +

    (*********)'' + TpAmbToStr(FtpAmb)+''+

    (*********)'' + FverAplic+''+

    (*********)'' + FchNFe+''+

    (*********)'' + FormatDateTime('yyyy-mm-dd"T"hh:nn:ss',FdhRecbto)+''+

    (*********)'' + FnProt+''+

    (*********)'' + FdigVal+''+

    (*********)'' + IntToStr(FcStat)+''+

    (*********)'' + FxMotivo+''+

    (******)''+

    {****}'';

    end;

    ...

    Em breve mais do ICEBERG

  7. Caro carlos,

    Temos aqui um ICEBERG, pois a minha solução NÃO irá atender o componente. Pelo que estou lendo, existem outras unit's que deveram ser atualizadas. Sendo que uma delas terá que ser adicionado algumas propriedades para funcionar corretamente a configuração da Tag ( infProt ou infProt Id ).

    Até Breve

  8. Obrigado pela informação.

    Vou dar uma olhada no manual. Vou baixar os manuais e as atualizações.

    Sabe me dizer pelo menos como reduzir o tamanho desta linha em especifico?

    Sabe tambem se é obrigatorio ter icmst destacado por item? Ontem olhei no ultimo manual de integração e não vi.

    Sai do trabalho ontem e fui tentar em casa como não tenho uma mesa e cadeira adequados meu estava como o corpo cansado. Preciso mesmo desta ajuda.

    Obrigado

    quote]

    Sabe tambem se é obrigatorio ter icmst destacado por item? Ontem olhei no ultimo manual de integração e não vi.

  9. Caro Carlos ,

    Fiz um estudo da sua implementação

    Segue a minha Sugestão para geração da Tag infProt Id. de acordo com manual de integração.

    Sugiro criar uma Funcao em pcnConversao.pas para checar o órgão gerador ( Vide item 5.6 do manual pag. 86 ) e retornar a Tag infProt ou infProt Id.

    Function GerarId ( Var sProtocolo : String ) : String;

    var

    IOrgaoGerador : Integer;

    begin

    IOrgaoGerador := StrToInt( Copy(sProtocolo , 1,1) );

    // 1 - Secretaria de Fazenda Estadual

    // 2 - Receita Federal

    // 3 – SEFAZ Virtual RS

    // 4 – SEFAZ Virtual RFB

    case IOrgaoGerador of

    1 : Result := '';

    2 ,

    3,

    4 : Result := '' ;

    else

    Result := 'Erro';

    end

    end;

    Altera Em pcnProcNFe;

    function TProcNFe.GerarXML: boolean;

    xProtNFe :=

    (**)'' +

    De (******)''+// + RetornarConteudoEntre(XMLinfProt.text, '') +

    Para (******)GerarId( XMLinfProt2.text ) +

    (*********)PreencherTAG('tpAmb', XMLinfProt.text) +

    (*********)PreencherTAG('verAplic', XMLinfProt.text) +

    (*********)PreencherTAG('chNFe', XMLinfProt.text) +

    (*********)PreencherTAG('dhRecbto', XMLinfProt2.text) +

    (*********)PreencherTAG('nProt', XMLinfProt2.text) +

    (*********)PreencherTAG('digVal', XMLinfProt.text) +

    (*********)PreencherTAG('cStat', XMLinfProt.text) +

    (*********)PreencherTAG('xMotivo', XMLinfProt.text) +

    (******)'' +

    {****}'';

    end;

    if ProtLido then

    begin

    xProtNFe :=

    (**)'' +

    De (******)''+

    Para (******)GerarId(FnProt ) +

    (*********)''+TpAmbToStr(FtpAmb)+''+

    (*********)''+FverAplic+''+

    (*********)''+FchNFe+''+

    (*********)''+FormatDateTime('yyyy-mm-dd"T"hh:nn:ss',FdhRecbto)+''+

    (*********)''+FnProt+''+

    (*********)''+FdigVal+''+

    (*********)''+IntToStr(FcStat)+''+

    (*********)''+FxMotivo+''+

    (******)''+

    {****}'';

    end;

    Altera Em pcnNFeW;

    function TNFeW.GerarXml: boolean;

    if nfe.procNFe.nProt <> '' then

    begin

    xProtNFe :=

    (**)'' +

    De (******)''

    Para (******)GerarId(nfe.procNFe.nProt ) +

    (*********)''+TpAmbToStr(nfe.procNFe.tpAmb)+''+

    (*********)''+nfe.procNFe.verAplic+''+

    (*********)''+nfe.procNFe.chNFe+''+

    (*********)''+FormatDateTime('yyyy-mm-dd"T"hh:nn:ss',nfe.procNFe.dhRecbto)+''+

    (*********)''+nfe.procNFe.nProt+''+

    (*********)''+nfe.procNFe.digVal+''+

    (*********)''+IntToStr(nfe.procNFe.cStat)+''+

    (*********)''+nfe.procNFe.xMotivo+''+

    (******)''+

    {****}'';

    (**)Gerador.wTexto(xProtNFe);

    Gerador.wGrupo('/nfeProc');

    end;

    Muito agradecido por propor uma solução

    ATENÇÃO CÓDIGO NÃO TESTADO.

  10. Caro Carlos ,

    Poderia nos dizer quais alterações que realizou para executarmos testes e ajustes.

    Atentar que existe uma regra no manual de integração para não existência do id no xml.

    Versão 4.0.1-NT2009.006 Pag. 46

    Identificador da TAG a ser assinada, somente precisa ser informado se a UF assinar a

    resposta. Em caso de assinatura da resposta pela SEFAZ preencher o campo com o Nro do Protocolo, precedido com o literal “ID”

    Grato

  11. Pessoal valeu pelo retorno,

    Mas pelas informações adquiridas não será possível mesmo fazer o que quero para não ficar dependendo dos e-mails dos fornecedores, e desculpe Italo realmente eu não li as normas técnicas e até pesquisei em alguns fóruns antes de começar esse post mas as informações que encontrei não me ficou claro, prefiro entrar nos fóruns e trocar ideias e conhecimento (acho que pra isso que ser os fóruns) com pessoas que tenham passado por situações na qual pretendo passar acho mais valido do que ficar lendo normas claro algumas são essências, realmente acho que nos anos 80 e 90 deveria ser complicado dou um grande valor para as pessoas que passar por esse época tendo somente livros para pesquisar e entendo os seus 4.9 mas VIVA A TECNOLOGIA!!!!

    Valeu pessoal.

    Caro Fabiano ..

    Ler as Regras faz bem a saúde. Ainda mas em Nota Fiscal que esta tudo documentado. A leitura das normas iram te facilitar em muito as novas implementações.

  12. É João Henrique,

    Nos meus 4.9 cada dia que passa percebo que o pessoal não tem vontade de ler, e o que é pior as vezes não conseguem interpretar o que esta escrito.

    Esse assunto sobre o Download de NFe já foi discutido várias vezes no fórum, as vezes somos mal educados pedindo para que realizem pesquisas no fórum antes de postar.

    Hoje temos a internet, fóruns que discutem um determinado assunto, João, você já imaginou esse pessoal desenvolvendo programas na decada de 80 e 90, programando em Turbo Pascal por exemplo, sem internet?

    Rs... pois é... somos da velha escola... lemos até bula de remédio... ops... mas isso todos deveriam fazer... :)

    []´s

    Humm .. acho q vc era um bebe .. em 80 ou 90 ...rsrsr

  13. Estamos desenvolvendo uma rotina em que o cliente não precise ficar descompactando/salvando/procurando/abrindo arquivos xml para importar e dar entrada em seu estoque.

    Importamos perfeitamente arquivos xml no acbr e daí fazemos a leitura dos dados.

    Mas quando recebo o arquivo por email, direto no aplicativo, através dos componentes Indy TidPop3 e TIdAttachment salvando o arquivo no hd e depois abrindo no AcBR, este acusa muitos erros.

    Descobri que o comp Indy inclui quebras de linhas no xml antes de salvar, inlcuisve quedas dentro das tags.

    Tentei remover ou substituir mas os erros continuam.

    Exemplo: 4543#$A#$DF>

    Neste caso não dá pra substituir porque ficaria assim:

    4543F>

    Exemplo:

    Neste caso não posso remover porque ficaria assim:

    Alguem sabe alguma forma de configurar o Indy para não incluir quebras de linha?

    Tente algo parecido conforme a minha rotina

    procedure TGerenciar.SalvarNnfeCCe( sNome:String;sDocumento: Widestring );

    Var

    sArquivo : TextFile;

    begin

    //

    // Cria a pasta em versoes futuras

    if not DirectoryExists(PastaNfeCc) then ForceDirectories(PastaNfeCc);

    AssignFile(sArquivo, PastaNfeCc + sNome +'-cce.xml');

    Rewrite( sArquivo);

    Write( sArquivo, AnsiToUTF8(sDocumento) );

    CloseFile(sArquivo);

    end;

    Nos de feed

  14. Favor de ler como se emitir uma nota em simples nacional;

    No Grupo Icms

    vc esta informando 500 – ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação;

    Entao o seu Cfop NÃO DEVER 5102;

    Nesse caso a prática não seria correta ou o Sefaz não processaria a nota ?

    Tenho notas aqui com CSOSN 500 e CFOP 5102 e até hoje não houve nenhuma recusa.

    Att,

    Sérgio

    Nem vai haver por enquanto , mas ... Leia :

    5401 Venda de produção do estabelecimento em operação com produto sujeito ao regime de substituição tributária, na condição de contribuinte substituto

    5402 Venda de produção do estabelecimento de produto sujeito ao regime de substituição tributária, em operação entre contribuintes substitutos do mesmo produto

    5403 Venda de mercadoria, adquirida ou recebida de terceiros, sujeita ao regime de substituição tributária, na condição de contribuinte-substituto

    5405 Venda de mercadoria, adquirida ou recebida de terceiros, sujeita ao regime de substituição tributária, na condição de contribuinte-substituído

    5408 Transferência de produção do estabelecimento em operação com produto sujeito ao regime de substituição tributária

    5409 Transferência de mercadoria adquirida ou recebida de terceiros em operação com mercadoria sujeita ao regime de substituição tributária

    5410 Devolução de compra para industrialização em operação com mercadoria sujeita ao regime de substituição tributária

    5411 Devolução de compra para comercialização em operação com mercadoria sujeita ao regime de substituição tributária

    5412 Devolução de bem do ativo imobilizado, em operação com mercadoria sujeita ao regime de substituição tributária

    5413 Devolução de mercadoria destinada ao uso ou consumo, em operação com mercadoria sujeita ao regime de substituição tributária.

    5414 Remessa de produção do estabelecimento para venda fora do estabelecimento em operação com produto sujeito ao regime de substituição tributária

    5415 Remessa de mercadoria adquirida ou recebida de terceiros para venda fora do estabelecimento, em operação com mercadoria sujeita ao regime de substituição tributária

    Por dedução ao ler os codigos de Cfop :

    Cfop 5405 e CSOSN 500 seriam uma combinação perfeita ?

    5405 Venda de mercadoria, adquirida ou recebida de terceiros, sujeita ao regime de substituição tributária, na condição de contribuinte-substituído

    500 – ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação;

    Mas o cfop 5405 pode fazer outras combinações com outros codigos de Simples Nacional no caso do produto estiver sujeito ao regime de substituição tributária.

    Sugiro a você, gigainfo , entrar em contato com o escritorio de contabilidade para saber como fazer as devidas correções nas suas nfe´s.

  15. Boa tarde, Meus programas estavam funcionando corretamente até ontem quando eu fiz uma atualização do ACBRnfe via SVN, hoje não consegui emitir nenhuma nota, todas que tento emitir da a seguinte mensagem "total da nf difere do somatorio dos valores que compoe o valor total da nf". Alguém pode me dar uma Luz? foi feita alguma atualização ?

    segue anexo um XML de um sistema que estava ok ontem e hoje ja não funcionou.

    Favor de ler como se emitir uma nota em simples nacional;

    No Grupo Icms

    vc esta informando 500 – ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação;

    Entao o seu Cfop NÃO DEVER 5102;

    No grupo ipi

    você esta informando 50 para uma nfe de simples nacional ( 50-Saída tributada )

    O correto seria 53-Saída não-tributada

    No Grupo Pis

    você esta informando 01 para uma nfe de simples nacional ( 01 – Operação Tributável (base

    de cálculo = valor da operação

    alíquota normal

    (cumulativo/não cumulativo)); )

    O correto seria 08 - Operação Sem Incidência da Contribuição;

    No Grupo Confins

    você esta informando 01 para uma nfe de simples nacional ( 01 – Operação Tributável (base

    de cálculo = valor da operação

    alíquota normal

    (cumulativo/não cumulativo)); )

    O correto seria 08 - Operação Sem Incidência da Contribuição;

×
×
  • 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...