× Linguagem de Programação ADVPL

Perguntas Rotina automatca de Atendimento

Mais
10 anos 2 dias atrás #26226 por andreia296
Bom Dia

Preciso fazer uma rotina automática no televendas, fiz uma usando msexecauto porem nao grava
Tem algum problema para gravar na tabela SUA e SUB ??


Grata


Andreia

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 dias atrás #26227 por admin
Respondido por admin no tópico Rotina automatca de Atendimento
Andreia boa tarde, no call center tabelas SUA e SUB senão me engano não tem execauto, tem que ser na raça mesmo, mas não tem problema, segue um fonte aonde faço a geração automatica do atendimento.

If !MsgYesNo(STR0023) //"Confirma a geracao do Novo Orcamento ?"
Return
EndIf

_lPri := .F.
_aItens := {}
_aPedOk := {}
While !Eof() .And. TLHA->LHA_NUMREQ = LHA->LHA_NUMREQ

If !_lPri
DbSelectArea('SUA')
RecLock('SUA',.T.)
SUA->UA_FILIAL := xFilial('SUA')
SUA->UA_NUM := TkNumero('SUA','UA_NUM')
SUA->UA_OPERADO := Posicione('SU7',3,xFilial('SU7')+Alltrim(cUserName),'U7_COD')
SUA->UA_CLIENTE := SA1->A1_COD
SUA->UA_LOJA := SA1->A1_LOJA
SUA->UA_DESCCLI := SA1->A1_NOME
SUA->UA_TMK := '2'
SUA->UA_OPER := '2'
SUA->UA_VEND := SA1->A1_VEND
SUA->UA_EXECCON := SA1->A1_EXECCON
SUA->UA_FATINT := 'S'
SUA->UA_AGLUTIN := SA1->A1_AGLUTIN
SUA->UA_EMISSAO := dDatabase
SUA->UA_CONDPG := IIf(!Empty(SA1->A1_COND),SA1->A1_COND,SuperGetMv('MV_CONDPAD'))
SUA->UA_CONDAF := IIf(!Empty(SA1->A1_COND),SA1->A1_COND,SuperGetMv('MV_CONDPAD'))
SUA->UA_STATUS := 'SUP'
SUA->UA_ENDCOB := SA1->A1_ENDCOB
SUA->UA_BAIRROC := SA1->A1_BAIRROC
SUA->UA_CEPC := SA1->A1_CEPC
SUA->UA_MUNC := SA1->A1_MUNC
SUA->UA_ESTC := SA1->A1_ESTC
SUA->UA_ENDENT := SA1->A1_ENDENT
SUA->UA_BAIRROE := SA1->A1_BAIRROE
SUA->UA_CEPE := SA1->A1_CEPE
SUA->UA_MUNE := SA1->A1_MUNE
SUA->UA_ESTE := SA1->A1_ESTE
SUA->UA_TRANSP := SA1->A1_TRANSP
SUA->UA_TPFRETE := SA1->A1_TPFRET
SUA->UA_PROSPEC := .F.
// Campos Especificos Datasupri
SUA->UA_CLIENT := SA1->A1_COD
SUA->UA_LOJAENT := SA1->A1_LOJA
SUA->UA_ALERTA := SA1->A1_ALERT
SUA->UA_DESCENT := SA1->A1_NOME
SUA->UA_TIPENT := "E"
SUA->UA_LIMCRED := Round (SA1->A1_LC - SA1->A1_SALDUP,2)
SUA->UA_ULTCOM := SA1->A1_ULTCOM
SUA->UA_CONTRAT := "S"
SUA->UA_CONFIRM := "N"
SUA->UA_OBSLOG := Space(TamSX3("UA_OBSLOG")[1])
SUA->UA_OBSSUP := Space(TamSX3("UA_OBSLOG")[1])
SUA->UA_TIPPED := "N"
SUA->UA_NUMMAE := ""
SUA->UA_DTBFIN := CTOD("")
SUA->UA_GRPVEN := SA1->A1_GRPVEN
MsUnlock()

_lPri := .T.
AaDd(_aPedOk,SUA->UA_NUM)
EndIf

Posicione('SB1',1,xFilial('SB1')+LHA->LHA_PRODUT,'B1_DESC')
_cTes := SB1->B1_TS
Posicione('SU0',1,xFilial('SU0')+IIf(!Empty(SA1->A1_GRUPOAT),SA1->A1_GRUPOAT,SU7->U7_POSTO),'U0_NOME')
_nPrecoMin := Posicione('SB0',1,xFilial('SB0')+LHA->LHA_PRODUT,'B0_PRV'+Alltrim(Str(SU0->U0_TABMIN,2)))
_nPrecoMax := Posicione('SB0',1,xFilial('SB0')+LHA->LHA_PRODUT,'B0_PRV'+Alltrim(Str(SU0->U0_TABMAX,2)))
_nPerCom := Posicione('LH4',2,xFilial('LH4')+SA1->A1_COD+SA1->A1_LOJA,'LH4_COMISS')
Posicione('LH7',1,xFilial('LH7')+LHA->LHA_PRODUT,'LH7_PRC')

_aPrecoMin := U_PerAcrePre(_nPrecoMin,SUA->UA_CONDAF,SU0->U0_CALAFIN,SU0->U0_CALAFRE)
_aPrecoMax := U_PerAcrePre(_nPrecoMax,SUA->UA_CONDAF,SU0->U0_CALAFIN,SU0->U0_CALAFRE)

M->UB_PRODUTO := LHA->LHA_PRODUT
M->UB_VRUNIT := LHA->LHA_VALOR
M->UB_PRCTAB := LHA->LHA_VALOR
M->UB_VLRMIN := _aPrecoMin[1]
M->UB_VLRMAX := _aPrecoMax[1]
M->UB_ADFRETE := _aPrecoMin[3]
M->UB_PERCOM := _nPerCom

_nPosProd := IIf(Len(_aItens)>0,Ascan(_aItens,{|x|Alltrim(x[4])=Alltrim(LHA->LHA_PRODUT)}),0)
If _nPosProd = 0

M->UB_QUANT := LHA->LHA_QUANT
M->UB_COMISSA := 0
M->UB_PCOVER := 0
M->UB_VCOVER := 0
M->UB_MKP := 0

U_NTMKG01c(0)

AaDd(_aItens,{xFilial('SUB'),; // 1
LHA->LHA_ITEM,; // 2
SUA->UA_NUM,; // 3
M->UB_PRODUTO,; // 4
SB1->B1_DESC,; // 5
M->UB_QUANT,; // 6
M->UB_VRUNIT,; // 7
LHA->LHA_TOTAL,; // 8
M->UB_VLRMIN,; // 9
SB1->B1_UM,; // 10
dDatabase+2,; // 11
_cTes,; // 12
IIf(SA1->A1_EST= SuperGetMv('MV_ESTADO'),Posicione('SF4',1,xFilial('SF4')+_cTes,'F4_CF'),'6'+SubStr(Posicione('SF4',1,xFilial('SF4')+_cTes,'F4_CF'),2,3)),; //13
'9',; // 14
'01',; // 15
(LHA->LHA_TOTAL*SB1->B1_PICM)/100,; // 16
(LHA->LHA_TOTAL*SB1->B1_IPI)/100,; // 17
LHA->LHA_TOTAL,; // 18
M->UB_VRUNIT,; // 19
M->UB_PERCOM,; // 20
IIf(!Empty(M->UB_PERCOM),LHA->LHA_TOTAL*M->UB_PERCOM,0),; //21
LH7->LH7_PRC,; // 22
M->UB_VLRMAX,; // 23
LH7->LH7_DESEST,; // 24
LH7->LH7_RESU08,; // 25
M->UB_COMISSA,; // 26
M->UB_PCOVER,; // 27
M->UB_VCOVER,; // 28
M->UB_MKP}) // 29
Else

_aItens[_nPosProd,6] += LHA->LHA_QUANT

M->UB_QUANT := _aItens[_nPosProd,6]
M->UB_PERCOM := 0
M->UB_COMISSA := 0
M->UB_PCOVER := 0
M->UB_VCOVER := 0
M->UB_MKP := 0

U_NTMKG01c(0)

_aItens[_nPosProd,8] := (_aItens[_nPosProd,7]*_aItens[_nPosProd,6])
_aItens[_nPosProd,16]:= (_aItens[_nPosProd,8]*SB1->B1_PICM)/100
_aItens[_nPosProd,17]:= (_aItens[_nPosProd,8]*SB1->B1_IPI)/100
_aItens[_nPosProd,18]:= _aItens[_nPosProd,8]
_aItens[_nPosProd,20]:= M->UB_PERCOM
_aItens[_nPosProd,21]:= M->UB_COMISSA
_aItens[_nPosProd,27]:= M->UB_PCOVER
_aItens[_nPosProd,28]:= M->UB_VCOVER
_aItens[_nPosProd,29]:= M->UB_MKP

EndIf
DbSelectArea('LHA')
RecLock('LHA',.F.)
LHA->LHA_NUMORC := SUA->UA_NUM
MsUnLock()
DbSkip()
End

For _nX := 1 To Len(_aItens)
RecLock('SUB',.T.)
If Empty(_cItem)
_cItem := '01'
Else
_cItem := SomaIt(_cItem)
EndIf
SUB->UB_FILIAL := _aItens[_nX,1]
SUB->UB_ITEM := _cItem
SUB->UB_NUM := _aItens[_nX,3]
SUB->UB_PRODUTO:= _aItens[_nX,4]
SUB->UB_DESCRI := _aItens[_nX,5]
SUB->UB_QUANT := _aItens[_nX,6]
SUB->UB_VRUNIT := _aItens[_nX,7]
SUB->UB_VLRITEM:= _aItens[_nX,8]
SUB->UB_VLRMIN := _aItens[_nX,9]
SUB->UB_VLRMAX := _aItens[_nX,23]
SUB->UB_UM := _aItens[_nX,10]
SUB->UB_DTENTRE:= _aItens[_nX,11]
SUB->UB_TES := _aItens[_nX,12]
SUB->UB_CF := _aItens[_nX,13]
SUB->UB_TABELA := _aItens[_nX,14]
SUB->UB_LOCAL := _aItens[_nX,15]
SUB->UB_BASEICM:= _aItens[_nX,18]
SUB->UB_PRCTAB := _aItens[_nX,19]
SUB->UB_PERCOM := _aItens[_nX,20]
SUB->UB_COMISSA:= _aItens[_nX,21]
SUB->UB_PCOVER := _aItens[_nX,27]
SUB->UB_VCOVER := _aItens[_nX,28]
SUB->UB_MKP := _aItens[_nX,29]
SUB->UB_RESU02 := _aItens[_nX,24]
SUB->UB_RESU08 := _aItens[_nX,25]

MsUnlock()
Next

If Len(_aPedOk) > 0
MsgBox(STR0024+SUA->UA_NUM,STR0025,'INFO') //'Orcamento criado com Sucesso! No. '###'Geracao de Orcamentos'
EndIf

Por favor Acessar ou Registrar para participar da conversa.

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