× Linguagem de Programação ADVPL

Perguntas Erro no tamanho do Campo em Prospect

Mais
11 anos 2 dias atrás #13941 por pedropalaoro
Estou com um problema na criação de prospect de novos clientes. Quando é feito a importacao e se inicia a digitacao de dados adicionais do novo cliente o campo A1_REGIAO fica pequeno (realmente se espaço). Esse campo deveria vir automatico tambem.




Abaixo o codigo:



#include "protheus.ch"
#Include "RWMake.ch"

User Function TK260ROT()

Local aRotina := {}
Public lExecutou := .F.

aAdd( aRotina, { "Tornar Cliente" , "U_MPROSP" , 0, 3} )

return aRotina


User Function MPROSP()
Local nOpca := 0
Local aParam := {}
Local cProsp:= SUS->US_COD
Local cLoja:= SUS->US_LOJA

if !lExecutou

nReg := Recno()
SUS->(dbGoTo(nReg))

//adiciona codeblock a ser executado no inicio, meio e fim
aAdd( aParam, {|| U_MPROSP1() } )
aAdd( aParam, {|| U_MPROSP2() } ) //ao fim da transação


if SUS->US_STATUS == "6" // Status não pode ser = CLIENTE
MsgAlert("Este Prospect já se tornou cliente!")
return .F.
endif

nOpc := AxInclui("SA1",,3,,"U_MPROSP1",,,,"U_MPROSP2")
If nOpc = 1
// mudanca do US_STATUS para cliente (6) e amarracoes de contatos com o novo cliente.
DbselectArea("SUS")
Posicione("SUS",1,xFilial("SUS")+cProsp+cLoja,"US_LOJA")
RecLock("SUS",.f.)
SUS->US_STATUS := "6"
SUS->US_DTCONV := dDatabase //database do sistema
lExecutou := .T.
MsUnlock()
Endif
Endif
Return .T.

//executa antes da transação
USER Function MPROSP1()
Public sSQL := ""

sSQL := "select * from polibras_precadastro where CODIGO_CONTROLE = " + cValToChar(SUS->US_YPRECAD)

// Convertendo sentença
//
sSQL := ChangeQuery(sSQL)

// Abrindo resultado da sentença
//
DbUseArea(.T.,"TOPCONN",TCGENQRY(,,sSQL),"DADOS",.F.,.T.)

// Selecionando a área de trabalho
//
DbSelectArea("DADOS")

// Indo ao primeiro registro
//
DADOS->(DbGoTop())


//todos os campos que quero que retorne no cadastro
M->A1_FILIAL := SUS->US_FILIAL
M->A1_LOJA := SUS->US_LOJA
M->A1_NOME := SUS->US_NOME
M->A1_NREDUZ := SUS->US_NREDUZ
M->A1_PESSOA := iif(SUS->US_TIPO == 'R','J','F')
M->A1_TIPO := SUS->US_TIPO
M->A1_END := SUS->US_END
M->A1_EST := SUS->US_EST
M->A1_BAIRRO := SUS->US_BAIRRO
M->A1_CEP := SUS->US_CEP
M->A1_DDI := SUS->US_DDI
M->A1_DDD := SUS->US_DDD
M->A1_TEL := SUS->US_TEL
M->A1_MUN := SUS->US_MUN
M->A1_CGC := SUS->US_CGC
M->A1_EMAIL:= SUS->US_EMAIL
M->A1_VEND := SUS->US_VEND
M->A1_REGIAO := Alltrim(Posicione("SA3",1,xFilial("SA3")+SUS->US_VEND,"A3_REGIAO"))

M->A1_YPORTE := DADOS->PORTE
M->A1_YCHECK := Val(DADOS->CHECKOUTS)
M->A1_COND := '0'+DADOS->PRAZO
M->A1_YFORMPG := SUBSTR(DADOS->MEIOPAG,2,3)
M->A1_TEMVIS := iif(Alltrim(DADOS->FREQUENCIA) == 'Semanal',7,iif(Alltrim(DADOS->FREQUENCIA) == 'Quinzenal',14,28))
M->A1_YSEMANA := iif (Alltrim(DADOS->SEMANA) == 'Primeira','1','2')
DO CASE
CASE Alltrim(DADOS->DIA) == 'Seg'
M->A1_YDIAVIS := '2'
CASE Alltrim(DADOS->DIA) == 'Ter'
M->A1_YDIAVIS := '3'
CASE Alltrim(DADOS->DIA) == 'Qua'
M->A1_YDIAVIS := '4'
CASE Alltrim(DADOS->DIA) == 'Qui'
M->A1_YDIAVIS := '5'
OTHERWISE
M->A1_YDIAVIS := '6'
ENDCASE
M->A1_SATIV1 := DADOS->SEGMENTO
M->A1_SATIV2 := DADOS->RAMO

DADOS->(DbCloseArea())
Return .T.


//executa apos a transacao
USER Function MPROSP2()

RecLock("SUS",.f.)
SUS->US_CODCLI := SA1->A1_COD
SUS->US_LOJACLI := SA1->A1_LOJA
MsUnlock()
Alert("Cliente migrado com sucesso!")

Return .T.

Por favor Acessar ou Registrar para participar da conversa.

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