Imprimi Página | Fechar janela |
Novos campos TAB SC7010 Impresso de: Helpfacil - Portal do conhecimento Nome do Forum: ADVPL Descrição do Forum: Dúvidas sobre a programação em ADVPL URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=44489 Data da Impressão: terça-feira, 11 de fevereiro de 2025 at 21:07 Topico: Novos campos TAB SC7010 Postado por: ANDREAS Assunto: Novos campos TAB SC7010 Data Postagem: segunda-feira, 8 de abril de 2024 at 10:05 Bom dia, tive que criar alguns campos customizados na SC7010 Para receberem valores de outros campos com contas, consigo atribuir por gatilhos ou teria que atribuir via AdvPL? Esses campos devem ter seus valores atualizados caso o valor dos outros campos mudem Campos Criados: C7_XIPIUNI - Valor Unitario do IPI = C7_VALIPI / C7_QUANT C7_XFREUNI - Valor unitario do frete = C7_VALFRE / C7_QUANT C7_XSTUNIT - Valor da ST unitario = C7_ICMSRET / C7_QUANT C7_XPRECO - Valor UNITARIO c/ impostos = (C7_PRECO + C7_XIPIUNIT + C7_XFRETEUNIT + C7_XSTUNIT) C7_XTOTAL - Valor total c/ impostos = C7_QUANT * C7_XPRECO C7_XTOTAL Respostas: Postado Por: ROBERTOMEN Data Postagem: segunda-feira, 8 de abril de 2024 at 11:30 Bom dia. Da pra fazer via ponto de entrada, assim: ********************* user Function MT120OK ********************* Local nX Local nPC7_XIPIUNI:= aScan(aHeader, {|x| UPPER(Alltrim(x[2]))=="C7_XIPIUNI" }) Local nPC7_VALIPI := aScan(aHeader, {|x| UPPER(Alltrim(x[2]))=="C7_VALIPI" }) Local nPC7_QUANT := aScan(aHeader, {|x| UPPER(Alltrim(x[2]))=="C7_QUANT" }) Local lRet := .T. For nX := 1 to Len(Acols) if !aCols[nX][Len(aHeader) + 1] // Se a linha do Acols não estiver deletada aCols[nX,C7_XIPIUNI] := aCols[nX,nPC7_VALIPI ] / aCols[nX,nPC7_QUANT] endif Next Return lRet Agora é só incluir a mesma lógica neste mesmo P.E. para C7_XFREUNI , C7_XSTUNIT, C7_XPRECO e C7_XTOTAL, declarando as variáveis Locais e incluíndo o cálculo no if Postado Por: ANDREAS Data Postagem: terça-feira, 9 de abril de 2024 at 09:13 muito obrigado |
Imprimir Página | Fechar Janela |