Histórico da Página
Informações | ||
---|---|---|
| ||
A rotina OMSA090 se utiliza do conceito de MVC do Prothues, portanto não possui a mesma estrutura de MsExecAuto conforme o modelo antigo utilizado no Protheus. No entanto é possível adaptar a mesma para funcionar de forma muito semelhante como mostrado no exemplo abaixo. Maiores detalhes sobre o padrão MVC podem ser consultados em: MVC (Model View Controller) |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" // **************************************************************************** // *************** ATENÇÃO: ESTA FUNÇÃO NÃO PODE SER OMSA090¹ ***************** // **************************************************************************** // nOpcao - Operação a ser realizada. Possíveis valores // MODEL_OPERATION_INSERT, MODEL_OPERATION_UPDATE ou MODEL_OPERATION_DELETE // aCab - Array com a combinação [{Campo,Valor}] para as informações de cabeçalho // aClientes - Array de Array com a combinação para as informações de clientes // [ // [{Campo,Valor},{Campo,Valor},...], // [{Campo,Valor},{Campo,Valor},...], // ... // ] // aCeps - Array de Array com a combinação para as informações de CEPs, idem aClientes // cErro - Mensagem de retorno de erro, deve ser passada por referência @cErro // ¹ O nome User Function OMSA090 é reservado para o PE padrão do MVC User Function OMSA090A(nOpcao, aCab, aClientes, aCeps, cErro) Local oModel := FwLoadModel("OMSA090") Local lRet := .T. Local nX := 0 Local aErros := {} Default aClientes := {} Default aCeps := {} Private lMsHelpAuto := .T. //Variavel de controle interno do ExecAuto Private lMsErroAuto := .F. //Variavel que informa a ocorrência de erros no ExecAuto Private lAutoErrNoFile := .T. FWMVCRotAuto(oModel,"DA7",nOpcao,{{"MdFieldCDA7",aCab},{"MdGridDA7F1",aClientes},{"MdGridDA7F2",aCeps}},,.T.) If lMsErroAuto aErros := GetAutoGRLog() For nX := 1 To Len(aErros) cErro += aErros[nX] + CRLF Next lRet := .F. EndIf //Tratamento realizado para evitar Reference counter overflow. oModel:Destroy() oModel:=Nil Return lRet |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" User Function OMSA090I() Local nOpcao, aCab, aClientes, aCeps Local cErro := "" Local lRet := .T. Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") nOpcao := MODEL_OPERATION_INSERT aCab := Array(0) AAdd(aCab, {"DA7_PERCUR","ZONTST"} ) AAdd(aCab, {"DA7_ROTA" ,"SET002"} ) aClientes := Array(0) AAdd(aClientes, Array(0)) AAdd(aClientes[1], {"DA7_SEQUEN","000001"} ) AAdd(aClientes[1], {"DA7_CLIENT","L00001"} ) AAdd(aClientes[1], {"DA7_LOJA","01"} ) // Ou AAdd(aClientes, { {"DA7_SEQUEN","000002"}, {"DA7_CLIENT","L00001"}, {"DA7_LOJA","02"} } ) AAdd(aClientes, { {"DA7_SEQUEN","000003"}, {"DA7_CLIENT","L00001"}, {"DA7_LOJA","03"} } ) If (lRet := U_OMSA090A(nOpcao, aCab, aClientes, aCeps, @cErro)) conout("Pontos por setor incluído com sucesso.") Else conout("Erro na inclusão de pontos por setor: " + cErro) EndIf RESET ENVIRONMENT Return |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" User Function OMSA090U() Local nOpcao, aCab, aClientes, aCeps Local cErro := "" Local lRet := .T. Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") nOpcao := MODEL_OPERATION_UPDATE aCab := Array(2) aCab[1] := {"DA7_PERCUR","ZONTST"} aCab[2] := {"DA7_ROTA" ,"SET002"} aClientes := {} AAdd(aClientes,{ {"LINPOS","DA7_SEQUEN","000003"}, {"AUTDELETA","S",Nil} } ) aCeps := {} AAdd(aCeps, { {"DA7_SEQUEN","000001"}, {"DA7_CEPDE","89200000"}, {"DA7_CEPATE","89299999"} } ) If (lRet := U_OMSA090A(nOpcao, aCab, aClientes, aCeps, @cErro)) conout("Pontos por setor alterados com sucesso.") Else conout("Erro na alteração de pontos por setor: " + cErro) EndIf RESET ENVIRONMENT Return |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" User Function OMSA090D() Local nOpcao, aCab Local cErro := "" Local lRet := .T. Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") nOpcao := MODEL_OPERATION_DELETE aCab := Array(2) aCab[1] := {"DA7_ROTA" ,"SET002"} aCab[2] := {"DA7_PERCUR","ZONTST"} If (lRet := U_OMSA090A(nOpcao, aCab, Nil, Nil, @cErro)) conout("Pontos por setor excluídos com sucesso.") Else conout("Erro na exclusão de pontos por setor: " + cErro) EndIf RESET ENVIRONMENT Return |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas