Conforme comentei outro dia.. aqui uma outra alternativa para ter o valor aqui no caso o peso bruto correspondente ao itens entregues na etapa.
Aqui vou na verdade mostrar somente a função criada que retorna o valor do peso bruto. Mas com isso acredito que você já tem noção do que é necessário fazer para tratar cada caso. Essa função ou chamo ela através de outra função criada no BRF+ e então faço o cálculo. Nesse cenário você consegue trabalhar utilizando tabelas de tarifa.
Mas vamos lá... deixa eu explicar como eu fiz....
Primeiro foi criada a condição normal no TM mas do tipo baseado em expressão.
Criei uma definição de acesso a dados para passar o root key para função. E, atribui na minha condição criada.
Na minha condição ficou então como local destino e o root key.
Olhando de dentro do workbench do BRF+, você vai ver que eu adicionei uma tabela no contexto.
Essa tabela foi criada com referencia a estrutura destacada abaixo.
Adicionei um conjunto de regras e veja que dentro dele adicionei 2 regras.
A primeira regra é feita a leitura do nó STOP da ordem de frete que está sendo processada; por isso a necessidade de ter o root key.
Observe que o resultado será gravada na tabela que definimos no contexto da função.
No nó STOP.. fiz a associação com o nó ITEM_TR_UNLOADED_AT_STOP
Abaixo os valores que eu atribuo a tabela de resultado (nem precisa de todos esses.. mas foi)
Feito. Ao processar essa regra o sitema terá na tabela ITEM_TR_TAB todos os itens que estão sendo entregues na etapa que está sendo processada no cálculo.
Na segunda regra é feito então a leitura da tabela ITEM_TR_TAB.... quando a categoria for igual a PRD e o local de destino for o mesmo que está sendo processado no cálculo.
Para cada registro o sistema vai somando o peso.
Bom era isso.. outra forma então de implementar o cálculo conforme os itens entregues na etapa.
Espero que ajude!
Abraço
Eduardo Chagas