jaime
-
Total de ítens
70 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por jaime
-
-
Esse requisito foi o cúmulo da burocracia. Sabe como o cliente é indeciso às vezes. "quero 2, não troca aquele item para 5, pensando melhor o outro quero 4...". Depois começa aparecer um monte de itens cancelado nas pre-vendas, vão no cliente querer saber porque ta tendo muito cancelamento.
Mas fazer o oque né !
Obrigado pela ajuda.
-
VI Req. Item 10
não disponibilizar função para alteração da quantidade dos produtos ou serviços vendidos.
Durante a criação do DAV ou PRÉ-VENDA, digamos que eu já lancei 5 produtos, eu não posso voltar nos itens anteriores e modificar a quantidade ?
Ou essa regra só passa a valer depois que encerrei o DAV ou PREVENDA, ai não poderia reabrir e alterar ?
Grato
Jaime.
-
vou ter que alterar também para outros bancos que possuo aqui como, por exemplo, Bradesco, Caixa Federal , Banco do Brasil (carteira 18), etc ?
Não. Aquela alteração foi só para o banco do brasil.
usa boleto Itaú ? Se usa, tá funcionando tudo em ordem e que carteira vc usa ?
O itau ainda não estou usando mas acredito que esteja ok.
Vou tentar encontrar um manual para geração de boletos da carteira 11....
Teriamos mais certeza de como é a composição, porque me orientei pelas funções do outro componente.
-
Tinha um versão do boleto que não estava modificando o TamanhoMaximoNossoNumero, eu setava mas continuava em 10.
Estou anexando a função que fiz a correção para modificar esse tamanho troca e faz um teste com ele que vai dar certo.
-
Os arquivos gerados por meio do comando previsto no item 19 do Requisito VII (Sintegra e SPED) devem conter todos os registros efetuados até o momento da execução do comando de sua geração, referentes às operações de saída e as prestações praticadas, inclusive aquelas registradas a partir de documento fiscal emitido manualmente.
Se for solicitado para gerar o arquivo do dia corrente antes da redução Z como informar o nr. do CRZ, Grande total final. As notas fiscais não tem problema, mas como fazer com os ecfs ? Gera um arquivo parcial mesmo ? Montar o próximo CRZ ?
Ou posso tirar um Z antes de gerar o arquivo no dia da homologação ?
Grato
Jaime.
-
Já a função Bematech_FI_VendeItemArredondamentoMFD, que além da venda do item com 14 dígitos no código, permite o arredondamento do valor, está disponível apenas no modelo MP-4000 TH FI, devido ao seu comando implementado
Eu apanhei e descobri uma vez que a bematech só aceita 13 dígitos no código do produtos. Se tiver 14 da erro na função. Mas parece que o modelo MP-4000 já aceita os 14 que o paf exige Req XI Item 2:
o código da mercadoria ou serviço, devendo o campo suportar o código GTIN (Número Global de Item Comercial - Global Trade Item Number) com 14 caracteres;
Grato
Jaime
-
Vou anexar.
Só um detalhe o setar TamanhoMaximoNossoNum no seu caso vai ter que ser 4 porque o seu convênio é de 7 digitos que perfaz um total de 11 digito no total da composição do nosso número que e convenio + o seu numero.
-
Atilo na formação do nosso numero fiz uma modificação para a carteira 11 de acordo com o entendimento pelo gbBoleto já que não temos a documentação do banco.
Como o convenio tem 7 posições o tamanho maximo do nr. de controle da será de 4 digitos.
function TACBrBancoBrasil.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String;
var
ANossoNumero, AConvenio : string;
aCarteira: LongInt;
TamDocCarteira11 : Integer;
begin
with ACBrTitulo do
begin
AConvenio := ACBrBoleto.Cedente.Convenio;
ANossoNumero := OnlyNumber(NossoNumero);
aCarteira := StrToIntDef(Carteira,0);
if (ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '17') or (ACBrTitulo.Carteira = '18') then
begin
// CCCCNNNNNNN-X
if (Length(AConvenio) <= 4) and (fpTamanhoMaximoNossoNum = 7) then
ANossoNumero := padR(AConvenio, 4, '0') + padR(ANossoNumero, 7, '0')
// CCCCCCNNNNN-X
else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) and (fpTamanhoMaximoNossoNum = 5) then
ANossoNumero := padR(AConvenio, 6, '0') + padR(ANossoNumero, 5, '0')
// CCCCCCCNNNNNNNNNN
else if (Length(AConvenio) = 7) and (fpTamanhoMaximoNossoNum = 10) then
ANossoNumero := padR(AConvenio, 7, '0') + padR(ANossoNumero, 10, '0')
// NNNNNNNNNNNNNNNNN
else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) and (fpTamanhoMaximoNossoNum = 17)
and ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) then
ANossoNumero := padR(ANossoNumero, 17, '0')
end
else
begin
// CCCCCCCNNNN - O tamanho da carteira e nr doc e variavel mas a soma tem que fechar 11
TamDocCarteira11 := 11 - Length(AConvenio);
ANossoNumero := Copy(ANossoNumero, 11 - TamDocCarteira11, TamDocCarteira11);
ANossoNumero := padR(AConvenio, Length(AConvenio), '0') +
padR(ANossoNumero , 11 - Length(AConvenio), '0');
end;
end;
Result := ANossoNumero;
end;
-
Atilo anexa o material da carteira 11 que dou uma olhada para vc. O Acbr já me ajudou muito e terei satisfação em te ajudar sem custo algum.
-
Não foram atualizadas.
-
A documentação que o banco nos enviou cita "Composição padrão para as carteiras 16, 17 e 18". Não saberia afirmar se a carteira 11 segue esse mesmo sistema.
-
Neto,
Descobri porque não ta alterando o TamMaximoNossoNumero. Dentro do fonte ACBrBoleto tava sem setar o valor ai alterei com a linha sublinhada, agora ficou ok.
procedure TACBrBanco.SetTamMaximoNossoNumero(const Avalue: Integer);
begin
{Apenas para aparecer no ObjectInspector do D7}
BancoClass.fpTamanhoMaximoNossoNum := AValue;
end;
-
Já tenho o material do HSBC, com as especidficações, só não quero sair desenvolvendo do meu jeito e não poder aproveitar o trabalho do ACBR
Aguardo
Poderia postar a documentação do HSBC pra gente ?
Grato
Jaime
-
Tenho uma leitora de código de barras de boleto e fiz os testes:
- com convenio 6 e 7 digitos a linha digitavel e codigo de barras ficou perfeito bateu com o emissor do banco !
a única divergência entre o acbr e o emissor do banco foi no convenio 7 digitos na impressao do campo Nosso Numero que o do banco saiu com digito sendo que na documentacao (Anexo 4) não fala nada de DV !!! Ai fiquei sem entender:
No acbr
16947990000028124
No do banco :
16947990000028124-3
-
E isso mesmo ta certo !
-
Neto a Juliana falou que tem como modificar o tamanho maximo do nosso numero mas não estou conseguindo. Você já conseguiu alterar ? Só consegui dentro do código fonte, mas ai vai ficar fixo. Se conseguir isso acho que posso configurar o resto.
-
Analisando os post anteriores vi que neste caso está sendo tratado somente o tamanho do convênio por isso acho que deveriamos levar em consideração o tamanho da numeração do boleto.
viewtopic.php?f=11&t=1146&p=4963&hilit=nosso+numero+com+convenio#p4963
-
Ola neto estamos junto ai ! Também estou iniciando e vamos desvendar esse "misterio".
Estive estudando o manual e cheguei a seguinte conclusão:
caso 1:
CCCCNNNNNNN-X convênios com 4 posição entao o numero do boleto tera tamanho 7
caso 2:
CCCCCCNNNNN-X convênios com 6 posições entao o numero do boleto tera tamanho 5
caso 3:
CCCCCCCNNNNNNNNNN convênios com 7 posições com numeração acima de 1.000.000 entao o numero do boleto tera tamanho 10
Nosso-Número, sem o DV
caso 4:
NNNNNNNNNNNNNNNNN convenio com 6 posições entao o numero do boleto tera tamanho 17 neste caso o nr do conveio não e listado no nosso numero
A utilização do campo “Nosso-Número” com 17 posições livres somente pode ser utilizada por
clientes cadastrados com convênio de cobrança de 6 posições, nas Modalidades de Cobrança
Sem Registro – Carteira 16 e 18.
O “Nosso-Número”, neste caso, não possui dígito verificador.
Então poderiamos ter 4 tamanhos para o campo TamanhoMaximoNossoNum e a partir dele montar a lógica da formação do nosso número gera o codigo de barras, só que esse campo não está sendo modificado, deve ter algum motivo.
-
ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 5;
Não ta mudando mesmo olhando o código ele ta protegido eu tava mexendo nos fontes e alterei la por isso achei que tava alterando.
-
Boa tarde.
Seria isso mesmo.
Quando a carteira é a 18 e o convenio tem 6 digitos existem as duas opções de tamanho de nosso número?...
Att
Não ! Foi um conclusão minha pq eu comecei a testar o acbrBoleto e coloquei os dados que eu tinha ai ele gerou diferente do que
esta sendo usado pelo programa do banco.
No meu caso aqui o nosso numero sai convenio tem 6 digitos e o nosso numero 5 mais um digito vericador.
-
É pq no boleto o nosso numero está gerando sem o convênio ai eu fiz uma pequena mudança no código grifado:
function TACBrBancoBrasil.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String;
var
ANossoNumero, AConvenio : string;
aCarteira: LongInt;
begin
with ACBrTitulo do
begin
AConvenio := ACBrBoleto.Cedente.Convenio;
ANossoNumero := OnlyNumber(NossoNumero);
aCarteira := StrToIntDef(Carteira,0);
if (aCarteira = 16) or (aCarteira = 17) or (aCarteira = 18) then
begin
if (ACBrTitulo.Carteira = '18') and (Length(AConvenio) = 6) and (Length(ANossoNumero) <> 5) then
ANossoNumero := padR(ANossoNumero, 17, '0')
else if Length(AConvenio) <= 4 then
ANossoNumero := padR(AConvenio, 4, '0') + padR(ANossoNumero, 7, '0')
else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then
ANossoNumero := padR(AConvenio, 6, '0') + padR(ANossoNumero, 5, '0')
else if Length(AConvenio) = 7 then
ANossoNumero := padR(AConvenio, 7, '0') + padR(ANossoNumero, 10, '0');
end
else
ANossoNumero := padR(AConvenio, 7, '0')+ padR(ANossoNumero, 11, '0');
end;
Result := ANossoNumero;
end;
-
Desinstalei o acbrboleto e instalei novamente e acho que não to sabendo como mudar o TamanhoMaximoNossoNum, vou postar o codigo
pra vc ver onde e que estou errando
Titulo := ACBrBoleto1.CriarTituloNaLista;
ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;
ACBrBoleto1.Cedente.Agencia := Trim( Table1.FieldByName('AGENCIA').AsString );
ACBrBoleto1.Cedente.AgenciaDigito := Trim( Table1.FieldByName('AGDV').AsString );
ACBrBoleto1.Cedente.Conta := Trim( Table1.FieldByName('CONTA').AsString );
ACBrBoleto1.Cedente.ContaDigito := Trim( Table1.FieldByName('CCDV').AsString );
ACBrBoleto1.Cedente.Nome := Trim( Table1.FieldByName('CEDENTE').AsString );
ACBrBoleto1.Cedente.Convenio := Trim( Table1.FieldByName('CONVENIO').AsString );
ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 5;
with Titulo do
begin
Vencimento := Table1.FieldByName('VECTO').AsDateTime;
DataDocumento := Table1.FieldByName('EMISSAO').AsDateTime;
NumeroDocumento := Table1.FieldByName('DCTO').AsString;
EspecieDoc := Table1.FieldByName('DESPECIE').AsString;
if Table1.FieldByName('ACEITE').AsString = 'S' then
Aceite := atSim
else
Aceite := atNao;
DataProcessamento := Now;
NossoNumero := TRIM( Table1.FieldByName('NOSSONR').AsString );
Carteira := Table1.FieldByName('CARTEIRA').AsString;
ValorDocumento := StrToCurr(Table1.FieldByName('VALOR').AsString);
Sacado.NomeSacado := Table1.FieldByName('NOME').AsString;
Sacado.CNPJCPF := Table1.FieldByName('CPFCNPJ').AsString;
Sacado.Logradouro := Table1.FieldByName('END').AsString;
Sacado.Numero := Table1.FieldByName('NUMERO').AsString;
Sacado.Bairro := Table1.FieldByName('BAIRRO').AsString;
Sacado.Cidade := Table1.FieldByName('CIDADE').AsString;
Sacado.UF := Table1.FieldByName('UF').AsString;
Sacado.CEP := Table1.FieldByName('CEP').AsString;
ValorAbatimento := 0;
LocalPagamento := Table1.FieldByName('LOCAL').AsString;
ValorMoraJuros := StrToCurrDef(Table1.FieldByName('MORAJURO').AsString,0);
ValorDesconto := StrToCurrDef(Table1.FieldByName('DESCONTO').AsString,0);
ValorAbatimento := StrToCurrDef(Table1.FieldByName('ABATIMENTO').AsString,0);
DataMoraJuros := StrToDateDef(Table1.FieldByName('DATAMORA').AsString, 0);
DataDesconto := StrToDateDef(Table1.FieldByName('DATADESCO').AsString, 0);
DataAbatimento := StrToDateDef(Table1.FieldByName('DATAABATI').AsString, 0);
DataProtesto := StrToDateDef(Table1.FieldByName('DATAPROTE').AsString, 0);
PercentualMulta := StrToCurrDef(Table1.FieldByName('PERCMULTA').AsString,0);
Instrucao1 := '00';// PADL(Trim(' ',2,'0');
Instrucao2 := '00';//PADL(Trim(' ',2,'0');
OcorrenciaOriginal.Tipo := toRemessaBaixar;
Mensagem.Add(Table1.FieldByName('INSTR1').AsString );
Mensagem.Add(Table1.FieldByName('INSTR2').AsString );
Mensagem.Add(Table1.FieldByName('INSTR3').AsString );
Mensagem.Add(Table1.FieldByName('INSTR4').AsString );
end;
-
Ele me enviaram esse material vou anexar !
Vou baixar a nova versão e testar.
Obrigado.
-
Juliana até eu tentei alterar da seguinte forma:
ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 5;
mas ele sempre monta o nosso numero com 10
Olhando a função abaixo o meu caso se encaixa no item que está negritado mas o código não chega até la porque
não consigo altera o tamanho do nosso numero que fica em 10.
e também onde esta grifado não deixa passar porque o meu caso e carteira 18 convenio c/ 6 digitos e
nosso numero com 5 digitos.
function TACBrBancoBrasil.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String;
var
ANossoNumero, AConvenio : string;
aCarteira: LongInt;
begin
with ACBrTitulo do
begin
AConvenio := ACBrBoleto.Cedente.Convenio;
ANossoNumero := OnlyNumber(NossoNumero);
aCarteira := StrToIntDef(Carteira,0);
if (aCarteira = 16) or (aCarteira = 17) or (aCarteira = 18) then
begin
if (ACBrTitulo.Carteira = '18') and (Length(AConvenio) = 6) then
ANossoNumero := padR(ANossoNumero, 17, '0')
else if Length(AConvenio) <= 4 then
ANossoNumero := padR(AConvenio, 4, '0') + padR(ANossoNumero, 7, '0')
else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then
ANossoNumero := padR(AConvenio, 6, '0') + padR(ANossoNumero, 5, '0') <---- aqui ficaria igual ao emissor do proprio banco
else if Length(AConvenio) = 7 then
ANossoNumero := padR(AConvenio, 7, '0') + padR(ANossoNumero, 10, '0');
end
else
ANossoNumero := padR(AConvenio, 7, '0')+ padR(ANossoNumero, 11, '0');
end;
Result := ANossoNumero;
end;
Grato
Jaime
Mudanças Minas Legal
em ACBrSerial
Postado
É agora vc tem que gerar o novo MD5, recolher uma taxinha, gerar mais uma documentação explicando pq foi mudado o seu PAF para recadastrar no SEFAZ. Como um pequeno detalhe nos gera um transtorno danado.