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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...