Imprimi Página | Fechar janela

PE M460FIM

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=41345
Data da Impressão: quinta-feira, 23 de novembro de 2017 at 22:05


Topico: PE M460FIM

Postado por: PABLO2016
Assunto: PE M460FIM
Data Postagem: segunda-feira, 13 de novembro de 2017 at 16:28

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.)



Respostas:

Postado Por: ROBERTOMEN
Data Postagem: segunda-feira, 13 de novembro de 2017 at 17:34

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.)




Postado Por: CARNEIRO
Data Postagem: segunda-feira, 13 de novembro de 2017 at 17:36

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



Postado Por: PABLO2016
Data Postagem: terça-feira, 14 de novembro de 2017 at 08:08

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.



Postado Por: ROBERTOMEN
Data Postagem: terça-feira, 14 de novembro de 2017 at 13:47

Pablo

poste o fonte pra gente analisar.





Postado Por: PABLO2016
Data Postagem: terça-feira, 14 de novembro de 2017 at 14:02

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.)



Postado Por: BOLIVAR
Data Postagem: terça-feira, 14 de novembro de 2017 at 14:18

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



Postado Por: PABLO2016
Data Postagem: terça-feira, 14 de novembro de 2017 at 14:25

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.





Postado Por: ROBERTOMEN
Data Postagem: terça-feira, 14 de novembro de 2017 at 16:04

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



Postado Por: ROBERTOMEN
Data Postagem: terça-feira, 14 de novembro de 2017 at 16:07

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



Postado Por: PABLO2016
Data Postagem: terça-feira, 14 de novembro de 2017 at 16:17

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.




Postado Por: ROBERTOMEN
Data Postagem: terça-feira, 14 de novembro de 2017 at 16:31

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.)



Postado Por: ROBERTOMEN
Data Postagem: terça-feira, 14 de novembro de 2017 at 16:49

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.)





Postado Por: PABLO2016
Data Postagem: terça-feira, 14 de novembro de 2017 at 21:15

Roberto compilei igual voce enviou por ultimo, mas ele continua gravando duas linhas



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 08:04



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() ??






Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 09:26

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



Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 09:30

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



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 10:19

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.)



Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 10:54

Continua duplicando



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 11:11

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.)



Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 11:28

a primeira linha continuou com o numero certo da os, a nova linha gravou o campo NUMOSV = 9999



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 13:07

então o sistema já está gerando o registro na tabela VOO.

Vc não precisa do ponto de entrada M460FIM




Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 13:10



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



Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 13:35

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



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 14:31

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.)



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 15:03

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.)




Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 15:22

Roberto,

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

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



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 15:42

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.)




Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 15:53

Assim eu tinha tentado tb, mas compilei de novo, nao deu certo.



Postado Por: ROBERTOMEN
Data Postagem: quarta-feira, 15 de novembro de 2017 at 15:58

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.)





Postado Por: PABLO2016
Data Postagem: quarta-feira, 15 de novembro de 2017 at 16:20

agora deu certo, muito obrigado mais uma vez




Imprimir Página | Fechar Janela