Boa tarde !
Preciso preencher um grid MVC modelo 3, com dados da nota fiscal (SD1). O grid deve ser preenchido conforme campos do cabeçalho, acionado via botão no menu Outras ações.
As tabelas customizadas são ZZP (cabeçalho) e ZZQ (Itens).
Por favor, alguém poderia disponibilizar um exemplo ?
Grato.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Boa tarde!
Segue um exemplo, no seu caso basta chamar o modelo da ZZQ na parte do GetModel e preencher os campos com seu devido conteúdo:
Lembre-se que ao chamar o método AddLine toda a linha será validada de acordo com as regras do campo/modelo, então caso existir algum dado preenchido incorretamente, será necessário tratar o mesmo.
Static Function fLoadData
Local oModel As Object
Local oGridZPS As Object
Local nCount As Numeric
Local _cAlias As Character
nCount := 0
oModel := FwModelActive()
oGridZPS := oModel:GetModel('GridZPS')
If(oGridZPS:IsEmpty())
_cAlias := GetNextAlias()
BeginSql Alias _cAlias
%NoParser%
SELECT * FROM ZVW_MOVIMENTACAO_PALLET_CARGAS
WHERE
FILIAL = %Exp:DAK->DAK_FILIAL% AND
CARGA = %Exp:DAK->DAK_COD% AND
TIPO = 'S'
ORDER BY
FILIAL,
CARGA,
CODCLI,
LOJCLI
EndSql
Count To nCount
ProcRegua(nCount)
(_cAlias)->(DbGoTop())
While(!(_cAlias)->(EoF()))
If(!oGridZPS:IsEmpty())
oGridZPS:AddLine()
EndIf
oGridZPS:SetValue('ZPS_CODIGO' , AllTrim((_cAlias)->CODPRO))
oGridZPS:SetValue('ZPS_DSCPRO' , AllTrim((_cAlias)->DSCPRO))
oGridZPS:SetValue('ZPS_CLIENT' , (_cAlias)->CODCLI)
oGridZPS:SetValue('ZPS_LOJA' , (_cAlias)->LOJCLI)
oGridZPS:SetValue('ZPS_RAZSOC' , (_cAlias)->RAZSOC)
oGridZPS:SetValue('ZPS_DTDIGI' , sToD(cValToChar((_cAlias)->DTDIGI)))
oGridZPS:SetValue('ZPS_QUANT' , (_cAlias)->QUANT)
(_cAlias)->(DbSkip())
IncProc()
EndDo
oGridZPS:GoLine(1)
(_cAlias)->(DbCloseArea())
Else
Help(,,'Opção Não Disponível',,'Esta opção só está disponível quando ainda não foram preenchidos itens para a carga.',1,0,,,,,,{''})
EndIf
Return
1 curtida
Boa tarde! Giordano, funcionou aqui. Só não está preenchendo todas as linhas que retornam da consulta.
Deu certo agora. Era o tamanho de um campo. Obrigado pela ajuda.
Boa tarde Giordano e pessoal!
Estou tendo um problema ao utilizar o AddLine, parece que ele não consegue validar a linha adicionada (oModelGrid:IsLineValidate() retorna F). Porém, ele passa pelas validações Pré/Pós normalmente, exibe a mensagem de “Registro Alterado OK” e a primeira linha é gravada com sucesso! Ele percorre o FOR e não insere mais, sobreescrevendo a única linha gravada.
Alguma dica de qual motivo a validação esteja falhando? Já olhei o conteúdo dos campos, tamanho, obrigatoriedade. Precisa tratar os campos especiais (Filial, MSBLQL, USERGI, USERGA) também?
Obrigado!
Ola pedro como vai.
Vc conseguiu resolver esse problema do addline ?
estou passando pelo mesmo problema