Gostaria de saber como estão fazendo quando detectado modo em contingência na SEFAZ estadual. Como diz no manual em caso do ambiente SCAN a serie devera ser 900-999 e o numero da nota também deve ser alterado. Entao criei um numerador para notas no ambiente NORMAL e outro para o SCAN. Apos enviar o XML marco ela como SCAN para que ao retornar o serviço normal, seja enviada novamente para a SEFAZ estadual. A duvida, o numero da serie/nota deve ser alterado ou envio para o ambiente normal com os mesmos do SCAN. Devo gerar uma outra nota com numeracao e serie do ambiente normal referenciando a NFe emitida no ambiente SCAN?
Tem muitas informações como proceder no momento do indisponibilidade (alterar tipo de finalidade de emissão, serie etc) porem não explicam como proceder ao estabelecer o serviço (somente tem que enviar a nfe) mais não falam sobre a questão que eu citei.
Não sei se consegui passar a minha duvida claramente, mais qualquer ajuda será bem vinda.
Ate+
Duvida sobre Contingência - NFe
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Duvida sobre Contingência - NFe
Amiguinho,
A contingencia é basicamente um protocolo de permissão. Após o retorno do serviço ao normal voce deve fazer o envio da mesma na forma normal para que receba o protocolo e possa seguir a distribuição do xml.
A contingencia é basicamente um protocolo de permissão. Após o retorno do serviço ao normal voce deve fazer o envio da mesma na forma normal para que receba o protocolo e possa seguir a distribuição do xml.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Duvida sobre Contingência - NFe
Então, no caso se usar o ambiente SCAN eu tenho um numero de protocolo e diz o manual que deve-se mudar a serie e a numeração da nota, bom, se eu alterei na hora que vou emita-la novamente agora no ambiente NORMAL volto o numero para a numeração que era antes. Essa é minha dúvida. Agora a contigencia que usam o FORMULARIO de seguranca, o numero da nota pode permanecer a mesma, pois quando voltar o serviço bastar transmiti-la.rochinha escreveu:envio da mesma na forma normal para que receba o protocolo e possa seguir a distribuição do xml.
Acho que vou criar 2 campos a mais no meu controle para ser armazenado o numerador da serie/numero da nota em contingencia, assim informo este na emissao em contingencia sem alterar o numero da nota principal e quando voltar emito com a numeração normal.
Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Duvida sobre Contingência - NFe
Amiguinho,
Voce precisará criar também uma tabela de manutenção para as séries, exemplo:
SERIE - Numerico, tamanho 3
SEQUENCIA - Numerico, tamanho 9
A medida que voce necessitar de um numero de uma série voce pega o mesmo e atualiza para o proximo.
Desta forma voce não perde a sequencia dentro de cada série. Geralmente todas as sequencias devem iniciar em 1.
Continue analisando o manual.
Caso ache meio confuso criar tal controle use minha função:
Para usar basta passar um nome de tabela que voce deseja controlar, exemplo:
Para pegar o novo codigo para o cadastro de clientes:
PsqControle( "clientes" )
Para pegar um numero de controle de uma tabela previamente selecionada:
PsqControle( dbf() )
Outros exemplos:
Pegar numero para pedidos: PsqControle( "pedidos" )
Para pegar um codigo para produtos em estoque: PsqControle( "estoque" )
Para pegar as sequencias de série:
PsqControle( "001" )
PsqControle( "999" )
Analisando a tabela CONTROLE.DBF criada pelo uso da função voce terá idéia de seu funcionamento podendo criar uma tela de manutenção para consertar ou atualizar as sequencias.
Voce precisará criar também uma tabela de manutenção para as séries, exemplo:
SERIE - Numerico, tamanho 3
SEQUENCIA - Numerico, tamanho 9
A medida que voce necessitar de um numero de uma série voce pega o mesmo e atualiza para o proximo.
Desta forma voce não perde a sequencia dentro de cada série. Geralmente todas as sequencias devem iniciar em 1.
Continue analisando o manual.
Caso ache meio confuso criar tal controle use minha função:
Código: Selecionar todos
FUNCTION PsqControle( database, _altera_, _ComValor_ )
DEFAULT _altera_:= .t., _ComValor_ := 0
nControle := iif( recco()=0, 1, recco()+(recco()/4) )
OldArea := Select()
if !file("CONTROLE.DBF")
ESTRU_DBF := { { "DATABASE" , "C",12, 0 } , ;
{ "CONTADOR" , "N", 7, 0 } }
DBCREATE( "CONTROLE", ESTRU_DBF )
endIf
If Select("controle") == 0
USE controle NEW SHARED
Else
DbSelectArea("controle")
EndIf
LOCATE FOR UPPER(controle->database) = UPPER(database)
if found()
nControle := controle->contador
if _altera_ = .t. // NIL
if _ComValor_ # 0 // NIL
nControle := _ComValor_
else
nControle := controle->contador + 1
endif
//else
// nControle := controle->contador + 1
controle->( rLock() )
controle->contador := nControle
controle->( dbUnLock() )
controle->( dbCommit() )
endif
else
if _altera_ = .t. // NIL
if _ComValor_ # 0 // NIL
nControle := _ComValor_
endif
endif
controle->( dbAppend() )
controle->database := database
controle->contador := nControle
controle->( dbUnLock() )
controle->( dbCommit() )
endif
SELE (OldArea)
RETURN nControle
Para pegar o novo codigo para o cadastro de clientes:
PsqControle( "clientes" )
Para pegar um numero de controle de uma tabela previamente selecionada:
PsqControle( dbf() )
Outros exemplos:
Pegar numero para pedidos: PsqControle( "pedidos" )
Para pegar um codigo para produtos em estoque: PsqControle( "estoque" )
Para pegar as sequencias de série:
PsqControle( "001" )
PsqControle( "999" )
Analisando a tabela CONTROLE.DBF criada pelo uso da função voce terá idéia de seu funcionamento podendo criar uma tela de manutenção para consertar ou atualizar as sequencias.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Duvida sobre Contingência - NFe
Rochinha obrigado. Já disponho de controle de sequencia no meu sistema. Vou fazer exatamente isso, no meu dbf de numeracao vou criar NUMCONT, SERIECONT alem dos campos que ja tenho para numero e serie de notas. O que eu disse, foi criar mais dois campos em cada nota, que em caso de contigencia eu pego o proximo numero de NUMCONT e mesma SERIECONT e coloco neste campos. Assim o meu NUMERO DE NOTA real, nao preciso alterar. Quando voltar o serviço normal, emito a nota pelo numero e serie real da nota.
E fazendo um bom controle da sequencia, diminui-se a possibilidade de inutilizacao do numerario.
Agora to firmao (como voce mesmo diz) no trabalho da NFe e agora vai sai de um jeito ou de outro. Já deve ter percebido minha enxurrada de dúvidas aqui no forum, mais vamos enfrente.
E fazendo um bom controle da sequencia, diminui-se a possibilidade de inutilizacao do numerario.
Agora to firmao (como voce mesmo diz) no trabalho da NFe e agora vai sai de um jeito ou de outro. Já deve ter percebido minha enxurrada de dúvidas aqui no forum, mais vamos enfrente.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Duvida sobre Contingência - NFe
Amiguinho,
Precisando é só gritar.
Precisando é só gritar.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
