PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
PE M460FIM
Versão:
12.1.8
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 13/11/2017, 16:28 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Boa tarde!

Eu fiz este ponto de entrada para que ao finalizar a preparação do documento de saída ele grave na VOO (tabela do modulo DMS) as informações referente ao documento ao documento de saida, mas não ta gravando, alguem pode me ajudar?

user function M460FIM()
VOO->(dbSetOrder(2))   
VOO->(dbSeek(xFilial("VOO")+VOO_FILIAL+VOO_FATPAR+VOO_LOJA+VOO_SERNFI+VOO_NUMNFI+VOO_NUMOSV))                          

while !eof() .and. VOO->VOO_FILIAL == xFilial("VOO") .and. VOO->VOO_CLIENTE == SC5->C5_CLIENTE .and. VOO->VOO_SERNFI == SC5->C5_SERIE .and. VOO->VOO_NUMNFI == SC5->C5_NOTA .and. VOO->VOO_NUMOSV == SC5->C5_NUMOSV          



   VOO->(RecLock("VOO", .F. ))
     VOO->VOO_FILIAL := SC5->C5_FILIAL
     VOO->VOO_NUMOSV := SC5->C5_NUMOSV
     VOO->VOO_FATPAR := SC5->C5_CLIENTE
     VOO->VOO_LOJA   := SC5->C5_LOJACLI
     VOO->VOO_SERNFI := SC5->C5_SERIE
     VOO->VOO_NUMNFI := SC5->C5_NOTA
     VOO->VOO_CONDPG := SC5->C5_CONDPAG
   VOO->(MsUnLock())
   VOO->(DBSKIP())
ENDDO
return(.t.)

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 13/11/2017, 17:34 h
Local: PR  Registro: 04/07/2017  Postagens: 442
pablo

seu dbseek está totalmente sem nexo


VOO->(dbSeek(xFilial("VOO")+VOO_FILIAL+VOO_FATPAR+VOO_LOJA+VOO_SERNFI+VOO_NUMNFI+VOO_NUMOSV))                    


verifique primeiro o dbseek,,vc não pode procuar na VOO registros da VOO


VOO->(dbSeek(SC5->SC5_FILIAL+SC5->SC5_FATPAR+SC5->SC5_LOJA+SC5->SC5_SERNIE+SC5->SC5_NOTA+SC5->SC5_NUMOSV))                    






depois




VOO->(RecLock("VOO", .F. )) //altera se encontrar o registro

e se não encontrar o regsitro na VOO?


user function M460FIM()

VOO->(dbSetOrder(2))    
if VVOO->(dbSeek(SC5->SC5_FILIAL+SC5->SC5_FATPAR+SC5->SC5_LOJA+SC5->SC5_SERNIE+SC5->SC5_NOTA+SC5->SC5_NUMOSV))                            

   while !eof() .and. VOO->VOO_FILIAL == xFilial("VOO") .and. VOO->VOO_CLIENTE == SC5->C5_CLIENTE .and. VOO->VOO_SERNFI == SC5->C5_SERIE .and. VOO->VOO_NUMNFI == SC5->C5_NOTA .and. VOO->VOO_NUMOSV == SC5->C5_NUMOSV           



     VOO->(RecLock("VOO", .F. ))   //   ALTERA O REGISTRO SE EXISTIR NA VOO
     VOO->VOO_FILIAL := SC5->C5_FILIAL
     VOO->VOO_NUMOSV := SC5->C5_NUMOSV
     VOO->VOO_FATPAR := SC5->C5_CLIENTE
     VOO->VOO_LOJA   := SC5->C5_LOJACLI
     VOO->VOO_SERNFI := SC5->C5_SERIE
     VOO->VOO_NUMNFI := SC5->C5_NOTA
     VOO->VOO_CONDPG := SC5->C5_CONDPAG
     VOO->(MsUnLock())
     VOO->(DBSKIP())
   ENDDO

else

   VOO->(RecLock("VOO", .T. ))   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := SC5->C5_FILIAL
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   VOO->(MsUnLock())


endif


return(.t.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário CARNEIRO CARNEIRO em 13/11/2017, 17:36 h
Local: SP  Registro: 16/09/2005  Postagens: 459
Você não está posicionando a tabela VOO corretamente. Ou seja, a linha do dbSeek está errada.

Essa tabela já é preenchida pelo sistema (no padrão) com as informações de cliente e nota?

Se sim, você deve buscar o registro na VOO a partir dos dados da SF2. Se não, você precisa ver como fará pra localizar o registro da VOO que precisa ser alterado. Ou talvez precise incluir um registro novo (não conheço esse módulo, então não sei dizer como ele se relaciona com as tabelas do faturamento).

Espero ter ajudado.

Cesar Arneiro
C.A. ERP Consulting
Fone: (12) 99744-4546
Email: cesar@caerpconsulting.com.br

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 14/11/2017, 08:08 h
Local: MG  Registro: 23/11/2016  Postagens: 76
bom dia!
Qndo essa NF é originada do modulo de oficina ela já é preenchida no padrão, gostaria que qndo fizesse algum faturamento direto do modulo 5, preenchesse tb.

O que o ROberto mandou funcionou, mas está duplicando o numero da NF.

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 14/11/2017, 13:47 h
Local: PR  Registro: 04/07/2017  Postagens: 442
Pablo

poste o fonte pra gente analisar.


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 14/11/2017, 14:02 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Segue
O indice da voo é :/ VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI

user function M460FIM()


VOO->(dbSetOrder(4))     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI
if VOO->(dbSeek(SC5->C5_FILIAL+SC5->C5_NOTA+SC5->C5_SERIE))
                            

// while !eof() .and. VOO->VOO_FILIAL == xFilial("VOO") .and. VOO->VOO_FATPAR == SC5->C5_CLIENTE .and. VOO->VOO_SERNFI == SC5->C5_SERIE .and. VOO->VOO_NUMNFI == SC5->C5_NOTA .and. VOO->VOO_NUMOSV == SC5->C5_NUMOSV            
      while !eof() .and. VOO->VOO_FILIAL == xFilial("VOO") .and. VOO->VOO_NUMNFI == SC5->C5_NOTA .and. VOO->VOO_SERNFI == SC5->C5_SERIE

     VOO->(RecLock("VOO", .F. ))   //   ALTERA O REGISTRO SE EXISTIR NA VOO
     VOO->VOO_FILIAL := SC5->C5_FILIAL
     VOO->VOO_FATPAR := SC5->C5_CLIENTE
     VOO->VOO_LOJA   := SC5->C5_LOJACLI
     VOO->VOO_SERNFI := SC5->C5_SERIE
     VOO->VOO_NUMNFI := SC5->C5_NOTA
     VOO->VOO_CONDPG := SC5->C5_CONDPAG
     VOO->(MsUnLock())
     VOO->(DBSKIP())
   ENDDO

else

   VOO->(RecLock("VOO", .T. ))   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := SC5->C5_FILIAL
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   VOO->(MsUnLock())


endif


return(.t.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BOLIVAR BOLIVAR em 14/11/2017, 14:18 h
Local: MT  Registro: 13/01/2015  Postagens: 10
Boa tarde Pablo
A Tabela VOO só será alimentada quando o usuário realizar um fechamento de OS que gere Nota Fiscal de Peça(VO1 e VO3) ou Serviço(VO1 e VO4).
Qual seria a Necessidade de gravar os dados na Tabela VOO quando vc tiver um faturamento direto pelo módulo de faturamento?
Att Bolivar

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 14/11/2017, 14:25 h
Local: MG  Registro: 23/11/2016  Postagens: 76
BOLIVAR,boa tarde

Aqui em MG qndo a NF é de peça emitimos uma NF para fabrica que movimenta financeiro e outra NF para o cliente que movimenta estoque no caso de garantia, entao geramos duas Nf:

Uma pelo faturamento e outra pelo fechamento da OS

Dai na tela de visualizar as NF referente a OS em função de oficina foi solicitado que pudesse visualizar a NF referente a OS por lá, essa NF que é emitida pelo modulo de faturamento, pois nao tem integração com o modulo.


Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 14/11/2017, 16:04 h
Local: PR  Registro: 04/07/2017  Postagens: 442
confira o indice 4 da VOO e verifique se o tamanho dos campos da VOO NOTA E SÉRIE é igual o da SC5

se estiver tudo ok e continuar duplicando,,troque a SC5 pela SF2

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 14/11/2017, 16:07 h
Local: PR  Registro: 04/07/2017  Postagens: 442
desculpe,,não adianta trocar a SC5 pela SF2 pois os dados que vc quer jogar na VOO estão na SC5.

confira o indice 4 da VOO e verifique se o tamanho dos campos da VOO NOTA E SÉRIE é igual o da SC5

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 14/11/2017, 16:17 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Eu verifiquei tamanhos do campo e o indice 4 da VOO: VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI


O tamanho do campo ta igual e continua duplicando.

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 14/11/2017, 16:31 h
Local: PR  Registro: 04/07/2017  Postagens: 442
tente ai,,mas os tamnhos dos campos da VOO e da SC5 devem ter o mesmo tamanho !!!

eu não uso a VOO aqui então fica difícil pra eu conferir.

*********************
user function M460FIM()
*********************

Local aArea := getarea()

dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI
dbSeek(SC5->C5_FILIAL+SC5->C5_NOTA+SC5->C5_SERIE)

if found()
                            

      while !VOO->(eof()) .and. VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI = SC5->C5_FILIAL + SC5->C5_NOTA + SC5->C5_SERIE

     RecLock("VOO", .F. )   //   ALTERA O REGISTRO SE EXISTIR NA VOO
     VOO->VOO_FILIAL := SC5->C5_FILIAL
     VOO->VOO_FATPAR := SC5->C5_CLIENTE
     VOO->VOO_LOJA   := SC5->C5_LOJACLI
     VOO->VOO_SERNFI := SC5->C5_SERIE
     VOO->VOO_NUMNFI := SC5->C5_NOTA
     VOO->VOO_CONDPG := SC5->C5_CONDPAG
     MsUnLock()
     VOO->(DBSKIP())
   ENDDO

else

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := SC5->C5_FILIAL
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 14/11/2017, 16:49 h
Local: PR  Registro: 04/07/2017  Postagens: 442
ops,,,corrigindo o dbseek e xfilial("VOO"),,,,tente agora





*********************
user function M460FIM()
*********************

Local aArea := getarea()

dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI
dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE)

if found()
                            

      while !VOO->(eof()) .and. VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI = xfilial("VOO") + SC5->C5_NOTA + SC5->C5_SERIE

     RecLock("VOO", .F. )   //   ALTERA O REGISTRO SE EXISTIR NA VOO
     VOO->VOO_FILIAL := xfilial("VOO")
     VOO->VOO_FATPAR := SC5->C5_CLIENTE
     VOO->VOO_LOJA   := SC5->C5_LOJACLI
     VOO->VOO_SERNFI := SC5->C5_SERIE
     VOO->VOO_NUMNFI := SC5->C5_NOTA
     VOO->VOO_CONDPG := SC5->C5_CONDPAG
     MsUnLock()
     VOO->(DBSKIP())
   ENDDO

else

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 14/11/2017, 21:15 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Roberto compilei igual voce enviou por ultimo, mas ele continua gravando duas linhas

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 08:04 h
Local: PR  Registro: 04/07/2017  Postagens: 442


Bom dia Pablo

As duas linhas tem o mesmo conteúdo nos campos?

Qual o numero do registro da primeira e da segunda linha,,o recno() ??



Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 09:26 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Roberto, bom dia!
Possui o mesmo conteudo os campos:
VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG

o Recno: 4733
e o segundo 5133

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 09:30 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Se por exemplo encontrar VOO_NUMFI eu n preciso que altere, apenas deixe como está, só preciso que inclua quando n encontrar o VOO_NUMFI = C5_NOTA,

e se o campo C5_NUMOSV estiver vazio nao preciso q leve ate a VOO

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 10:19 h
Local: PR  Registro: 04/07/2017  Postagens: 442
então é isso aqui:

Digite uma nova NF,,ou exclua esta e verifique pelo APSDU se todos os registros da VOO foram deletados,,,senão exclua os registros da VOO pelo APSDU,
digite novamente a NF e verifique se duplicou na VOO.



*********************
user function M460FIM()
*********************

Local aArea := getarea()

dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI


if !dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE) // Não encontrou na VOO

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 10:54 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Continua duplicando

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 11:11 h
Local: PR  Registro: 04/07/2017  Postagens: 442
Pablo,,veja com o fonte abaixo se os dois registros possuem o conteudo 9999 no campo VOO_NUMOSV,,depois que você digita a NF.

*********************
user function M460FIM()
*********************

Local aArea := getarea()

dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI


if !dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE) // Não encontrou na VOO

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := ‘9999‘
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 11:28 h
Local: MG  Registro: 23/11/2016  Postagens: 76
a primeira linha continuou com o numero certo da os, a nova linha gravou o campo NUMOSV = 9999

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 13:07 h
Local: PR  Registro: 04/07/2017  Postagens: 442
então o sistema já está gerando o registro na tabela VOO.

Vc não precisa do ponto de entrada M460FIM

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 13:10 h
Local: PR  Registro: 04/07/2017  Postagens: 442


qual o conteúdo dos campo

VOO->VOO_FILIAL , VOO->VOO_SERNFI e VOO->VOO_NUMNFI

nos dois registros

e qual o conteúdo dos campos

SC5->C5_SERIE , SC5->C5_NOTA

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 13:35 h
Local: MG  Registro: 23/11/2016  Postagens: 76
o modulo de oficina ele faz o processo de emissao e fechamnento o na hora de faturar ele grava automaticamente na sc5 e faz a nf na sf2, entao quando eu to fazendo pelo fechamento de OS eu n precisaria q gravasse nessa tabela.
talvez se tivesse uma forma de levar ate a VOO qndo o pedido de fato tiver sido geralo pelo faturamento.

se eu to fazendo pelo pedido de vendas ele grava uma vez só corretamente na VOO, se eu to pelo modulo de oficina fechando a os q ele grava duas vezes, pois no padrao ele já carrega uma vez os dados

Registro dos campos


0101 1 000024842

1 000024842

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 14:31 h
Local: PR  Registro: 04/07/2017  Postagens: 442
agora entendi,,,segue fonte corrigido : MATA460 = ROTINA DE FATURAMENTO

teste ai !!!

*********************
user function M460FIM()
*********************

Local aArea := getarea()

dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI


if "MATA460" $ funname() .and. !dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE) // Não encontrou na VOO

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 15:03 h
Local: PR  Registro: 04/07/2017  Postagens: 442
melhor assim :




*********************
user function M460FIM()
*********************
Local aArea := getarea()


if !("MATA460" $ funname()) // Se não é Rotina de Faturamento,,retorna
   return .t.
endif




dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI

if !dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE) // Não encontrou na VOO

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 15:22 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Roberto,

qndo to finalizando a os nao ta indo para VOO -CORRETO

mas qndo to pelo pedido de venda MATA410, tb n ta indo

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 15:42 h
Local: PR  Registro: 04/07/2017  Postagens: 442
então veja assim :

*********************
user function M460FIM()
*********************
Local aArea := getarea()


if !("MATA410" $ funname()) // Se não é Rotina de Pedido,,retorna
   return .t.
endif




dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI

if !dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE) // Não encontrou na VOO

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 15:53 h
Local: MG  Registro: 23/11/2016  Postagens: 76
Assim eu tinha tentado tb, mas compilei de novo, nao deu certo.

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/11/2017, 15:58 h
Local: PR  Registro: 04/07/2017  Postagens: 442
ou


*********************
user function M460FIM()
*********************
Local aArea := getarea()


if !("MATA46" $ funname()) // Se não é Rotina de Faturamento,,retorna
   return .t.
endif




dbselectarea("VOO")
dbSetOrder(4)     // VOO->VOO_FILIAL + VOO->VOO_NUMNFI + VOO->VOO_SERNFI

if !dbSeek(xfilial("VOO")+SC5->C5_NOTA+SC5->C5_SERIE) // Não encontrou na VOO

   RecLock("VOO", .T. )   //    INCLUI REGISTRO SE NÃO EXISTIR NA VOO
   VOO->VOO_FILIAL := xfilial("VOO")
   VOO->VOO_NUMOSV := SC5->C5_NUMOSV
   VOO->VOO_FATPAR := SC5->C5_CLIENTE
   VOO->VOO_LOJA   := SC5->C5_LOJACLI
   VOO->VOO_SERNFI := SC5->C5_SERIE
   VOO->VOO_NUMNFI := SC5->C5_NOTA
   VOO->VOO_CONDPG := SC5->C5_CONDPAG
   MsUnLock()


endif

restarea(aArea)

return(.t.)


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PABLO2016 PABLO2016 em 15/11/2017, 16:20 h
Local: MG  Registro: 23/11/2016  Postagens: 76
agora deu certo, muito obrigado mais uma vez

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal