× Linguagem de Programação ADVPL

Perguntas Dúvidas POSICIONE

  • ddsalvador
  • Autor do Tópico
  • Visitante
  • Visitante
10 anos 11 meses atrás #19524 por ddsalvador
Respondido por ddsalvador no tópico Dúvidas POSICIONE
Kanaam,
Então coloquei na inicialização do browser também com M-> para ver se dava certo, mas mesmo assim não foi. E sua análise está correta, o título gera após o calculo do frete, com isso vou procurar o ponto de entrada que ajude nesse caso.

Abs e obrigado

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19526 por kanaamlrr
Respondido por kanaamlrr no tópico Dúvidas POSICIONE
Saquei!

Se for no Inic. Browse você tem que usar a SE1 direto, não "M", pois a informação vai estar na SE1 e não na Memória.

Se não me engano o PE é F070FIM mas não tenho certeza.
Estou "puxando" de cabeça.

Por favor Acessar ou Registrar para participar da conversa.

  • ddsalvador
  • Autor do Tópico
  • Visitante
  • Visitante
10 anos 11 meses atrás #19672 por ddsalvador
Respondido por ddsalvador no tópico Dúvidas POSICIONE
Boa tarde Kanaam, td bom!!

Cara utilizei o ponto de entrada conforme conversamos, mas o que faz o calculo final do frete no TMS, mas de alguma maneira ele não captura o valor do DTC_X_SPA....Segue fonte caso possa me ajudar.

Obrigado

#include "rwmake.ch"
#include "topconn.ch"
#include "protheus.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³TM200FIM ºAutor ³XXXXXXXXXXXX º Data ³ 08/11/2010 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Ponto de entrada acionado após a finalização do processo de º±±
±±º ³gravação de dados. Rotina TMSA200-Calculo Frete. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³RJU º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
*
*
User Function TM200FIM()
*
*
Local aArea := GetArea()
Private cFILDOC := PARAMIXB[1]
Private cNUMDOC := PARAMIXB[2]
Private cSERDOC := PARAMIXB[3]

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³RJT200CA ºAutor ³XXXXXXXXXXXX º Data ³ 08/11/2010 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Função responsável por incluir registro de comissão ao agen-º±±
±±º ³ciador de frete relacionado a viagem no calculo de frete. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³RJU º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

*
*
Static Function RJT200CA(cFILDOC, cNUMDOC, cSERDOC)
*
*


If !Empty(cFILDOC) .and. !Empty(cNUMDOC) .and. !Empty(cSERDOC)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Localiza documento de transporte ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("DT6") // Documento de Transporte
dbSetOrder(1) //DT6_FILIAL+DT6_FILDOC+DT6_DOC+DT6_SERIE
dbGoTop()
If dbSeek( xFilial("DT6") + cFILDOC + cNUMDOC + cSERDOC)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Localiza documento da DTC CUSTOMIZADO ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("DTC") //Doc Cliente para Transporte
dbSetOrder(13) //DTC_FILIAL+DTC_FILORI+DTC_DOC+DTC_SERIE+DTC_X_SPA
dbGoTop()
If dbSeek( xFilial("DTC") + cFILDOC + cNUMDOC + cSERDOC + DTC->DTC_X_SPA )



//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Grava registro do título conforme cada campo ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("SE1")
dbSetOrder(1) //E1_FILIAL+E1_PREFIXO+E1_NUM
dbGoTop()
If !dbSeek ( cFILDOC + DTC->DTC_X_SPA + cSERDOC + cNUMDOC )
If RecLock("SE1", .T.)
SE1->E1_FILIAL := cFILDOC
SE1->E1_PREFIXO := cSERDOC
SE1->E1_X_TRANS := DTC->DTC_X_SPA
SE3->E3_NUM := cNUMDOC
SE1->(MsUnLock())
EndIf
EndIf

EndIf

EndIf

EndIf



Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #19673 por kanaamlrr
Respondido por kanaamlrr no tópico Dúvidas POSICIONE
No caso você não está realizando a chamada da sua função static e nem finalizando sua função de usuário.

tente dessa forma:
#include "rwmake.ch"
#include "topconn.ch"
#include "protheus.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³TM200FIM ºAutor ³XXXXXXXXXXXX º Data ³ 08/11/2010 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Ponto de entrada acionado após a finalização do processo de º±±
±±º ³gravação de dados. Rotina TMSA200-Calculo Frete. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³RJU º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
*
*
User Function TM200FIM()
*
*
Local aArea := GetArea()
Private cFILDOC := PARAMIXB[1]
Private cNUMDOC := PARAMIXB[2]
Private cSERDOC := PARAMIXB[3]

RJT200CA(cFILDOC, cNUMDOC, cSERDOC)

Return

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³RJT200CA ºAutor ³XXXXXXXXXXXX º Data ³ 08/11/2010 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³Função responsável por incluir registro de comissão ao agen-º±±
±±º ³ciador de frete relacionado a viagem no calculo de frete. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³RJU º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

*
*
Static Function RJT200CA(cFILDOC, cNUMDOC, cSERDOC)
*
*


If !Empty(cFILDOC) .and. !Empty(cNUMDOC) .and. !Empty(cSERDOC)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Localiza documento de transporte ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("DT6")	// Documento de Transporte
dbSetOrder(1)	//DT6_FILIAL+DT6_FILDOC+DT6_DOC+DT6_SERIE
dbGoTop()
If dbSeek( xFilial("DT6") + cFILDOC + cNUMDOC + cSERDOC)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Localiza documento da DTC CUSTOMIZADO ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("DTC")	//Doc Cliente para Transporte
dbSetOrder(13)	//DTC_FILIAL+DTC_FILORI+DTC_DOC+DTC_SERIE+DTC_X_SPA
dbGoTop()
If dbSeek( xFilial("DTC") + cFILDOC + cNUMDOC + cSERDOC + DTC->DTC_X_SPA )



//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Grava registro do título conforme cada campo ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

dbSelectArea("SE1")
dbSetOrder(1)	//E1_FILIAL+E1_PREFIXO+E1_NUM
dbGoTop()
If !dbSeek ( cFILDOC + DTC->DTC_X_SPA + cSERDOC + cNUMDOC )
If RecLock("SE1", .T.)
SE1->E1_FILIAL	:= cFILDOC
SE1->E1_PREFIXO := cSERDOC
SE1->E1_X_TRANS := DTC->DTC_X_SPA
SE3->E3_NUM := cNUMDOC
SE1->(MsUnLock())
EndIf
EndIf

EndIf

EndIf

EndIf



Return

Por favor Acessar ou Registrar para participar da conversa.

  • ddsalvador
  • Autor do Tópico
  • Visitante
  • Visitante
10 anos 10 meses atrás #19724 por ddsalvador
Respondido por ddsalvador no tópico Dúvidas POSICIONE
Boa tarde Kanaam, tudo bom e como foi de Natal blz!!!

Cara desculpe ainda te incomodar, mas estamos chegando lá....

Ele está gravando a rotina, foram duplica a informação grava os dados da fatura a receber e outra linha com apenas os dados que estão sendo pesquisados, onde falta para ele não fazer isso...desculpe a minha falta de criatividade.

abs

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #19729 por kanaamlrr
Respondido por kanaamlrr no tópico Dúvidas POSICIONE
Douglas,
Desculpe, mas não entendi o que está acontecendo.
Se no caso você está tentando editar a SE1, no momento onde você está fazendo o RecLock, você deve passar .F. como parâmetro, pois .T. é inclusão e .F. é alteração.
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.098 segundos
Joomla templates by a4joomla