Como converter Unidade de Medida no AdvPL (função ConvUM)

Olá pessoal…

Recentemente me perguntaram, como usar a função ConvUM, que faz a conversão de quantidades entre as Unidades de Medida, então decidi fazer uma postagem explicando sobre como fazer isso no AdvPL.

A função usada para a conversão de unidade de medidas, é a ConvUM, é uma funcionalidade padrão, ela recebe 4 parâmetros:
Parâmetro 1 = Código do Produto
Parâmetro 2 = Quantidade da 1ª Unidade de Medida (se não tiver mandar 0)
Parâmetro 3 = Quantidade da 2ª Unidade de Medida (se não tiver mandar 0)
Parâmetro 4 = Qual unidade de Medida você quer a resposta da conversão (1 = 1ª Unidade de Medida; 2 = 2ª Unidade de Medida)

Para você utilizá-la, você deve ter cadastrado nos seus produtos, a 1ª Unidade de Medida, a 2ª Unidade de Medida e o Fator de conversão entre elas, por exemplo, supondo que seja 10, a cada 1 (1ª UM), você terá 10 (2ª UM), então se você for converter 5 (1ª UM), você terá 50 (2ª UM).

Exemplificando, em um cenário hipotético:

  • O código do produto é ’00XPTO’ (campo B1_COD)
  • A 1ª Unidade de Medida é ‘PC’ (campo B1_UM)
  • A 2ª Unidade de Medida é ‘KG’ (campo B1_SEGUM)
  • O Fator de conversão de é de 15 (campo B1_CONV), ou seja, 1 PC tem 15 KG

Caso eu queira descobrir a conversão Real, devo informar os valores agora nos parâmetros, abaixo segue um exemplo convertendo tanto da 1ª UM para a 2ª UM, quanto da 2ª UM para a 1ª UM.

//Conversão da 1ª Unidade de Medida para a 2ª Unidade de Medida, convertendo 10 PC, o retorno será 150 KG
Alert( ConvUM("00XPTO", 10, 0,   2) )

//Conversão da 2ª Unidade de Medida para a 1ª Unidade de Medida, convertendo 300 KG, o retorno será 20 PC
Alert( ConvUM("00XPTO", 0,  300, 1) )

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação