× Linguagem de Programação ADVPL

Perguntas Copiar cadastro de clientes

Mais
9 anos 8 meses atrás #27315 por marcelo.silva
Boa tarde,

Preciso de uma ajuda na customização de um fonte que copie o cadastro de um cliente caso exista na base. Exemplo, no caso do cliente ter mais de uma loja, eu digitaria o cnpj se encontrar o sistema já informa que existe, esse fonte copia os campos, nome, razão, email... eu digitaria o mesmo codigo diferenciando a loja. O ideal seria se existisse no padrão a opção Copiar mas não tem.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 8 meses atrás #27317 por lalberto
Respondido por lalberto no tópico Copiar cadastro de clientes
Veja se te ajuda, este codigo inclui o mesmo cliente na tela de inclusao nas demais empresas do grupo:

User Function M030INC()
Local aArea := GetArea()

// Joga todos os dados do Cliente atual nas demais empresas

aDados := {}
For nI := 1 To SA1->(FCount())
AAdd(aDados, {SA1->(FieldName(nI)),SA1->(FieldGet(nI))} )
Next

If Type("M->A1_COD") <> "U"
cCodigo := M->A1_COD
cLoja := M->A1_LOJA
Else
Return .t.
Endif
If cEmpAnt == '01'
cModo := 'C'
EmpOpenFile("SA102","SA1",1,.T.,'02',@cModo)
EmpOpenFile("SA103","SA1",1,.T.,'03',@cModo)
EmpOpenFile("SA104","SA1",1,.T.,'04',@cModo)

If !SA102->(dbSetOrder(1), dbSeek(xFilial("SA102")+cCodigo+cLoja))
If RecLock("SA102",.t.)
For nI := 1 To Len(aDados)
If aDados[nI,1]=='A1_FILIAL'
SA102->A1_FILIAL := xFilial("SA102")
Else
nPos := SA102->(FieldPos(aDados[nI,1]))
SA102->(FieldPut(nPos,aDados[nI,2]))
Endif
Next
SA102->(MsUnlock())
Endif
Endif

If !SA103->(dbSetOrder(1), dbSeek(xFilial("SA103")+cCodigo+cLoja))
If RecLock("SA103",.t.)
For nI := 1 To Len(aDados)
nPos := SA103->(FieldPos(aDados[nI,1]))
SA103->(FieldPut(nPos,aDados[nI,2]))
Next
SA103->(MsUnlock())
Endif
Endif

If !SA104->(dbSetOrder(1), dbSeek(xFilial("SA104")+cCodigo+cLoja))
If RecLock("SA104",.t.)
For nI := 1 To Len(aDados)
If aDados[nI,1]=='A1_FILIAL'
SA104->A1_FILIAL := '04'
Else
nPos := SA104->(FieldPos(aDados[nI,1]))
SA104->(FieldPut(nPos,aDados[nI,2]))
Endif
Next
SA104->(MsUnlock())
Endif
Endif
SA102->(dbCloseArea())
SA103->(dbCloseArea())
SA104->(dbCloseArea())
Endif

RestArea(aArea)
Return .t.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 8 meses atrás #27374 por marcelo.silva
Respondido por marcelo.silva no tópico Copiar cadastro de clientes
Claro que ajuda, muito obrigado cara

Por favor Acessar ou Registrar para participar da conversa.

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