Ir para conteúdo
  • Cadastre-se

Ricardo Parreira Pires

Membros
  • Total de ítens

    3
  • Registro em

  • Última visita

Ricardo Parreira Pires's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Reputação

  1. Olá Daniel Simões, Conforme solicitado, em anexo encontra-se o log gerado pelo ECFTeste (de 01/04/2014) usando o simulador Bematech. Quando peço pra imprimir um item passando como alíquota S01, não tenho o resultado esperado, o método exposto anteriormente não encontra a alíquota. ---- No simulador tenho cadastrado as aliquotas: Aliquota: 01 Indice: 01 -> 18 Tipo: T Aliquota: 02 Indice: 02 -> 18 Tipo: T Aliquota: 03 Indice: 03 -> 17 Tipo: T Aliquota: 04 Indice: 04 -> 17 Tipo: T Aliquota: 05 Indice: 05 -> 2 Tipo: S Aliquota: 06 Indice: 06 -> 3 Tipo: T Aliquota: 07 Indice: 07 -> 3 Tipo: T Aliquota: 08 Indice: 08 -> 3 Tipo: S Aliquota: 09 Indice: 09 -> 3 Tipo: S ===== Colco-me a disposição para eventuais dúvidas, Espero poder sempre contribuir para este precioso projeto. acbrlog.txt acbrlog.txt
  2. Olá Daniel, Respondendo as perguntas. Qual foi o problema enfrentado ? Preciso imprimir Serviço com Alíquota e não imprime, ocorre erro informando que não existe a alíquota S0 (ou S1) depende do índice que esta cadastrada a alíquota de ICMS. Quando peço pra imprimir um serviço (ISSQN) com isenção de tributação (SI), não tributado (SN) ou substituição tributária (SF) funciona normalmente. Proposta é se existir alíquota para Serviço (ISSQN) as variáveis sejam alimentas com o indices e NÃO S0 ou S1; Qual comando você enviou ? VendeItem(.... ) - depurando. chegou a classe: TACBrECFBematech.VendeItem Codigo do Produto=1 Descricao=DESPESAS COM DIARIAS Quantidade=12 Valor Unitario=1 Valor Acrescimo=0 Valor Desconto=0 % Desconto=0 % Acrescimo=0 Aliquota=17 Totalizador=FS1 Unidade de Medida=UN Valor Unitario Final=1 Qual a mensagem de erro ? (não recordo bem se era Alíquota não cadastrada ou Alíquota não encontrada): S0 ou S1 (dependendo da alíquota) * A alíquota de 17% e 12 % ocorre erro (ambas estão cadastradas no ECF). Depurando a rotina e ela retorna a variável tem a letra S + índice da alíquota {S01, S02, S03, ... S15} Logo, quando existe alíquota a variável/parâmetro deveria ser alimentada com o índice {01, 02, 03.. 15} e com a codificação original variável/parâmetro é alimentada com S0 ou , S1) Qual é o LOG gerado pelo ACBrECF ? Não consultei o log. Desde já agradeço a atenção, Atenciosamente, Ricardo Pires
  3. Olá, Uso a ECF Bematech MP-25-FI Quando peço para imprimir Serviço com alíquota de ISSQN não consegue imprimir, Quanto o ISSQN é isento ou não tributado funciona perfeitamente, o problema é só quando tem alíquota A alíquota utilizada esta cadastrada. Eu sou novo no projeto ACBr e ainda não tenho permissões para efetuar commit. Quem puder dar essa força de verificar e aplicar a devida correção, agradeço. ACBrECFBematech.pas Verificando o código encontrei o problema. Unit ACBrECFBematech arquivo fisico: \ACBr\Fontes\ACBrSerial\ACBrECFBematech.pas Método: function TACBrECFBematech.AchaICMSAliquota( var AliquotaICMS: String): TACBrECFAliquota; quando é serviço e tem aliquota, retorna S1 ou S0 e deve retornar o índice da alíquota. Linha com Bug // 'S' : AliquotaStr := PadL( AliquotaICMS, 2, 'N') ; { SN, SF, SI } Sugestão de correção 'S' : if (Length(AliquotaICMS) > 1) and (AliquotaICMS[2] in ['N', 'F', 'I']) then AliquotaStr := padL(AliquotaICMS, 2, 'N') else AliquotaStr := padR(copy(AliquotaICMS,2,2),2,'0') ; {Indice} ======================================= Metodo completo para melhor visualização ===================================== function TACBrECFBematech.AchaICMSAliquota( var AliquotaICMS: String): TACBrECFAliquota; Var AliquotaStr : String ; begin Result := nil ; AliquotaStr := '' ; AliquotaICMS := UpperCase( Trim( AliquotaICMS ) ) ; case AliquotaICMS[1] of 'I' : AliquotaStr := 'II' ; 'N' : AliquotaStr := 'NN' ; 'F' : AliquotaStr := 'FF' ; 'T' : AliquotaICMS := 'T'+padR(copy(AliquotaICMS,2,2),2,'0') ; {Indice} // 'S' : AliquotaStr := PadL( AliquotaICMS, 2, 'N') ; { SN, SF, SI } // código anterior que deve ser melhorado. 'S' : if (Length(AliquotaICMS) > 1) and (AliquotaICMS[2] in ['N', 'F', 'I']) then // sugestão do novo código. AliquotaStr := padL(AliquotaICMS, 2, 'N') else AliquotaStr := padR(copy(AliquotaICMS,2,2),2,'0') ; {Indice} end; if AliquotaStr = '' then Result := inherited AchaICMSAliquota( AliquotaICMS ) else AliquotaICMS := AliquotaStr ; end; ================================ em anexo a unit completa.
×
×
  • 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.