Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Fórmula P/ Preço Unitário a partir do Mov Origem


Posts Recomendados


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Bom noite,

Gostaria de solicitar a ajuda de vocês (experts em SQL, FORMULAS e RM NUCLEUS).

Situação:

Tenho um movimento que é faturado para dois movimentos, exemplo:

2.1.01 para 2.2.01 e 2.2.02, entretanto existe um fator que deve multiplicar os valores unitários do item e outro "detalhe".

Itens do mov. 2.1.01: PRODUTO A (R$ 1.000) e PRODUTO B (R$ 2.000)

Para faturar para o tipo mov. 2.2.01: Preciso multiplicar os valores pelo fator 0.4 para cada produto.

Para faturar para o tipo mov. 2.2.02: Preciso multiplicar os valores pelo fator 0.6, entretanto as vezes, posso excluir o PRODUTO B deste movimento.

Utilizei no parametro de preço do item do movimento, a opção de buscar preço por formula A. E mandei ele sempre RECALCULAR o PREÇO.

Essa opção não funcionou pois ao excluir o PRODUTO B do movimento 2.2.02, todos os itens são recalculados novamente, fazendo com que o valor seja multiplicado pelo fator novamente.

Isto é, ao faturar para 2.2.02 os PRODUTO A (passou para R$ 600) e o PRODUTO B (passou para R$ 1.200). Ao excluir o PRODUTO B do movimento, o PRODUTO A passou para (R$ 360).

Alguem tem um opção para solucionar o problema?

A verdade é, que precisso multiplicar o preço unitário do movimento de origem de um produto por um fator uma única vez?

Agredeço a ajuda.

EDIT: Mudei o título do post que estava tudo em maiusculo !!!

Editado por Jair
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Como é a fórmula que você está utilizando?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  65
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  654
  • Conteúdo/Dia:  0.11
  • Reputação:   1
  • Pontos/Conquistas:  3.926
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44
  • Dispositivo:  Windows

Alberto, bom dia!

Não sei se ajuda, mas de bate pronto imaginei a seguinte situação:

No tipo de movimento 2.2 você deixa o parâmentro de buscar o preço na fórmula ( em seguida amarre na condição de pagamento etc ) sua fórmula busca o preço do tipo de movimento relacionado multiplicando o índice.

Foi isso que você fez?

At,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Alberto e Alexandre,

A minha formula é essa:

KPU* VAL(TABMOV ('CAMPOLIVRE1' , 'S'))

Na qual eu coloco o Fator no campo livre 1 do movimento.

E a parametrização do movimento ta da seguinte maneira:

- Buscar preço em formula.

- O paramentro de Recalcular preço obtido por formula está marcada a opção: Recalcular sempre ao calcular o movimento.

- E a formula está amarrada a condição de pagamento.

OBS: Sei que existe a flag no itm de movimento de manter preço unitário. Mas imagina se o movimento tem 30 itens, o usuário terá que entrar em cada item e marcar a flag, INVIAVEL.

Alexandre,

é exatamente isso. Preciso de uma formula que faça isso: busca o preço do tipo de movimento relacionado multiplicando o índice.

Mas não consegui fazer.

Sei que minha formula da errada, pois não busca o preço unitário do item relacionado.

Poderiam me ajudar?!?!

Obrigado pela atenção.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  46
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  1.197
  • Conteúdo/Dia:  0.20
  • Reputação:   17
  • Pontos/Conquistas:  6.422
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline

Rafael,

Tente colocar no movimento de destino a edição do preço como mostra.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Edson,

Mesmo assim não funcionou. Recalculou duas vezes, isto é, qndo o movimento faturado foi criado e qndo um item do movimento foi excluido.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  46
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  1.197
  • Conteúdo/Dia:  0.20
  • Reputação:   17
  • Pontos/Conquistas:  6.422
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline

E a opção nunca recalcular?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Edson,

Assim, a formula não é excutada. Isto é o preço unitário não é multiplicado pelo Fator.

Na verdade, preciso que o preço unitário do item de movimento de origem relacionado seja multiplicado pelo fator.

Sendo assim, o preço unitário do mov destino 2.2.02, seria multiplicado pelo fatoruma única vez, no momento do faturamento do mov 2.1.01.

Acredito que a formula esteja errada pois pega o campo KPU isto é, o preço unitário do movimento e NÃO o preço unitário do movimento de origem.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  46
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  1.197
  • Conteúdo/Dia:  0.20
  • Reputação:   17
  • Pontos/Conquistas:  6.422
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline

E se vc utilizar TABITM ('PRECOUNITARIO' , 'v') * .........., será que funciona?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Edson,

Ainda nada, não funcionou.

TABITM ('PRECOUNITARIO' , 'v') relacionado a tabela de movimento de origem.

ESTOU TENTANDO ALGO ASSIM MAS TOMO ERRO DE NÚMERO ERRADO DE PARAMETRO:

TABITM ('PRECOUNITARIO' , 'v', TABMOVRELAC ('IDMOV' , 'I')) * VAL(TABMOV ('CAMPOLIVRE1' , 'S'))

Sabe pq?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Tentei misturar SQL e FORMULA e tb nada.

Preciso de ajuda urgente.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  46
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  1.197
  • Conteúdo/Dia:  0.20
  • Reputação:   17
  • Pontos/Conquistas:  6.422
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline

Rafael,

Se vc colocar a fórmula direto, sem passar pela tmovrelac, tb não funciona?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Edson,

Não funcionou, só com TABITM ('PRECOUNITARIO' , 'v').

Recalcula sempre a partir do item do movimento gerado.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Pro favor,

Gostaria somente de saber se é possível fazer um formula que recupere o preço unitáro de um item do movimento origem?

E gostaria que postassem esta formula pois não estou conseguindo fazer.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Pessoal expert em FORMULAS RM,

Estou precisando criar uma formula que recupere o PREÇO UNITÁRIO do ITEM QUE ORIGINOU O MOVIMENTO.

Tentei elaborar a formula mas não consegui.

Não sei se é possível, mas acredito que seja, por isso espero ajuda de alguem entendido.

Alguem poderia ajudar.

OBS: Estou a 3 dias tentando fazer e não consigo, aguardo, uma ajuda urgentemente.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  65
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  654
  • Conteúdo/Dia:  0.11
  • Reputação:   1
  • Pontos/Conquistas:  3.926
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44
  • Dispositivo:  Windows

Boa tarde!

Só pra saber onde melhor criar a fórmula onde a mesma será utilizada?

AT,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Alexandre,

Vou pegar o preço unitário do item do movimento relacionado e multiplicar por um valor (fixo, exmplo, 0,65)

Depois, amarrar a formula na Condição de Pagamento.

Finalizar parametrizando o Tipo de Movimento para buscar o preço na formula e marcar a opção Recalcular sempre ao Recalcular o Movimento.

OBS: To pagando chopp para quem ajudar a solucionar o meu problema, estou a 3 dias de cabeça inchada por causa disso.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

ESTOU QUASE LÁ ...

MONTEI A SEGUINTE MANEIRA, MAS ALOGO ME DIZ QUE NÃO ESTÁ 100% CORRETA.

ALGUEM PODE OPINAR???

MAS TA FUNCIONANDO!!!

FORMULAS BASE P/ SQL:

IDCOL - TABMOV ('CODCOLIGADA' , 'I')

IDMOV - TABMOV ('IDMOV' , 'I')

IDPRD - TABITM ('IDPRD' , 'I')

SQL:

SELECT PRECO = PRECOUNITARIO

FROM TITMMOV

WHERE CODCOLIGADA = :FRM_IDCOL

AND IDMOV = :FRM_IDMOV

AND IDPRD = :FRM_IDPRD

FORMULA FINAL:

EXECSQL ('ITM_ORIGEM');

SE RESULTSQL('ITM_ORIGEM', 'PRECO') = KPU

ENTAO KPU

SENAO KPU * VAL( TABMOV ('CAMPOLIVRE1' , 'S'))

FIMSE

MAS ALGO TA ME DIZ QUE NÃO ESTÁ CERTO, MAS TA FUNCINANDO.

SEI QUE DEVE EXISTIR UM FORMA MAIS SIMPLES MAS NÃO CONSIGO FAZER PRECISO DE AJUDA.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  65
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  654
  • Conteúdo/Dia:  0.11
  • Reputação:   1
  • Pontos/Conquistas:  3.926
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44
  • Dispositivo:  Windows

Bom dia!

E aí Rafael, deu certo a fórmula?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  900
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.845
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.599
  • Conteúdo Resolvido:  0
  • Dias Ganho:  195
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Rafael,

seguinte. Você não deve abrir um novo TOPICO para tratar o mesmo assunto, enquanto esse estiver sendo discutido. OK ??

Juntei ambos neste aqui. Por favor. Continuem aqui neste tópico e não abram outro para o mesmo assunto.

Agora, sobre o problema, um detalhe. NÃo tenho certeza se conseguirá buscar, pois, no momento da gravação o sistema ainda nÃo fez o link ( usando a TMOVRELAC ) com o movto anterior.

Pode ter algum esquema pra ler isso, mas não por este caminho. Pelas ppróprias opções nos movimentos, não dá pra fazer isso não ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  46
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  1.197
  • Conteúdo/Dia:  0.20
  • Reputação:   17
  • Pontos/Conquistas:  6.422
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline

Rafael,

Tudo essa discussão é para formação do preço de venda, certo? Se for isso vc não poderia utilizar um preço no produto e aplicar a regra ao faturar?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Rafael,

Tenho uma idéia, mas ainda não testei. Faça e vê se resolve!

1) Crie um tributo no item do movimento 2.1.01 chamado de "preço base", monte uma fórmula que retorne o preço do item no pedido. (Exemplo KPU). A função desse "tributo" é armazenar o preço base.

2) Crie uma outra fórmula para esse mesmo tributo no item do movimento 2.2.XX onde o tributo deve manter-se sempre o mesmo valor do movimento anterior. (exemplo valor do preço base desse tributo * 1). A função desse tributo é servir como base de cálculo para o preço calculado por fórmula (preço original *valor opcional 1)

Será que fui claro? Eu ainda não testei pois estou sem base de exemplo aqui, mas faça um teste como eu te disse. se precisar, poste aqui suas dúvidas. Vou tentar pensar em outra alternativa também.

Boa sorte e abraços!

Link para comentar
Compartilhar em outros sites

  • 2 semanas depois...

  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  34
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  270
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

ESTAS FORMULAS E SQL, FUNCIONARAM.

POREM, ALGUEM MAIS ENTENDIDO DE FORMULA E SQL ACREDITA QUE ALGO POSSA (EM ALGUM MOMENTO)DAR ERRADO?

FORMULAS BASE P/ SQL:

IDCOL - TABMOV ('CODCOLIGADA' , 'I')

IDMOV - TABMOV ('IDMOV' , 'I')

IDPRD - TABITM ('IDPRD' , 'I')

SQL:

SELECT PRECO = PRECOUNITARIO

FROM TITMMOV

WHERE CODCOLIGADA = :FRM_IDCOL

AND IDMOV = :FRM_IDMOV

AND IDPRD = :FRM_IDPRD

FORMULA FINAL:

EXECSQL ('ITM_ORIGEM');

SE RESULTSQL('ITM_ORIGEM', 'PRECO') = KPU

ENTAO KPU

SENAO KPU * VAL( TABMOV ('CAMPOLIVRE1' , 'S'))

FIMSE

POSSO POR EM PRODUÇÃO?

Link para comentar
Compartilhar em outros sites

  • 5 anos depois...

  • Tópicos Que Criei:  12
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  35
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  296
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

ESTAS FORMULAS E SQL, FUNCIONARAM.

POREM, ALGUEM MAIS ENTENDIDO DE FORMULA E SQL ACREDITA QUE ALGO POSSA (EM ALGUM MOMENTO)DAR ERRADO?

FORMULAS BASE P/ SQL:

IDCOL - TABMOV ('CODCOLIGADA' , 'I')

IDMOV - TABMOV ('IDMOV' , 'I')

IDPRD - TABITM ('IDPRD' , 'I')

SQL:

SELECT PRECO = PRECOUNITARIO

FROM TITMMOV

WHERE CODCOLIGADA = :FRM_IDCOL

AND IDMOV = :FRM_IDMOV

AND IDPRD = :FRM_IDPRD

FORMULA FINAL:

EXECSQL ('ITM_ORIGEM');

SE RESULTSQL('ITM_ORIGEM', 'PRECO') = KPU

ENTAO KPU

SENAO KPU * VAL( TABMOV ('CAMPOLIVRE1' , 'S'))

FIMSE

POSSO POR EM PRODUÇÃO?

Você conseguiu relacionar o IDMOV com essa formula que você criou?

Pois estou tentando aqui e não consigo, só que o movimento origem que eu preciso vem do solum através de uma medição.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.