Jair - Fórmula Posted June 12, 2008 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Report Posted June 12, 2008 Quero ver as contribuições aqui da Galera heim !!!!! No módulo de Fórmulas dos Aplicativos RM, existem várias Funções e Comandos que não são comuns para o uso diário, e por isso, muitos não têm a mínima idéia de como que funcionam, e consequentemente, nunca conseguem usar. Vamos ajudar aos demais membros citando alguns casos que conheçam, citando como que usa ? Podemos fazer o seguinte, quem souber, coloca mais ou menos assim: Comando: Repita Ate - Executa um comando ou sequencia de comandos até que atenda certa situação. Exemplo de Fórmula: Decl(calcular); Setvar(calcular, 1); Repita SetVar(Calcular, Calcular + 1) Ate Calcular > 9; Calcular Ao rodar esta fórmula, observe que, o retorno será 10, ou seja: - Declaramos a variável Calcular - Setou a variável Calcular em 1 - Rodou o comando dentro do "Repita Ate" várias vezes, somando sempre + 1 ao valor de "Calculo" - Quando Calcular ficou mais que 9 finalizou e saiu do loop - Retorna Calcular, que estava em 10. 1 Quote
Maffra Posted June 12, 2008 Topic Count: 15 Topics Per Day: 0.00 Content Count: 548 Content Per Day: 0.09 Reputation: 1 Achievement Points: 2,891 Solved Content: 0 Days Won: 1 Status: Offline Age: 45 Report Posted June 12, 2008 Jair, Segue minha contribuição: PARMQRY (STRING) A função PARMQRY é bem interessante quando você precisa fazer algum cálculo, retorno de um dado de qualquer tipo e ainda utilizá-la para filtro no relatório. Para fazer uma função PARMQRY você precisa ter é claro um relatório criado e: a) saber as informações que a sentença SQL do relatórios possui. Para isso gere o relatório e abra a pasta do aplicativo (c:\corporerm\rmnucleus) e abra o arquivo SQL.TXT; b) com posse do nome do campo na SELECT do relatório crie a fórmula da seguinte forma: PARMQRY ('NOME DO CAMPO') c) adicione a fórmula criada na linha de detalhe correspondete ao SELECT do arquivo txt d) quando gerar o relatório a fórmula será executada e o resultado será impresso A fórmula PARMQRY ode ser usada simplesmente para retornar um campo: PARMQRY ('CODCOLIGADA') Pode ser usada para retornar um campo de uma Consulta SQL inserida no relatório, ou seja, não precisa ser campo da base; Pode ser utilizada para cálculos, como por exemplo: SE ( PARMQRY('PRECO1') + PARMQRY('PRECO2') + PARMQRY('PRECO3') + PARMQRY('PRECO4') + PARMQRY('PRECO5') ) > 0 ENTAO 1 SENAO 0 FIMSE E também para filtros nos relatórios!!! Ou seja, essa fórmula é campeã Att, Quote
Donaldson Posted June 13, 2008 Topic Count: 28 Topics Per Day: 0.00 Content Count: 342 Content Per Day: 0.05 Reputation: 0 Achievement Points: 1,990 Solved Content: 0 Days Won: 0 Status: Offline Age: 50 Report Posted June 13, 2008 Excelente Tópico Jair! E mais ainda as contribuições... Eu vou começar contribuindo com uma informação de como não usar. CALCMED é uma função que você pode pegar o valor calculado de média de um determinado tipo de evento (férias, 13o., etc), só que, é uma função que NÃO deve ser usada em uma fórmula adicional para cálculos de férias, 13o, etc., fazendo com que aborte o Labore. A justificativa é que ela faz o cálculo entrar em looping abortando a aplicação. Portanto, NÃO utilize CALCMED em fórmulas adicionais que irá abortar o Labore. Abs. Quote
Donaldson Posted June 13, 2008 Topic Count: 28 Topics Per Day: 0.00 Content Count: 342 Content Per Day: 0.05 Reputation: 0 Achievement Points: 1,990 Solved Content: 0 Days Won: 0 Status: Offline Age: 50 Report Posted June 13, 2008 Segue mais uma: No Labore existe a função G ou GTD que servem para calcular anuênio, biênio, triênio do funcionário. Esta função, muita gente não sabe, mas ela não baseia o cálculo na data de admissão do funcionário e sim pela data base, ou seja, caso exista algum funcionário que foi readmitido mas terá que pagar o benefício com início em uma data anterior à data de admissão poderá alterar esta data: Ex.: Data de admissão: 01/01/2007 Qtde atual de anuênio: 1 Alterando a database para: 01/01/2006 Qtde atual de anuênio: 2 Sem precisar fazer fórmulas milaborantes para fazer com que o cálculo pegue uma data diferenciada da admissão. Abs. Quote
Maffra Posted June 13, 2008 Topic Count: 15 Topics Per Day: 0.00 Content Count: 548 Content Per Day: 0.09 Reputation: 1 Achievement Points: 2,891 Solved Content: 0 Days Won: 1 Status: Offline Age: 45 Report Posted June 13, 2008 Pessoal, Mais outras funções que gosto muito também: TABINI - retorna 0 e 1 para identificar se está no início da tabela TABFIM - retorna 0 e 1 para identificar se está no fim da tabela TABIRINI - vai para o primeiro registro da tabela TABIRFIM - vai para o último registro da tabela TABAVANCA - vai para o próximo registro da tabela Vou postar agora um exemplo que preciso somar os valores dos itens na tabela de Itens do Movimento apenas de produtos específicos. Utilizei também a declaração de variáveis e o Repita, mas estes já foram demonstrados no início deste tópico. TABIRINI ('TITMMOV'); DECL SOMA; SETVAR(SOMA,0); REPITA SE TABITM ('IDPRD' , 'S') = 3762 ENTAO SETVAR(SOMA, SOMA + TABITM ('VALORTOTALITEM' , 'V')) FIMSE; TABAVANCA ('TITMMOV') ATE TABFIM ('TITMMOV') = 1; SOMA Como nem tudo é perfeito, essa fórmula poderosíssima tem uma limitação: só funciona para algumas tabelas. Att, Quote
Jair - Fórmula Posted June 13, 2008 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Author Report Posted June 13, 2008 Vamos lá, mais quatro contribuições de uma só vez... Função DECL - Declarar ( inicializa ) uma variável pra poder usar durante a fórmula. UTIL DEMAIS !!! * quando usada esta função, automaticamente tem que usar a SETVAR pra setar valores para a variável que criou. Função TABCLIFOR - Retorna o conteúdo de um determinado campo na tabela de Cli/For * existe função semelhante pra outras tabelas também. Sintaxe: TABCLIFOR ('STRING', 'STRING', VALOR, 'STRING') Sendo esses quatro parametros: - nome do campo desejado; - tipo do campo desejado (valor, inteiro, string, data); - valor da coligada do cliente; - código do cliente desejado. * nos parametros podem ser usadas outras funções, ou campos digitados (fixos). Função CONCAT ( ou CONCAT2 ) - Concatena ( junta ) dois campos strings. O CONCAT deixa exatamente juntos os campos. Já o CONCAT2 coloca um espaço entre os campos. Sintaxe: CONCAT ('CAMPOA', 'CAMPOB') - Resultado: 'CAMPOACAMPOB' Sintaxe: CONCAT2 ('CAMPOA', 'CAMPOB') - Resultado: 'CAMPOA CAMPOB' Função SUBSTR - Retorna uma parte de um campo ou de um texto qualquer. Sintaxe: SUBSTR ('STRING', Valor, Valor) Sendo: - no primeiro parametro, o texto ou campo com texto para tratar ; - no segundo parametro, a posição inicial a tratar ( capturar ) no texto; - no terceiro parametro, a quantidade de caracteres para 'pegar' . Exemplos abaixo: Decl ( xCEP ); Setvar( xCEP, TABCLIFOR ( 'CEP', 'S', 0 , '102647' ) ); CONCAT2 ( SUBSTR (xCEP, 1, 5) , SUBSTR (xCEP, 7, 3) ) Aqui acima, tratamos os quatro funções citadas e o retorno será por exemplo: '02730 000', para a leitura do CEP '02730-000'. Quote
Alexandre Gondim Posted July 8, 2008 Topic Count: 65 Topics Per Day: 0.01 Content Count: 654 Content Per Day: 0.10 Reputation: 2 Achievement Points: 3,929 Solved Content: 0 Days Won: 2 Status: Offline Age: 44 Device: Windows Report Posted July 8, 2008 Já foi mencionada a função mas gostaria de registrar um exemplo pra facilitar: TABCLIFOR ('CODCOLTCF' , 'S' ,TABMOV ('CODCOLCFO' , 'I'),TABMOV('CODCFO' , 'S')) A função acima serve pra buscar o tipo de cliente fornecedor, podendo ser analisado com um SE etc. 1 Quote
Jair - Fórmula Posted July 8, 2008 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Author Report Posted July 8, 2008 E ai... mais alguém ?? com certeza podemos ter mais exemplos aqui !! 1 Quote
Jully Posted July 16, 2008 Topic Count: 21 Topics Per Day: 0.00 Content Count: 125 Content Per Day: 0.02 Reputation: 0 Achievement Points: 835 Solved Content: 0 Days Won: 0 Status: Offline Age: 43 Report Posted July 16, 2008 Excelente Tópico Jair! E mais ainda as contribuições... Eu vou começar contribuindo com uma informação de como não usar. CALCMED é uma função que você pode pegar o valor calculado de média de um determinado tipo de evento (férias, 13o., etc), só que, é uma função que NÃO deve ser usada em uma fórmula adicional para cálculos de férias, 13o, etc., fazendo com que aborte o Labore. A justificativa é que ela faz o cálculo entrar em looping abortando a aplicação. Portanto, NÃO utilize CALCMED em fórmulas adicionais que irá abortar o Labore. Abs. Oi Donaldson. Só uma observação. Eu tive esse problema de fazer uma fórmula com CALCMED e o sistema abortar, mas isso acontecia durante a execução da fórmula mesmo na hora de testar. Eu precisava pagar a média de um evento no 13º, mas para ele fazer as médias conforme o sindicato do funcionário (tempo, valor, hora, etc..) era preciso usar essa variável. Descobri que o problema não estava em usar a variável no cálculo e sim que a versão do BDE estava desatualizada. Quando fiz a atualização para a versão 5.20 o sistema não abortou mais. Abçs. Quote
Fábio Maia Posted January 5, 2009 Topic Count: 32 Topics Per Day: 0.00 Content Count: 580 Content Per Day: 0.09 Reputation: 10 Achievement Points: 3,159 Solved Content: 0 Days Won: 5 Status: Offline Age: 44 Device: Windows Report Posted January 5, 2009 Pessoal, essa dica contém um recurso muito útil na minha opinião. Como todos sabem o debug de fórmulas é interessante mas quando você possui muitas condições torna-se trabalhosa a análise para identificar qual condição foi atendida. Temos clientes em que as fórmulas chegam a 15, 20 condições e analisar isso tudo é complicado. Utilizando esta dica você pode mapear por onde você passou.... Vamos ao exemplo. Vejam o anexo. Com isso você pode dizer 'Passei no bloco 1', 'Entrei aqui', enfim fica muito mais fácil analisar o debug. Anexei também o debug de cálculo dos testes que realizei com a fórmula. Boa leitura e ótimo proveito. Abraço a todos. Teste1.txt Teste2.txt Quote
mclpaltrin Posted January 6, 2009 Topic Count: 87 Topics Per Day: 0.01 Content Count: 256 Content Per Day: 0.04 Reputation: 0 Achievement Points: 2,335 Solved Content: 0 Days Won: 0 Status: Offline Device: iPhone Report Posted January 6, 2009 Prezados - Fiz o curso do Gerador de Relatório, no ultimo dia me passaram um exemplo de Fórmula, mas foi tão "simples" e bem "vagabunda" que algumas pessoas do curso não aprenderam outras mais ou menos como eu. - Vendo os post, percebi que hj não sei nada a respeito de Fórmula, isso me deixa muito preocupa na minha função aqui na empresa, estou engatinhado no Desenvolvimento de relatório com muita dificuldade. - Meu Deus! Quote
Jair - Fórmula Posted January 6, 2009 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Author Report Posted January 6, 2009 Maia... detalhe muito simples e pratico, realmente... ajuda e muito. Valeu a dica ae pra galera. Pessoal, essa dica contém um recurso muito útil na minha opinião. Como todos sabem o debug de fórmulas é interessante mas quando você possui muitas condições torna-se trabalhosa a análise para identificar qual condição foi atendida.Temos clientes em que as fórmulas chegam a 15, 20 condições e analisar isso tudo é complicado. Utilizando esta dica você pode mapear por onde você passou.... Vamos ao exemplo. Vejam o anexo. Com isso você pode dizer 'Passei no bloco 1', 'Entrei aqui', enfim fica muito mais fácil analisar o debug. Anexei também o debug de cálculo dos testes que realizei com a fórmula. Boa leitura e ótimo proveito. Abraço a todos. Prezados- Fiz o curso do Gerador de Relatório, no ultimo dia me passaram um exemplo de Fórmula, mas foi tão "simples" e bem "vagabunda" que algumas pessoas do curso não aprenderam outras mais ou menos como eu. - Vendo os post, percebi que hj não sei nada a respeito de Fórmula, isso me deixa muito preocupa na minha função aqui na empresa, estou engatinhado no Desenvolvimento de relatório com muita dificuldade. - Meu Deus! mclpaltrn, o detalhe é o seguinte... o curso de GERADOR não ensina Formulas mesmo não. o recurso de fórmulas é do aplicativo, e existe um curso especifico para formulas. O Gerador até usa este recurso, e em muitos casos ajuda muito, mas é separado. Se for o caso, procure se existe na unidade TOTVS que o atende esse curso de FORMULAS, que, este sim, poderá ajudá-lo bastante no uso do sistema e para relatórios. Abraço Quote
Jully Posted January 14, 2009 Topic Count: 21 Topics Per Day: 0.00 Content Count: 125 Content Per Day: 0.02 Reputation: 0 Achievement Points: 835 Solved Content: 0 Days Won: 0 Status: Offline Age: 43 Report Posted January 14, 2009 Pessoal, essa dica contém um recurso muito útil na minha opinião. Como todos sabem o debug de fórmulas é interessante mas quando você possui muitas condições torna-se trabalhosa a análise para identificar qual condição foi atendida.Temos clientes em que as fórmulas chegam a 15, 20 condições e analisar isso tudo é complicado. Utilizando esta dica você pode mapear por onde você passou.... Vamos ao exemplo. Vejam o anexo. Com isso você pode dizer 'Passei no bloco 1', 'Entrei aqui', enfim fica muito mais fácil analisar o debug. Anexei também o debug de cálculo dos testes que realizei com a fórmula. Boa leitura e ótimo proveito. Abraço a todos. Fabio, sem palavras. Algo simples que facilita e muito a nossa vida... e eu desconhecia! Eureka! vlw a dica. Abraços. Quote
Guest Treinamentos RM Posted March 2, 2010 Report Posted March 2, 2010 "e existe um curso especifico para formulas" Jair, quando você vai ministrar este treinamento? rs Aposto que tem bastante demanda. Quote
Cassio Hospitais Posted October 28, 2010 Topic Count: 2 Topics Per Day: 0.00 Content Count: 56 Content Per Day: 0.01 Reputation: 0 Achievement Points: 310 Solved Content: 0 Days Won: 0 Status: Offline Age: 45 Report Posted October 28, 2010 Jair, boa tarde Não sei se era desses tipos de fórmulas que estava falando, caso não seja favor exclui-las. Obrigado Fórmula para cálculo de Insalubridade SE TABFUNC ('CODFUNCAO' , 'S')='5' OU TABFUNC ('CODFUNCAO' , 'S')='13' ENTAO (0.4*760)/30*(N('0002')+N('0145')) SENAO (0.2*MINGA)/30*(N('0002') +N('0145')) FIMSE /*20% do mínimo garantido do sindicado = R$ 490,00*/ Fórmula para buscar o último salário da pessoa se rc > 0 entao rc + (MV(MES,ANO,'0074')+MV(MES,ANO,'0075')+MV(MES,ANO,'0095')) senao ACUMFF(MES,ANO,'03') FIMSE Função para buscar nome da mãe do funcionário FNOMEMAE FÓRMULAS UTILIZADAS NO RM NÚCLEUS Valor Bruto do Movimento (KQT*KPU) -KDE + KDS Fórmula para validação de campo complementar ( O campo não pode estar nulo) SE TABMOVCOMPL ('SITUACAO' , 'V') <> '' ENTAO 1 SENAO 0 FIMSE Quote
VavaLeonel Posted June 14, 2011 Topic Count: 68 Topics Per Day: 0.01 Content Count: 174 Content Per Day: 0.04 Reputation: 4 Achievement Points: 1,534 Solved Content: 0 Days Won: 4 Status: Offline Report Posted June 14, 2011 Pesssoal segue mais algumas formulas: INDENIZAÇÃO LEI 7.238/84 SE DTD > '03/01/2011' E DTD < '01/03/2011' E TABFUNC ('TIPODEMISSAO' , 'V') = 2 ENTAO FOR ('Remuner') SENAO 0 FIMSE Zerar valores de eventos SE CREC = 'M' ENTAO TOTDESC - TOTPROV SENAO 0 FIMSE Valores Alterado Manualmente -- Crítica da folha DECL VALOR; SE EXECSQL ('FOR1.009') = VERDADE ENTAO REPITA SETVAR(VALOR,RESULTSQL('FOR1.009','VALORESFORCADOS')) ATE PROXREGSQL('FOR1.009') = FALSO; VALOR SENAO 0 FIMSE Sexo - utilizado no relatorio Seguro Desemprego SE (TABPESSOA('SEXO','S') = 'M') ENTAO 1 SENAO 2 FIMSE Referência do Evento Empréstimo Consignação Bradesco TABEMPRESTIMO ('NROPARCPAGAS' , 'V' , '01') Referência do Evento Empréstimo Consignação Bradesco Rescisão SE TABEMPRESTIMO ('SALDODEVEDOR' , 'V' , '01') > (TOTPROV * 0.30) ENTAO 30 SENAO 0 FIMSE Liquido de Salario p/contabilização /* ATENÇÃO PARA A CONTABILIZAÇÃO MES A MES DEVE-SE ALTERAR OS CODIGOS FIXOS 'MES' E 'ANO' PARA O MES E ANO QUE ESTÁ SENDO CONTABILIZADO*/ LIQUIDOFF (F ('Ano'),F ('Mes') , 1) + LIQUIDOFF (F ('Ano'),F ('Mes') , 2) + LIQUIDOFF (F ('Ano'),F ('Mes') , 10) + LIQUIDOFF (F ('Ano'),F ('Mes') , 13) /*LIQUIDOFF (2010,6 , 1) + LIQUIDOFF (2010,6 , 2) + LIQUIDOFF (2010,6 , 10) + LIQUIDOFF (2010,6 , 13) */ INFORME DE RENDIMENTOS – NOME DO RESPONSAVEL PELA PENSAO SE EXECSQL ('DEPEND') =1 ENTAO DECL IMPRESSAO, CONT, X; REPITA SETVAR (CONT, RESULTSQL ('DEPEND','NRODEPEND')); SETVAR (IMPRESSAO,CONCAT5("RESPONSAVEL PENSAO:",TABDEP ('RESPONSAVEL','S',CONT)," -", "CPF:", RESULTSQL ('DEPEND','CPFRESP'))); SETVAR (X, X+1) ATE PROXREGSQL ('DEPEND') = 0 OU X=1 FIMSE; IMPRESSAO INDENIZAÇÃO - TEMPO DE SERVIÇO SE NMESES >= 12 ENTAO SE TABFUNC('TIPODEMISSAO','V') = 2 ENTAO (TCASA) * 3 * RC / 30 SENAO 0 FIMSE SENAO 0 FIMSE Quote
Jair - Fórmula Posted June 14, 2011 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Author Report Posted June 14, 2011 Cálculo de Disciplinas Filhas ( Educacional ) - pelo membro Frederico: Quote
VavaLeonel Posted June 15, 2011 Topic Count: 68 Topics Per Day: 0.01 Content Count: 174 Content Per Day: 0.04 Reputation: 4 Achievement Points: 1,534 Solved Content: 0 Days Won: 4 Status: Offline Report Posted June 15, 2011 (edited) segue mais formulas Pessoal vamos ajudar Prorrogação de experiência 45 dias DTA+44 Prorrogração de experiência 90 dias DTA + 89 SALDO FERIAS 5 DIAS ANO ANTERIOR SE CREC = 'H' ENTAO (FOR ('SALCOMP') / 30)*5 SENAO (RC) / 30*5 FIMSE CTA FGTS /*SE TABFUNC ('CONTAFGTS' , 'S') = ' ' ENTAO 0 SENAO TABFUNC ('CONTAFGTS' , 'S') FIMSE*/ 0 Abraços Vagner Leonel Edited June 15, 2011 by Jair - Fórmula Colocado Negrito nos Titulos das Formulas Quote
Jorge Posted June 15, 2011 Topic Count: 51 Topics Per Day: 0.01 Content Count: 1,005 Content Per Day: 0.15 Reputation: 12 Achievement Points: 5,527 Solved Content: 0 Days Won: 8 Status: Offline Age: 52 Report Posted June 15, 2011 Variavel PAR no Labore... Sintaxe básica VAL(SUBSTR(PAR,1,20)) Baseado no help "Pasta Funcionários da Folha Analítica", o formato de PAR é MM-AAAA-P-C. Nesse caso para obter o período deve-se ler a posição 12, como já é feito na fórmula descrita na solicitação. FOLHA ANALITICA: ===== ========= O resultado será : 05-2006-3-4, onde: 05 - é o mês desejado 2006 - é o ano desejado 3 - é o período desejado 4 - é o caixa desejado Já para a geração de encargos deve-se ler a posição 9, poir o formato de PAR descrito no help "Pasta de Dados Contábeis do Encargo" é MM-AAAA-P. CONTABILIZAÇÃO: ============== O resultado será : 05-2006-3, onde: 05 - é o mês desejado 2006 - é o ano desejado 3 - é o período desejado Exemplo: Desejo buscar o valor liquido do mês,ano e periodo informados no momento da geração do lote contábil, com isso a fórmula será: LIQUIDOFF(VAL(SUBSTR(PAR,4,4)),VAL(SUBSTR(PAR,1,2)),VAL(SUBSTR(PAR,9,1))) Quote
Jair - Fórmula Posted June 15, 2011 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Author Report Posted June 15, 2011 segue mais formulas Pessoal vamos ajudar Prorrogação de experiência 45 dias DTA+44 Prorrogração de experiência 90 dias DTA + 89 SALDO FERIAS 5 DIAS ANO ANTERIOR SE CREC = 'H' ENTAO (FOR ('SALCOMP') / 30)*5 SENAO (RC) / 30*5 FIMSE CTA FGTS /*SE TABFUNC ('CONTAFGTS' , 'S') = ' ' ENTAO 0 SENAO TABFUNC ('CONTAFGTS' , 'S') FIMSE*/ 0 Abraços Vagner Leonel Vagner, essa parte lá no meio, acho que dará erro na sua formula heim !!! Poderia verificar por favor? E se possivel, procure dar exemplo da necessidade da Formula, quando for, tipo essa ultima, pois, é um exemplo que seja usual ou mesmo que é importante ter, ou seria alguma fórmula criada na sua empresa apenas? Não seria algo especifico que foi criado para alguma necessidade particular na sua empresa, isso que quero dizer CTA FGTS Essa parte tambem será um problema, na mesma formula, pois, chama uma outra formula a qual você não citou antes, e não existindo essa formula, é erro na certa: ENTAO (FOR ('SALCOMP') / 30)*5 Quote
VavaLeonel Posted June 15, 2011 Topic Count: 68 Topics Per Day: 0.01 Content Count: 174 Content Per Day: 0.04 Reputation: 4 Achievement Points: 1,534 Solved Content: 0 Days Won: 4 Status: Offline Report Posted June 15, 2011 Beleza jair vou verificar abraços Quote
FLAVIO JOSE Posted May 20, 2012 Topic Count: 0 Topics Per Day: 0 Content Count: 1 Content Per Day: 0.00 Reputation: 0 Achievement Points: 5 Solved Content: 0 Days Won: 0 Status: Offline Report Posted May 20, 2012 Pesssoal segue mais algumas formulas: INDENIZAÇÃO LEI 7.238/84 SE DTD > '03/01/2011' E DTD < '01/03/2011' E TABFUNC ('TIPODEMISSAO' , 'V') = 2 ENTAO FOR ('Remuner') SENAO 0 FIMSE Zerar valores de eventos SE CREC = 'M' ENTAO TOTDESC - TOTPROV SENAO 0 FIMSE Valores Alterado Manualmente -- Crítica da folha DECL VALOR; SE EXECSQL ('FOR1.009') = VERDADE ENTAO REPITA SETVAR(VALOR,RESULTSQL('FOR1.009','VALORESFORCADOS')) ATE PROXREGSQL('FOR1.009') = FALSO; VALOR SENAO 0 FIMSE Sexo - utilizado no relatorio Seguro Desemprego SE (TABPESSOA('SEXO','S') = 'M') ENTAO 1 SENAO 2 FIMSE Referência do Evento Empréstimo Consignação Bradesco TABEMPRESTIMO ('NROPARCPAGAS' , 'V' , '01') Referência do Evento Empréstimo Consignação Bradesco Rescisão SE TABEMPRESTIMO ('SALDODEVEDOR' , 'V' , '01') > (TOTPROV * 0.30) ENTAO 30 SENAO 0 FIMSE Liquido de Salario p/contabilização /* ATENÇÃO PARA A CONTABILIZAÇÃO MES A MES DEVE-SE ALTERAR OS CODIGOS FIXOS 'MES' E 'ANO' PARA O MES E ANO QUE ESTÁ SENDO CONTABILIZADO*/ LIQUIDOFF (F ('Ano'),F ('Mes') , 1) + LIQUIDOFF (F ('Ano'),F ('Mes') , 2) + LIQUIDOFF (F ('Ano'),F ('Mes') , 10) + LIQUIDOFF (F ('Ano'),F ('Mes') , 13) /*LIQUIDOFF (2010,6 , 1) + LIQUIDOFF (2010,6 , 2) + LIQUIDOFF (2010,6 , 10) + LIQUIDOFF (2010,6 , 13) */ INFORME DE RENDIMENTOS – NOME DO RESPONSAVEL PELA PENSAO SE EXECSQL ('DEPEND') =1 ENTAO DECL IMPRESSAO, CONT, X; REPITA SETVAR (CONT, RESULTSQL ('DEPEND','NRODEPEND')); SETVAR (IMPRESSAO,CONCAT5("RESPONSAVEL PENSAO:",TABDEP ('RESPONSAVEL','S',CONT)," -", "CPF:", RESULTSQL ('DEPEND','CPFRESP'))); SETVAR (X, X+1) ATE PROXREGSQL ('DEPEND') = 0 OU X=1 FIMSE; IMPRESSAO INDENIZAÇÃO - TEMPO DE SERVIÇO SE NMESES >= 12 ENTAO SE TABFUNC('TIPODEMISSAO','V') = 2 ENTAO (TCASA) * 3 * RC / 30 SENAO 0 FIMSE SENAO 0 FIMSE Vavá, Muito boa a sua contribuição, mas, será que você poderia me dar uma ajudinha ainda mais profunda. O que estou precisando é entender a sintaxe das fórmulas. Porque usar aspas? para que e quando o parêntese? etc.... Se puder serei muito grato. Quote
ti-cst Posted August 31, 2012 Topic Count: 59 Topics Per Day: 0.01 Content Count: 141 Content Per Day: 0.03 Reputation: 1 Achievement Points: 1,296 Solved Content: 0 Days Won: 1 Status: Offline Age: 47 Report Posted August 31, 2012 Desculpe entrar neste topico, mas eu preciso de uma ajuda. Tenho que desenvolver uma formula de consistencia no Nucleus dentro do tipo de movimento para tratar 4 situações diferentes e independentes a estrutura esta assim: /*VALIDA DATA DO IRRF*/ SE (TABMOV ('DATAEMISSAO' , 'D') <= FOR('9999E') E MVT('IRRF') > 0) ENTAO 0 SENAO 1 FIMSE; /*VALIDA CHAVE NFE*/ EXECSQL ('VALIDACHAVE'); SE TABMOV ('CODTDO' , 'S') = 'NFe' OU TABMOV ('CODTDO' , 'S') = 'CTe' ENTAO SE RESULTSQL ('VALIDACHAVE','RESULTADO') = 1 ENTAO 1 SENAO 0 FIMSE SENAO 1 FIMSE; /*VALIDA CAMPOS COMPLEMENTARES*/ SE TABMOV('CODFILIAL', 'V') = 2 E (TABMOV ('CODTMV' , 'S') ='1.2.26' OU TABMOV ('CODTMV' , 'S') ='1.2.25' OU TABMOV ('CODTMV' , 'S') ='1.2.97') ENTAO SE TABMOVCOMPL('TIPODOC', 'S') <> ' ' E TABMOVCOMPL('NFE', 'S') <> ' ' ENTAO 1 SENAO 0 FIMSE SENAO 1 FIMSE; /*VALIDA NOTA DUPLICADA*/ EXECSQL('SQLIDMOV'); SE EXECSQL('SQLIDMOV') = VERDADE ENTAO 1 SENAO /*DECL AUX;*/ SETVAR(AUX,0); SE EXECSQL('SQLDUPLI') = VERDADE ENTAO SETVAR(AUX, RESULTSQL('SQLDUPLI','VALOR')) SENAO SETVAR(AUX, 0) FIMSE SE TABMOV ('CODTMV' , 'S') <> '1.1.02' E TABMOV ('CODTMV' , 'S') <> '1.1.03' E TABMOV ('CODTMV' , 'S') <> '1.1.04' E TABMOV ('CODTMV' , 'S') <> '1.1.06' E TABMOV ('CODTMV' , 'S') <> '1.1.07' E TABMOV ('CODTMV' , 'S') <> '3.1.00' E TABMOV ('CODTMV' , 'S') <> '1.1.08' ENTAO SE (AUX = 1) ENTAO SE(usuariocorrente = 'Eber' ou usuariocorrente = 'mestre') /*LIBERA NF DUPLICADA*/ ENTAO 1 SENAO 0 FIMSE SENAO 1 FIMSE FIMSE FIMSE Desta forma so esta validando a ultima. Quote
Jair - Fórmula Posted August 31, 2012 Topic Count: 920 Topics Per Day: 0.13 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Author Report Posted August 31, 2012 ti-cst, esse topico é para uso de Exemplos de Fórmulas para os membros... Abra um novo tópico com a sua dúvida para que possa ser ajudado ok? Quote
ti-cst Posted August 31, 2012 Topic Count: 59 Topics Per Day: 0.01 Content Count: 141 Content Per Day: 0.03 Reputation: 1 Achievement Points: 1,296 Solved Content: 0 Days Won: 1 Status: Offline Age: 47 Report Posted August 31, 2012 OK - Ja abri, você pode me dar uma idéia? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.