Ir para conteúdo
  • Cadastre-se

Godin34

Membros
  • Total de ítens

    10
  • Registro em

  • Última visita

Posts postados por Godin34

  1. Olá Leonardo, Obrigado pelo retorno.

    Estou usando como Regime normal. Veja como estou usando o codigo:

          while not CdsItensNFe.Eof do
          begin
            Inc(aNumIten);
            with Det.Add do
            begin
              Prod.nItem := aNumIten;
              Prod.cProd := IntToStr(CdsItensNFe.FieldByName('ID_PRODUTO').AsInteger);
              Prod.cEAN := '';
              Prod.xProd := CdsItensNFe.FieldByName('DESCRICAO').AsString;
              Prod.NCM := CdsItensNFe.FieldByName('NCM').AsString;
              Prod.EXTIPI := CdsItensNFe.FieldByName('EXTIPI').AsString; ;
              Prod.CFOP := CdsItensNFe.FieldByName('CFOP').AsString;
              Prod.uCom := CdsItensNFe.FieldByName('UNIDADE').AsString;
              Prod.qCom := CdsItensNFe.FieldByName('QUANTIDADE').AsFloat;
              Prod.vUnCom := CdsItensNFe.FieldByName('VALOR_UNITARIO').AsFloat;
              Prod.vProd := CdsItensNFe.FieldByName('QUANTIDADE').AsFloat*
                                     CdsItensNFe.FieldByName('VALOR_UNITARIO').AsFloat;
              Prod.cEANTrib := '';
              Prod.uTrib := CdsItensNFe.FieldByName('UNIDADE').AsString;
              Prod.qTrib := CdsItensNFe.FieldByName('QUANTIDADE').AsFloat;
              Prod.vUnTrib := CdsItensNFe.FieldByName('VALOR_UNITARIO').AsFloat;
              Prod.vFrete := CdsItensNFe.FieldByName('VALOR_FRETE').AsFloat;
              Prod.vSeg := CdsItensNFe.FieldByName('VALOR_SEGURO').AsFloat;
              Prod.vDesc := CdsItensNFe.FieldByName('VALOR_DESCONTO').AsFloat;
              Prod.vOutro := CdsItensNFe.FieldByName('OUTRAS_DESPESAS').AsFloat;
              with Imposto do
              begin
                with ICMS do
                begin
                  // simples nacional
                  if (CdsEmitente.FieldByName('CRT').AsInteger = 1) then
                  begin
                    if CdsItensNFe.FieldByName('CSOSN').AsString = '101' then
                      CSOSN := csosn101
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '102' then
                      CSOSN := csosn102
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '103' then
                      CSOSN := csosn103
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '202' then
                      CSOSN := csosn202
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '203' then
                      CSOSN := csosn203
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '400' then
                      CSOSN := csosn400
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '500' then
                      CSOSN := csosn500
                    else if CdsItensNFe.FieldByName('CSOSN').AsString = '900' then
                      CSOSN := csosn900;
                  end;
                  // regime normal ou excesso
                  if (CdsEmitente.FieldByName('CRT').AsInteger = 2) or
                     (CdsEmitente.FieldByName('CRT').AsInteger = 3) then
                  begin
                    if CdsItensNFe.FieldByName('CST').AsString = '00' then
                       CST := cst00
                    else if CdsItensNFe.FieldByName('CST').AsString = '10' then
                    begin
                      if CdsItensNFe.FieldByName('ICMS_PART').AsString = 'S' then
                         CST := cstPart10
                      else
                         CST := cst10
                    end
                    else if CdsItensNFe.FieldByName('CST').AsString = '20' then
                       CST := cst20
                    else if CdsItensNFe.FieldByName('CST').AsString = '30' then
                       CST := cst30
                    else if CdsItensNFe.FieldByName('CST').AsString = '40' then
                       CST := cst40
                    else if CdsItensNFe.FieldByName('CST').AsString = '41' then
                       CST := cst41
                    else if CdsItensNFe.FieldByName('CST').AsString = '45' then
                       CST := cst45
                    else if CdsItensNFe.FieldByName('CST').AsString = '50' then
                       CST := cst50
                    else if CdsItensNFe.FieldByName('CST').AsString = '51' then
                       CST := cst51
                    else if CdsItensNFe.FieldByName('CST').AsString = '60' then
                       CST := cst60
                    else if CdsItensNFe.FieldByName('CST').AsString = '70' then
                       CST := cst70
                    else if CdsItensNFe.FieldByName('CST').AsString = '90' then
                    begin
                      if CdsItensNFe.FieldByName('ICMS_PART').AsString = 'S' then
                         CST := cstPart90
                      else
                         CST := cst90;
                    end;
                  end;
                  //
                  ICMS.orig := oeNacional;
                  ICMS.modBC := dbiValorOperacao;
                  ICMS.pRedBC := CdsItensNFe.FieldByName('REDUCAO_BASE').AsFloat;
                  ICMS.vBC := CdsItensNFe.FieldByName('BASE_ICMS').AsFloat;
                  ICMS.pICMS := CdsItensNFe.FieldByName('ALIQ_ICMS').AsFloat;
                  ICMS.vICMS := CdsItensNFe.FieldByName('VALOR_ICMS').AsFloat;
                  ICMS.modBCST := dbisMargemValorAgregado;
                  ICMS.pMVAST := CdsItensNFe.FieldByName('PERC_MVA').AsFloat;
                  ICMS.pRedBCST := CdsItensNFe.FieldByName('REDUCAO_BASE').AsFloat;
                  ICMS.vBCST := CdsItensNFe.FieldByName('BASE_ICMS_ST').AsFloat;
                  ICMS.pICMSST := CdsItensNFe.FieldByName('ALIQ_ICMS_ST').AsFloat;
                  ICMS.vICMSST := CdsItensNFe.FieldByName('VALOR_ICMS_ST').AsFloat;
                  ICMS.UFST := EdtUF.Text;
                  ICMS.pCredSN := CdsItensNFe.FieldByName('ALIQ_ICMS').AsFloat;
                  ICMS.vCredICMSSN := CdsItensNFe.FieldByName('VALOR_ICMS').AsFloat;

    Grato,

    Luís Godinho.

  2. Olá, pessoal!

    No meu sistema coloquei a opção para no caso de CST selecionar a CST90 ou CSTPart90, porém ao gerar o XML sempre cai na tag <imposto><ICMSPart><CST>90</CST> e preciso que saia na tab <Imposto><ICMS90><CST>90</CST>, da primeira forma tem dado erro na validação.

    Acredito que seja algo simples que não estou sabendo resolver e gostaria que se possível me desse uma dica.

    Grato,

    Luís Godinho.

  3. Olá! Me desculpe se estiver abrindo um tópico já existente. Mas fiz algumas pesquisa e não encontrei repostas.

     

    A questão é a seguinte. Desenvolvi uma aplicação para emissão do NFe e NFCe no delphi 7 e esta funcionando tudo certo. E tive que migrar a rotina para uma aplicação com o delphi 2010, e ai começa o problema. Não sei se tem algo haver com a versão do delphi.

     

    Acontece o seguinte: Gero o XML, assino e passo pela validação. Até aí tudo certo, porém ao mandar enviar a NFe gerada o sistema entra no processamento e quando é exibida a primeira mensagem retorno indicando o recebimento do lote, as informações desta estão todas zeradas conforme imagem anexa.

     

    Se pego o mesmo XML e coloco envio usando minha aplicação criada no dephi 7, o procedimento corre tudo certo, mas na aplicação compilada no delphi 2010 sempre da o mesmo problema 

     

    Se alguem tiver alguma dica para me dar, pois tentei algumas soluções sem exito.

     

    Grato,

     

    Luís Godinho.

  4. Já tinha dado uma olhada, mas não encontrei nada que me leva-se a esta dll. Lendo o PDF de perguntas frequentes encontrei a seguinte descrição:

    P: A DLL (Driver) do SAT será a mesma para todos os fabricantes e modelos de SAT-CF-e?

    Todos os fabricantes devem implementar suas DLLs seguindo exatamente as especificações,

    padronizando a comunicação entre AC e SAT, conforme o capitulo 6 da Especificação de Requisitos do

    SAT, disponível em www.fazenda.sp.gov.br/sat > downloads > arquivos vigentes. O nome da DLL não é

    padronizado com “SAT.dll”.

     

    A mensagem que dá quando mando instalar o componente é a seguinte:

    O programa não pode ser iniciado porque esta faltando c:\SAT\SAT.DLL no seu computador. Tente reinstala-lo para resolver este problema.

     

    Fiz o download hoje (16/08/2013) do componente via SVN.

     

    Desde já agradeço pela atenção.

  5. Fiz o download dos componentes, porém quando fui instalar o AcBr_Sat compilou normalmente, mas ao instalar diz que falta o arquivo sat.dll que não encontrei junto com os outros arquivos baixados. Tem alguma dica sobre como consigo esta dll.

  6. Estou com um problema em minha aplicação PAF-ECF, com relação a exibição das mensagens geradas pelo componente, devido ao erro de comunicação com a impressora.

    Gostaria de que as mesmas não sejam exibidas.

    Já alterei a propriedade ExibirMensagem para false e mesmo assim a mensagem aparece.

    O que devo fazer para resolver.

    Desde já agradeço pela colaboraçã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.