Acols do Pedido de Compra

Boa Tarde pessoal.

Alguem ja desenvolveu alguma rotina que alimente os itens do Pedido de Compra e com isso atualize os Gatilhos e Validações dos campos.

Estou na Tela de Inclusão/Alteração do Pedido de Compra e importando uma planilha para os itens do Pedido.

Fiz a rotina e ela alimenta os itens mas não atualiza os dados com isso teria que ir linha a linha e acionar os gatilhos.

Já tentei RunTrigger, EvalTrigger() e nada.

Boa Tarde Ederson,

Não entendi muito a necessidade, fiquei na dúvida se quer adicionar esses itens com a tela de pedido de compra aberta ou por alguma outra forma automática.

Caso deseja de forma automática, pode utilizar a MsExecauto da rotina Mata120:

https://tdn.totvs.com/pages/releaseview.action?pageId=6089279

"Fiz a rotina ela alimenta os itens mas não atualiza os dados com isso teria que ir linha a linha e acionar os gatilhos."

Bom você pode atualizar os dados atráves do acols e aheader, faz um ascan no aheader para encontrar a posição do campo desejado e aí manipula ele pelo acols...

Atenciosamente,

Boa Tarde Douglas obrigado pela atenção mas o que preciso é no momento da Edição do Pedido de Compra nas Telas do Pedido de Compra e Documento de Entrada temos uma maior dificuldade em ficar trabalando com o aCols e aHeader.

Poderia postar um exemplo de como está utilizando a RunTrigger?

Como resolvi este problema não sei se é a melhor solução mas funcionou e caso alguem tenha alguma melhor favor encaminhar.

Precisava executar a RunTrigger e Validação do campo um conhecido me passou a parte da validação e assim implementei conforme abaixo.

Local cBkpRdVar := __READVAR // Salvei a ReadVar

M->C7_PRODUTO := aCols[Len(aCols)][nImpPPrd] READVAR := "M->C7_PRODUTO" CheckSX3("C7_PRODUTO",aCols[Len(aCols)][nImpPPrd]) If ExistTrigger("C7_PRODUTO") RunTrigger(2,N,nil,,"C7_PRODUTO") EndIf READVAR := cBkpRdVar

Boa tarde Ederson,

Conseguiu resolver o problema? Estou na mesma luta, estou desenvolvendo uma rotina de preenchimento automático dos itens na inclusão do pedido de compras utilizando o ponto de entrada MA120BUT. Ate agora, consegui popular a grid com os dados o problema esta na execução das triggers padrão do sistema, ao executa las, o sistema está limpando os campos de quantidade, valor, total e código do produto, fazendo uma analise mais profunda do problema identifiquei que a expressão "M->C7_TOTAL := IF(A120Trigger("C7_TOTAL"),M->C7_TOTAL,0)", executada no gatilho do campo C7_QUANT está limpando os campos, pesquisando um pouco essa função, identifiquei que ela executa varias outras funções do fonte MATXFIS como por exemplo MaFisGetRF(), MaFisRef() dentre outras, estou empacado neste ponto pois enquanto não validar os dados da linha da grid conforme a função do gatilho o formulário não pode ser salvo. conseguiu resolver este problema? Teria algum exemplo para me passar ?

Boa Tarde Ricardo então a solução está acima e funcionou pra este problema e outros que costumo ter ao acionar o RunTrigger.

Eu tenho este mesmo problema, alguém pode postar o fonte com alimentação das linhas incluídas no acols ?

Eu estou dentro da inclusão d pedido de compra, por isto não posso usar execauto

Cara eu resolvi de forma diferente, criei um fonte a parte para gerar o pedido de compras via execauto, caso necessite dele eu posso anexar aqui. No meu caso os itens vinham do cadastro de composições e o valor eu buscava da tabela de preço, sendo assim, o usuário preenchia os parametros necessarios e eu gerava o pedido num fonte a parte via execauto.

Bom dia.

Não sei como vcs desenvolveram esses programas, mas eu desenvolvi um programa que pegava de um arquivo XML os itens e os cadastrava no SC7 via execauto e fucionava bem sem problemas pq ele acionava o gatilho. Será q ajudei?