Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 20-12-2015 em todas as áreas

  1. Boa tarde pessoal, estou utilizando a tabela ibpt para calcular o de olho no imposto mais não sei se esta certo gostaria da opinião de vocês fiz essa rotina para calcular item a item baseado em que encontrei aqui no fórum veja como ficou ///////////////////////////////////////////////// //Função utilizada para truncar um valor real ///////////////////////////////////////////////// Function Truncar(Value:Real;Casas:Integer):Real; ///////////////////////////////////////////////// Var sValor:String; nPos:Integer; begin //Transforma o valor em string sValor := FloatToStr(Value); //Verifica se possui pondo decimal nPos := Pos(DecimalSeparator,sValor); If ( nPos > 0 ) Then begin sValor := Copy(sValor,1,nPos+Casas); End; Result := StrToFloat(sValor); end; //função para calcular impostos federal, estadual e municipal function CalculaTributos(vTotalItem : Double; NCM : String; servico : Boolean; fci : String; ex : String) : Double; var qryConsulta : TZQuery; vTributosF, vTributosE, vTributosM : Double; begin try qryConsulta := TZQuery.Create(Application); with qryConsulta do begin Active := False; Connection := frmmodulo.conexao; SQL.Clear; SQL.Add('SELECT COALESCE(ALIQNACIONAL_IBPT,0) AS ALIQNACIONAL_IBPT,'); SQL.Add('COALESCE(ALIQINTERNACIONAL_IBPT,0) AS ALIQINTERNACIONAL_IBPT,'); SQL.Add('COALESCE(ALIQESTADUAL_IBPT,0) AS ALIQESTADUAL_IBPT,'); SQL.Add('COALESCE(ALIQMUNICIPAL_IBPT,0) AS ALIQMUNICIPAL_IBPT'); SQL.Add('FROM NCM WHERE NCM = :NCM AND EX_IBPT = :EX_IBPT'); SQL.Add('AND TABELA_IBPT = :TABELA_IBPT;'); ParamByName('NCM').AsString := StringReplace(NCM, '.', '', [rfReplaceAll, rfIgnoreCase]); ParamByName('EX_IBPT').AsString := ex; if servico then ParamByName('TABELA_IBPT').AsString := '1' else ParamByName('TABELA_IBPT').AsString := '0'; Active := True; First; end; if qryConsulta.Eof then begin vTributosF := 0; vTributosE := 0; vTributosM := 0; end else begin if fci = '' then begin vTributosF := Truncar((vTotalItem * qryConsulta['ALIQNACIONAL_IBPT']) / 100, 2); vTributosE := Truncar((vTotalItem * qryConsulta['ALIQESTADUAL_IBPT']) / 100, 2); vTributosM := Truncar((vTotalItem * qryConsulta['ALIQMUNICIPAL_IBPT']) / 100, 2); end else begin vTributosF := Truncar((vTotalItem * qryConsulta['ALIQINTERNACIONAL_IBPT']) / 100, 2); vTributosE := Truncar((vTotalItem * qryConsulta['ALIQESTADUAL_IBPT']) / 100, 2); vTributosM := Truncar((vTotalItem * qryConsulta['ALIQMUNICIPAL_IBPT']) / 100, 2); end; end; Result := vTributosF + vTributosE + vTributosM; except Result := 0; end; end; para obter o resultado fiz assim sera que é isso mesmo?
    1 ponto
  2. Estou postando o TXT para análise, ACBrMonitorPLUS 0.1.12.6. Sds, Ricardo. NOTAFISCAL.txt
    1 ponto
  3. sfwinfo, você consegui fazer funcionar pelo TXT da SEFAZ? estou tentando aqui e sempre dá erro de ERRO: List index (1) out of bounds. Sds, Ricardo.
    1 ponto
  4. Bom dia Leao aumentei a DESCRICAO VARCHAR(600) para DESCRICAO VARCHAR(1000) e deu certo! nesse você esta inserindo na tabela Cest e o correto é Tab_Cest e verifica o tamanho do campo DESCRICAO VARCHAR(600)
    1 ponto
  5. Desculpe só vi seu comentário hoje, confere sim a função ta dentro de um Loop somando item a item
    1 ponto
  6. Só para complementar, o que identifica a nota perante o fisco é o protocolo, a numeração é somente um controle do lojista, alguns contares teimam que a numeração tem que ser sequencial no envio, mas isso é informação antigo, de quando se emitia nota manual, hoje com a nota eletrônica o que vale é o protocolo. A restrição é a que o Sérgio citou, 30 dias para envio, lembrando também que se você furar uma numeração ela tem que ser inutilizada dentro do prazo para não criar problemas com o fisco.
    1 ponto
  7. Outra informação é que o trunk será em breve gerado uma tag e não vai mais existir no endereço hoje usado no svn! Quem não migrou comece a se mexer !
    1 ponto
  8. Natalia, eu também concordo com o Sérgio. Fiz a migração do trunk1 para trunk2 e foi muito mais tranquilo do que imaginava, porque eu não usava FortesReport (que é facílimo de instalar). Precisei alterar muito pouco no meu aplicativo para fazer as adequações e tive muita atenção por parte dos moderadores e dos colegas para tirar dúvidas. Não vale a pena persistir no trunk1. O trabalho que você terá tentando adequar o trunk1 às novas NTs será muito mais dispendioso. Eu levei 2 dias para adequar meus aplicativos de NFe,CTe e MDFe. No SPed não precisei alterar nada.
    1 ponto
  9. Aconselho você a migrar para o Trunk2, não só pelo fato de já estar adaptado para as exigências que vão entrar em vigor, mas também pela estrutura que foi desenvolvida, um código mais "limpo" que tem nos dado respostas mais rápidas nos componentes, principalmente o ACBrNFe.
    1 ponto
  10. Você não terá problemas com a ordem em que as notas forem transmitidas, mas terá rejeição se qualquer nota tiver a data de emissão superior a 30 dias.
    1 ponto
  11. Desculpe, mas o assunto é diferente do enunciado no tópico... "Sat - impressora sem papel"... Isso é uma regra do fórum, importante de ser seguida, para mantermos um banco de dados de perguntas e respostas mais acurado...
    1 ponto
  12. Sim, foi por isso que eu não encontrei, nem me atentei da falta do "U", final de ano é a cabeça está a 1.000
    1 ponto
  13. Ps: e aproposito nessa ultima atualização do ACBr fui usar o DANFeNFCeA4.fr3 da pasta report do exemplo e me retornou vários erros, não se foi mudado algo nele só vi que ele esta menor também!
    1 ponto
  14. Agora sim ta certo! Segue em anexo o arquivo DANFeNFCeA4.fr3 att. DANFeNFCeA4.fr3
    1 ponto
  15. Estranho eu testei e esta certo!
    1 ponto
  16. É a descrição da lei ta errado mesmo errado Informação dos Tributos Totais Incidentes (Lei Federal 12.742/2012): certo Informação dos Tributos Totais Incidentes (Lei Federal 12.741/2012): https://regys.com.br/nova-tabela-ibpt-versao-15-2-a/
    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.