Convertendo entre duas unidades de medidas com a função ConvUM – Maratona AdvPL e TL++ 092

Nesse vídeo demonstraremos em como realizar a conversão entre duas unidades de medidas.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe092
Exemplo para converter uma quantidade entre as unidades de medidas do produto
@type Function
@author Atilio
@since 11/12/2022
@obs 
    Função ConvUm
    Parâmetros
        + Informa o código do produto
        + Quantidade da primeira unidade de medida
        + Quantidade da segunda unidade de medida
        + Define qual unidade de medida será convertida (1= para a primeira unidade; 2= para a segunda unidade)
    Retorno
        + Retorna a quantidade convertida


    Para utilizar essa rotina é necessário cadastrar os campos (e na direita o que preenchemos):
    + B1_COD     = aqui iremos usar um cadastro de uma caneta com código E0001
    + B1_UM      = será UN (unitário)
    + B1_SEGUM   = será CX (caixa)
    + B1_CONV    = 6.00
    + B1_TIPCONV = Divisor

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe092()
    Local aArea      := FWGetArea()
    Local cProduto   := "E0001"
    Local nConversao := 0

    //Buscando a conversão de 10 pacotes de caneta (segunda unidade de medida), quantas canetas que dão
    nConversao := ConvUm(cProduto, 0, 10, 1)
    FWAlertInfo("Para 10 caixas, serão necessárias " + cValToChar(nConversao) + " canetas", "Teste ConvUm (de segUm para priUm)")

    nConversao := ConvUm(cProduto, 12, 0, 2)
    FWAlertInfo("Para 12 canetas, serão necessárias " + cValToChar(nConversao) + " caixas", "Teste ConvUm (de priUm para segUm)")

    FWRestArea(aArea)
Return

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