Rick Postado 14 de Abril de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 14 de Abril de 2011 Eae Galera, blzinha? Estou com um baita problema, rs. Preciso fazer uma formula que calcule o convênio odontologico por dependentes. Localizei o campo 'nrodepend'(tabela pfdepend) que se refere ao número de dependentes de um funcionário, fiz a formula e ela funciona corretamente, desde que o campo 'nrodepend'(tabela pfdepend) esteja com a numeração em ordem, se estiver faltando algum número na sequencia, ele gera erro. exemplo: nrodepend: 1, 2, 3, 4, 5,7, 8, 9 como ele não tem o '6' ele retorna com erro. segue a formula: DECL NUMDEP, DEP, SOMADEP; SETVAR (NUMDEP, FOR ('TST00')); SETVAR(DEP,1); SETVAR(SOMADEP,0); REPITA SENAO SE TABDEP ('INCDEFINIVEIS' , 'S' , DEP) = '*' ENTAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='INTEGRAL' ENTAO SALVAVALDEP(DEP,F('0006')); SETVAR(SOMADEP, SOMADEP + F('0006')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='SUPERIOR' ENTAO SALVAVALDEP(DEP,F('0007')); SETVAR(SOMADEP, SOMADEP + F('0007')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='MASTER' ENTAO SALVAVALDEP(0,F('0008')); SETVAR(SOMADEP, SOMADEP + F('0008')) SENAO SETVAR(SOMADEP, 0) FIMSE FIMSE FIMSE SENAO SETVAR(SOMADEP,SOMADEP + 0) FIMSE; SETVAR(DEP, DEP + 1) ATE DEP = NUMDEP + 1; SOMADEP Sendo que "NUMDEP" se refere a uma sentença SQL que me traz um COUNT do total de dependentes. Bem em geral, o que eu preciso é alguma condição que eu inclua nessa formula para que ele não me retorne erro, caso a sequencia de dependentes não esteja completa. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
bernardes Postado 15 de Abril de 2011 Tópicos Que Criei: 17 Tópicos/Dia: 0.00 Meu Conteúdo: 55 Conteúdo/Dia: 0.01 Reputação: 0 Pontos/Conquistas: 447 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 49 Denunciar Compartilhar Postado 15 de Abril de 2011 Oi sua formula esta legal, mas não seria mais facil fazer uma sentença retornando quantos dependentes o colaborador possui? Você ainda pode criar uma tabela dinamica de Incidencias de dependentes e fazer esta contagem via sentença e retorna-la na formula. Att. Cláudio Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rick Postado 15 de Abril de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 15 de Abril de 2011 Oi sua formula esta legal, mas não seria mais facil fazer uma sentença retornando quantos dependentes o colaborador possui? Você ainda pode criar uma tabela dinamica de Incidencias de dependentes e fazer esta contagem via sentença e retorna-la na formula. Att. Cláudio Olá Claudio, Então, eu já tenho uma sentença que faz um COUNT retornando o total de dependentes, mas quando eu tento validar linha por linha, se alguma não estiver em ordem, como no exemplo q eu dei, ele retorna erro. Creio que o erro seja na validação do loop. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rick Postado 18 de Abril de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 18 de Abril de 2011 Olá Claudio, Então, eu já tenho uma sentença que faz um COUNT retornando o total de dependentes, mas quando eu tento validar linha por linha, se alguma não estiver em ordem, como no exemplo q eu dei, ele retorna erro. Creio que o erro seja na validação do loop. Boa tarde, eu estive analisando minhas sentenças e um amigo me deu a idéia de utilizarmos vetores, como nos scripts sql. para o vetor receber o valor do dependente e retornar o ID do mesmo. Exemplo. Eu tenho os dependentes 1, 2, 4, 5 ,6, 7. eu criaria um vetor que preenchesse uma tabela com os valores: 1 = '1' 2 = '2' 3 = '4' 4 = '5' 5 = '6' 6 = '7' E assim, me retornar os valores que eu preciso. Alguém tem idéia se é possível fazer isso no RM. Por "Arrays" Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alberto Libório Postado 19 de Abril de 2011 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 Denunciar Compartilhar Postado 19 de Abril de 2011 Utilize a função NDEP, ela retorna o número de dependentes que tem determinada incidência marcada. Exemplo: A incidência 2 - Presentes de Natal está marcada para 3 dos 4 dependentes de um funcionário e na fórmula está pedindo o seguinte - NDEP (2) - o resultado será 3. Transcrição do Manual eletrônico do RM Labore Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rick Postado 20 de Abril de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 20 de Abril de 2011 Utilize a função NDEP, ela retorna o número de dependentes que tem determinada incidência marcada. Exemplo: A incidência 2 - Presentes de Natal está marcada para 3 dos 4 dependentes de um funcionário e na fórmula está pedindo o seguinte - NDEP (2) - o resultado será 3. Transcrição do Manual eletrônico do RM Labore No caso se eu usar da forma q vc me falou ele dá erro na função "repita". Eu pensei em usar algum tipo de matriz de vetor, mas não sei como fazer nos codigos do RM. Dando uma revisada nos tópicos de ajuda do RM eu ví que existe a função "MEMORIA" e a função "ATRIBUI" que talves unidas, possamos fazer um vetor, mas o problema é que não estou conseguindo montar uma formula usando esses comandos. Segue minha formula atual: DECL NUMDEP, DEP, SOMADEP; SETVAR (NUMDEP, FOR ('TST00')); SETVAR(DEP,1); SETVAR(SOMADEP,0); REPITA SE TABDEP ('INCDEFINIVEIS' , 'S' , DEP) = '*' ENTAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='INTEGRAL' ENTAO SALVAVALDEP(DEP,F('0006')); SETVAR(SOMADEP, SOMADEP + F('0006')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='SUPERIOR' ENTAO SALVAVALDEP(DEP,F('0007')); SETVAR(SOMADEP, SOMADEP + F('0007')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='MASTER' ENTAO SALVAVALDEP(0,F('0008')); SETVAR(SOMADEP, SOMADEP + F('0008')) SENAO SETVAR(SOMADEP, 0) FIMSE FIMSE FIMSE SENAO SETVAR(SOMADEP,SOMADEP + 0) FIMSE; SETVAR(DEP, DEP + 1) ATE DEP = NUMDEP + 1; SOMADEP Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alberto Libório Postado 22 de Abril de 2011 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 Denunciar Compartilhar Postado 22 de Abril de 2011 Rick, Eu não sei qual é a regra desse plano aí na sua empresa, mas gostaria de entender para tentar te ajudar: 1) Qual valor dos dependentes você está tentando calcular? a quantidade de dependentes ou o valor do desconto da assistência odontológica por dependentes? 2) Você criou os campos complementares agora ou eles já existiam? 3) Os níveis do plano (Integral, superior e master) alteram ou são fixos? 4) Você tem liberdade para criar uma estrutura de desconto (parametrização) ou tem que se virar com o que já existe? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rick Postado 26 de Abril de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 26 de Abril de 2011 (editado) Rick, Eu não sei qual é a regra desse plano aí na sua empresa, mas gostaria de entender para tentar te ajudar: 1) Qual valor dos dependentes você está tentando calcular? a quantidade de dependentes ou o valor do desconto da assistência odontológica por dependentes? 2) Você criou os campos complementares agora ou eles já existiam? 3) Os níveis do plano (Integral, superior e master) alteram ou são fixos? 4) Você tem liberdade para criar uma estrutura de desconto (parametrização) ou tem que se virar com o que já existe? Bom dia Alberto, tudo bem? Na realidade, não é apenas um plano que temos que mudar. o exemplo que eu dei acima foi somente para um, mas temos que alterar para todos os planos a forma de cálculo por dependentes. Hoje o sistema funciona assim, ele soma todos os dependentes e manda o valor total para a folha de pagto. Mas o projeto prevê que seja discriminado o valor de dependenter e do titular. Não sei se está claro. Assim, nos campos complementares existe um campo onde eu posso selecionar os dependentes que usam o convenio odontológico, independente de qual seja. Esse campo se chama "ass. odontológica", se estiver selecionado, eu posso calcular o valor desse dependente. Até aí tudo tranquilo. O meu problema está em que, nem sempre o campo que numera os dependentes estão em ordem. Quando não estão em ordem ele retorna erro nas minhas formulas. Segue telas para tentar explicar melhor o erro. Editado 26 de Abril de 2011 por Rick Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rick Postado 1 de Junho de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 1 de Junho de 2011 Eae Galera, blzinha? Estou com um baita problema, rs. Preciso fazer uma formula que calcule o convênio odontologico por dependentes. Localizei o campo 'nrodepend'(tabela pfdepend) que se refere ao número de dependentes de um funcionário, fiz a formula e ela funciona corretamente, desde que o campo 'nrodepend'(tabela pfdepend) esteja com a numeração em ordem, se estiver faltando algum número na sequencia, ele gera erro. exemplo: nrodepend: 1, 2, 3, 4, 5,7, 8, 9 como ele não tem o '6' ele retorna com erro. segue a formula: DECL NUMDEP, DEP, SOMADEP; SETVAR (NUMDEP, FOR ('TST00')); SETVAR(DEP,1); SETVAR(SOMADEP,0); REPITA SENAO SE TABDEP ('INCDEFINIVEIS' , 'S' , DEP) = '*' ENTAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='INTEGRAL' ENTAO SALVAVALDEP(DEP,F('0006')); SETVAR(SOMADEP, SOMADEP + F('0006')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='SUPERIOR' ENTAO SALVAVALDEP(DEP,F('0007')); SETVAR(SOMADEP, SOMADEP + F('0007')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='MASTER' ENTAO SALVAVALDEP(0,F('0008')); SETVAR(SOMADEP, SOMADEP + F('0008')) SENAO SETVAR(SOMADEP, 0) FIMSE FIMSE FIMSE SENAO SETVAR(SOMADEP,SOMADEP + 0) FIMSE; SETVAR(DEP, DEP + 1) ATE DEP = NUMDEP + 1; SOMADEP Sendo que "NUMDEP" se refere a uma sentença SQL que me traz um COUNT do total de dependentes. Bem em geral, o que eu preciso é alguma condição que eu inclua nessa formula para que ele não me retorne erro, caso a sequencia de dependentes não esteja completa. Eae Galera, blzinha? Estou com um baita problema, rs. Preciso fazer uma formula que calcule o convênio odontologico por dependentes. Localizei o campo 'nrodepend'(tabela pfdepend) que se refere ao número de dependentes de um funcionário, fiz a formula e ela funciona corretamente, desde que o campo 'nrodepend'(tabela pfdepend) esteja com a numeração em ordem, se estiver faltando algum número na sequencia, ele gera erro. exemplo: nrodepend: 1, 2, 3, 4, 5,7, 8, 9 como ele não tem o '6' ele retorna com erro. segue a formula: DECL NUMDEP, DEP, SOMADEP; SETVAR (NUMDEP, FOR ('TST00')); SETVAR(DEP,1); SETVAR(SOMADEP,0); REPITA SENAO SE TABDEP ('INCDEFINIVEIS' , 'S' , DEP) = '*' ENTAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='INTEGRAL' ENTAO SALVAVALDEP(DEP,F('0006')); SETVAR(SOMADEP, SOMADEP + F('0006')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='SUPERIOR' ENTAO SALVAVALDEP(DEP,F('0007')); SETVAR(SOMADEP, SOMADEP + F('0007')) SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='MASTER' ENTAO SALVAVALDEP(0,F('0008')); SETVAR(SOMADEP, SOMADEP + F('0008')) SENAO SETVAR(SOMADEP, 0) FIMSE FIMSE FIMSE SENAO SETVAR(SOMADEP,SOMADEP + 0) FIMSE; SETVAR(DEP, DEP + 1) ATE DEP = NUMDEP + 1; SOMADEP Sendo que "NUMDEP" se refere a uma sentença SQL que me traz um COUNT do total de dependentes. Bem em geral, o que eu preciso é alguma condição que eu inclua nessa formula para que ele não me retorne erro, caso a sequencia de dependentes não esteja completa. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jorge Postado 1 de Junho de 2011 Tópicos Que Criei: 51 Tópicos/Dia: 0.01 Meu Conteúdo: 1.005 Conteúdo/Dia: 0.16 Reputação: 12 Pontos/Conquistas: 5.527 Conteúdo Resolvido: 0 Dias Ganho: 8 Status: Offline Idade: 51 Denunciar Compartilhar Postado 1 de Junho de 2011 Rick, Dá uma olhada na fórmula que estou lhe passando... SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='INTEGRAL' ENTAO NDEP(1) * F('0006') SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='SUPERIOR' ENTAO NDEP(1) * F('0007') SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='MASTER' ENTAO NDEP(1) * F('0008') SENAO 0 FIMSE FIMSE FIMSE Esta verifica o tipo de Plano do funcionário, além disso a variavel NDEP(1) irá resultar a quantidade de DEPENDNETES cuja incidência do Plano Odonto estiver marcada X o valor fixo para cada tipo de plano. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rick Postado 10 de Agosto de 2011 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 22 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 162 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 10 de Agosto de 2011 Rick, Dá uma olhada na fórmula que estou lhe passando... SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='INTEGRAL' ENTAO NDEP(1) * F('0006') SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='SUPERIOR' ENTAO NDEP(1) * F('0007') SENAO SE TABCOMPL ('ASSISTENCIAODONTO' , 'S')='MASTER' ENTAO NDEP(1) * F('0008') SENAO 0 FIMSE FIMSE FIMSE Esta verifica o tipo de Plano do funcionário, além disso a variavel NDEP(1) irá resultar a quantidade de DEPENDNETES cuja incidência do Plano Odonto estiver marcada X o valor fixo para cada tipo de plano. Valeu Jorge, consegui fazer seguindo seus conselhos!!! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.