Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 3206 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Oi meu monitor fiscal está imprimindo e lançando apenas 9 produtos no sat 

nao passa disso o ini está sendo enviado com 10 12 14 itens e na hora de imprimir sai apenas 9 e o restante do valor sai como troco 

alguem aqui passa por isso ? 

Segue em anexo um exemplo do INi 

e o Exemplo de Impressao 

 

Veja que apenas 9 itens está sendo lançado no sat

EmploImpressao.txt

exemploIni.txt

Postado
Agora, Daniel Simoes disse:

sua rotina está errada... examine o seu arquivo:

[Produto0010] -> Errado
[Produto010] -> Correto

 

Mesmo com essa sequência não vai nem [Produto010] nem [Produto10] nem produto [Produto0010]

  • Fundadores
Postado

Qual a exata msg do SAI.TXT ??

Tudo está funcionando como deveria... é realmente algo errado na sua rotina... corrigi o seu arquivo de exemplo (ENT.TXT), use o WinMerge compare com o seu, e veja os seus erros..

O arquivo "sai.txt" contem a resposta com sucesso... e tb está em anexo o XML gerado

ent.txt

sai.txt

001-000000-satcfe.xml

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado
4 minutos atrás, Daniel Simoes disse:

Qual a exata msg do SAI.TXT ??

Oi daniel nao saia nenhum mais ja resolvi com uma pequena dica que vc deu 

[Produto0010] = errado 

minha rotina fazia um for pela quantidade de itens que tinha no pedido o for era acrescentando na variavel X e atraves desta variavel que eu criava o nome do produto para o ini e fazia a segunte verificação 

 

                 if (x.ToString().Length == 1)
                        prod = "00" + i;
                    if (x.ToString().Length == 2)
                        prod = "0" + i;
                    if (x.ToString().Length == 3)
                        prod = i;

 

prod e o nome da variavel q ia o nome numero do produto  

so q x = 9 é o produto 10 pq x começa em 0 rsrsrs entao o produto 10 saia como [Produto0010] e ele parava de ler o ini ali nossa cara

varias horas para um errinho tao bobo rsrsrsrsrsrs nao acredito nisso.... Muito Obrigado pela ajuda daniel :D 

 

 

 

 

Postado

Burno a se a variavel x é um int basta apenas usar o string.format("{0:000}", i);
que a string saira formata corretamente exemplo:

x = 1

saira

001

e para resolver o problema de ser iniciado em zero use

string.format("{0:000}", i+1);

 

Postado
Em 27/01/2016 at 15:49, Rafael Dias disse:

Burno a se a variavel x é um int basta apenas usar o string.format("{0:000}", i);
que a string saira formata corretamente exemplo:

x = 1

saira

001

e para resolver o problema de ser iniciado em zero use

string.format("{0:000}", i+1);

Oi rafael bom dia, primeiramente obrigado pela resposta 

eu ja tinha resolvido o problema nao era a criação dos numeros vou explicar melhor 

eu fazia um for para pegar todos os itens e preenchendo uma string como se fosse um INI 

"tb" e o nome do datatable que continha os itens  

for(int x = 0; x < tb.rows.count;x++){

//aqui dentro eu fazia o cadastro assim 

string cod = "";

if(x < 10)cod = "00" + x.tostring()else cod = "0" + x.tostring();

 

strINI = "[PRODUTO"+ cod +"]"

 

o problema estava ai pq o x começa no 0 e nao no 1 rsrsrsrs so mudei acressentando mais um assim 

int i = x + 1

if(i < 10)cod = "00" + x.tostring()else cod = "0" + x.tostring();

//executa o loop de novo rsrsrs 

}

:D problema resolvido 

 

Postado

eu entendi se problema, mas você esta usando código desnecessário para formatar a string, você poderia fazer apenas isso ex:

for(int x = 0; x < tb.rows.count;x++){

//seu tratamentos

strINI = string.format("[PRODUTO{0:000}"], x+1");

}

usando assim elimina o monte de if que você esta usando para formatar a string reduz teu código e fica mais fácil de entender.

 

Postado
Em 02/02/2016 at 10:42, Rafael Dias disse:

eu entendi se problema, mas você esta usando código desnecessário para formatar a string, você poderia fazer apenas isso ex:

for(int x = 0; x < tb.rows.count;x++){

//seu tratamentos

strINI = string.format("[PRODUTO{0:000}"], x+1");

}

usando assim elimina o monte de if que você esta usando para formatar a string reduz teu código e fica mais fácil de entender.

hehehe sem duvida rsrsrsrs vou formatar os codigos depois de testalos :D

  • Este tópico foi criado há 3206 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.