Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - MATA311 - ExecAuto de alteração com mais de uma linha


time.png Tempo aproximado para leitura: 00:01:00 min

Dúvida
Como executar a alteração na rotina MATA311 - Solicitação de Transferência entre Filiais em um registro com mais de uma linha?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - Todas as versões.


Solução

Abaixo demonstramos um exemplo de ExecAuto da rotina MATA311 - Solicitação de Transferência entre Filiais, com a alteração de mais de uma linha. 

 

Atenção: Este é apenas um exemplo, entre em contato com seu analista programador ou com seu Gerente de Atendimento para adaptar à sua necessidade:

 

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de alteracao de uma solicitacao de transferência via rotina automatica com mais de uma linha
*/

User Function m311Alt()
Local oModel
Local nX
Local cCodDoc
Local nTotLin
local nLin
Private cOpId311        := "004" // DECLARACAO PARA O REALIZAR A ALTERACAO DA SOLICITACAO

PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'admin' PASSWORD '' MODULO "EST"

cCodDoc := "0000000001" // codigo do documento de solicitação de transferência a ser alterado


//Posiciona registro
dbSelectArea("NNS")
NNS->(DbSetOrder(1))
If NNS->(DbSeek(xFilial("NNS") + cCodDoc))

 //carrega o model
 oModel   := FWLoadModel( "MATA311" )

   //Define operação do modelo
 oModel:SetOperation( MODEL_OPERATION_UPDATE )

   //Ativaзгo do modelo
 oModel:Activate()

  //-- Preenchimento dos campos da NNT da 1a linha

   oModel:SetValue( "NNTDETAIL","NNT_QUANT",4)
 oModelGrid := oModel:GetModel( "NNTDETAIL" )

// Retorna o total de linhas, incluindo as deletadas.*
nTotLin := oModelGrid:Length( .F. )

For nLin := 1 To nTotLin  
oModelGrid:SetLine(nLin)

If !oModelGrid:IsDeleted( nLin )
oModelGrid:SetValue("NNT_QUANT", nLin) // Atribui as quantidades por linha  
EndIf

Next

 If oModel:VldData() //Validação do modelo
    oModel:CommitData() // Gravaзгo do Modelo

   Else
    aLog := oModel:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData
    cMensLog := ''

      //laco para gravar em string cLog conteudo do array aLog
    For nX := 1 to Len(aLog)
       If !Empty(aLog[nX])
          cMensLog += Alltrim(aLog[nX]) + CHR(13)+CHR(10)
       EndIf
    Next nX

      lMsErroAuto := .T. //seta variavel private como erro
    AutoGRLog(cMensLog) //grava log para exibir com funcao mostraerro
    MostraErro()

   EndIf

Else
 conout("Documento de Solicitação de transferência não encontrado")
ENDIF

Return NIL
Saiba Mais:

Clique aqui e veja mais artigos sobre MOVIMENTAÇÕES no Estoque

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _