Beruflich Dokumente
Kultur Dokumente
Contedo
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
FRMU
LA
VISUAL
DESCRI
O
GATILHO
WHEN (
SELECT
XVENDA.DATAENTREGACHAVE
FROM
XVENDA (NOLOCK),
Activity=RMSWorkflow,
Path=Fields["CODCFO"].AsString
XEMPREENDIMENTO (NOLOCK),
XITEMVENDA (NOLOCK)
Activity=RMSWorkflow,
Path=Fields["CODCODCOLIGADA"].AsShort
WHERE
XEMPREENDIMENTO.COD_PESS_EMPR =
XVENDA.COD_PESS_EMPR AND XEMPREENDIMENTO.CODCOLIGADA =
XVENDA.CODCOLIGADA
CONSULTA
SQL
AND XITEMVENDA.NUM_VENDA =
XVENDA.NUM_VENDA AND XITEMVENDA.COD_PESS_EMPR =
XVENDA.COD_PESS_EMPR
=:CODCOLIGADA
Activity=RMSWorkflow,
Path=Tables["HPARAMATENDIMENTO"].Item["PARAMETR
O_10"].AsString
AND XVENDA.CODCOLIGADA
ATIVIDAD
ES
AND
XEMPREENDIMENTO.CODEMPREENDIMENTO =:PARAMETRO_10
Activity=RMSWorkflow,
Path=Tables["HPARAMATENDIMENTO"].Item["PARAMETR
O_8"].AsString
AND XITEMVENDA.NUM_SUB_UNID
=:PARAMETRO_8 ) < GETDATE() THEN 0
ELSE 1
END AS RETORNO
FROM GCOLIGADA (NOLOCK)
WHERE CODCOLIGADA = 1
SE/SENAO
GERAR
EXCEO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
CONDIO DECLARATIVA
this.Tables["HATENDIMENTOBASE"]
["CODGRUPOATENDIMENTO"].AsString == "5" &&
this.Tables["HATENDIMENTOBASE"]
["CODTIPOATENDIMENTO"].AsString == "8" &&
this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Added &&
this.rmsConsSQLActivity1.Fields["RETORNO"].AsInteger
== 1 && (this.Tables["HPARAMATENDIMENTO"]
["PARAMETRO_3"].AsString == "0" ||
this.Tables["HPARAMATENDIMENTO"]
["PARAMETRO_3"].IsNull)
MENSAGEM DE ERRO
GATILHO
ATIVIDAD
ES
Activity=RMSWorkflow, Path=Fields.Item["CGCCFO"].AsString
SE/SENAO
CONDIO
DECLARATIVA
this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Added &&
this.retornaCNPJ.Fields["QTD"].AsInteger > 0
GERAR
EXCEO
MENSAGEM DE ERRO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
CONSULTA
SQL
ATIVIDAD
ES
Activity=RMSWorkflow, Path=Fields["CODATENDIMENTO"].AsInteger
Activity=RMSWorkflow, Path=Fields["CODCFO"].AsString
Activity=RMSWorkflow,
Path=Tables["HPARAMATENDIMENTO"].Item["PARAMETRO_50"].AsString
SE/SENAO
CONDIO
DECLARATIVA
(this.Tables["HATENDIMENTOBASE"]["CODGRUPOATENDIMENTO"].AsString
== "6" && this.Tables["HATENDIMENTOBASE"]
["CODTIPOATENDIMENTO"].AsString == "9" ||
this.Tables["HATENDIMENTOBASE"]["CODGRUPOATENDIMENTO"].AsString
== "6" && this.Tables["HATENDIMENTOBASE"]
["CODTIPOATENDIMENTO"].AsString == "10") &&
this.rmsConsSQLActivity1.Fields["RETORNO"].AsInteger == 1 &&
(this.Tables[0].Rows[0].RowState == System.Data.DataRowState.Added ||
this.Tables[0].Rows[0].RowState == System.Data.DataRowState.Modified
|| this.Tables["HPARAMATENDIMENTO"]["PARAMETRO_50"].IsModified) &&
(this.Tables["HPARAMATENDIMENTO"]["PARAMETRO_55"].AsString == "0"
|| this.Tables["HPARAMATENDIMENTO"]["PARAMETRO_55"].IsNull)
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
EXPRESSO
OBSERVA
O
IF (
SELECT COUNT(VALOR) AS OCORRENCIAS
FROM HPARAMATENDIMENTO (NOLOCK), HATENDIMENTOEXT (NOLOCK)
WHERE HPARAMATENDIMENTO.CODCOLIGADA = HATENDIMENTOEXT.CODCOLIGADA
AND HPARAMATENDIMENTO.CODATENDIMENTO =
HATENDIMENTOEXT.CODATENDIMENTO AND HPARAMATENDIMENTO.CODLOCAL =
HATENDIMENTOEXT.CODLOCAL
AND HPARAMATENDIMENTO.CODPARAMETRO = '50'
AND HPARAMATENDIMENTO.VALOR =:PARAMETRO_50
AND HATENDIMENTOEXT.CODCFO =:CODCFO
AND HATENDIMENTOEXT.CODATENDIMENTO <>:CODATENDIMENTO
AND CONVERT(VARCHAR(10),ABERTURA,102) >=
CONVERT(VARCHAR(10),DATEADD(MONTH,-3,
CONVERT(VARCHAR(10),GETDATE(),102)),102)
AND HATENDIMENTOEXT.CODSTATUS <> 'C'
AND HATENDIMENTOEXT.CODSTATUS <> 'R'
AND HATENDIMENTOEXT.CODSTATUS <> 'O'
AND HATENDIMENTOEXT.CODSTATUS <> 'F'
AND HATENDIMENTOEXT.CODSTATUS <> 'U' ) > 0
BEGIN
SELECT 1 AS RETORNO END
ELSE
BEGIN SELECT 0 AS RETORNO END
Activity=rmsThrowActivity1, Path=Message
VALOR CALCULADO
necessria a criao de Campos Parmetros no TOTVS Gesto do
Relacionamento com o Cliente.
FRMU
LA
VISUAL
DESCRI
O
GATILHO
CONDIO
DECLARATIVA
this.Tables["HPARAMATENDIMENTO"]["PARAMETRO_55"].AsString == "1"
PARA CADA
ITERAO
LISTA DE ITENS
Activity=RMSWorkflow, Path=Tables[0].Rows
CONSULTA
SQL
FROM
ENVIO DE
EMAIL
ASSUNTO
DESTINATRIO
REMETENTE
TEXTO DO EMAIL
ATIVIDAD
ES
EXPRESSO
IMAGEM
HATENDENTE (NOLOCK)
INNER JOIN PPESSOA (NOLOCK)ON
HATENDENTE.CODPESSOA = PPESSOA.CODIGO
INNER JOIN HATENDENTEGRUPO (NOLOCK) ON
HATENDENTE.CODCOLIGADA = HATENDENTEGRUPO.CODCOLIGADA
AND HATENDENTE.CODATENDENTE = HATENDENTEGRUPO.CODATENDENTE
AND HATENDENTEGRUPO.CODGRUPO = @GRUPO
EXPRESSES
'----------------------------------------------------------------------------' +
NewLine + NewLine +
'Prezado(a) Superintendente de Vendas, ' + NewLine + NewLine +
'O sistema [TOTVS Gesto do Relacionamento com o Cliente] constatou que um
atendimento do Tipo [Ficha de Atendimento] foi includo em duplicidade para o
cliente: ' + RMSWorkflow.CODCFO + '.' + NewLine + NewLine + 'Nmero do Atendimento
Duplicado: ' + RMSWorkflow.CODATENDIMENTO + NewLine + NewLine +
'----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsSendEmailActivity1, Path=Body
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
CONDIO
DECLARATIVA
!new System.Text.RegularExpressions.Regex("^([0-9azA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,AZ,.,-]*(.){1}[a-zA-Z]{2,4})+
$").IsMatch(this.Tables["PPESSOA"]["EMAIL"].AsString)
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
'----------------------------------------------------------------------------' +
NewLine + NewLine +
'Favor preencher o campo EMAIL com um valor vlido.'
+
NewLine + '( Exemplo: usuario@totvs.com.br )' + NewLine + NewLine +
NewLine + NewLine +
'----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
CONDIO
DECLARATIVA
!this.Tables["HPROSPECTCOMPL"]
["TELEFONEPROSPECT"].IsNull && !new
System.Text.RegularExpressions.Regex("^\\d{2}
[\\s-]\\d{4}-\\d{4}$").IsMatch(this.Tables["HPROSPECTCOMPL"]
["TELEFONEPROSPECT"].AsString)
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
'----------------------------------------------------------------------------' +
NewLine + NewLine +
'Favor preencher o campo TELEFONE ADICIONAL (Pasta Campos Complementares) com um
valor vlido.'
+ NewLine + '( Padro: 31 0000-0000 )' +
NewLine + NewLine +
NewLine + NewLine +
'----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
SE/SENAO
CONDIO
DECLARATIVA
this.Tables["HATENDIMENTOBASE"]
["CODGRUPOATENDIMENTO"].AsString == "6" &&
this.Tables["HATENDIMENTOBASE"]
["CODTIPOATENDIMENTO"].AsString == "9" &&
this.Tables["HPARAMATENDIMENTO"]
["PARAMETRO_23"].AsDateTime >
this.Tables["HATENDIMENTOBASE"]["ABERTURA"].AsDateTime
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
'----------------------------------------------------------------------------' +
NewLine + NewLine +
'O campo "Data da Visita ao Imvel" (Pasta Parmetros) deve ser preenchido com uma
Data anterior ou igual a Data Atual.' + NewLine + NewLine +
NewLine + NewLine +
'----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
CONDIO
DECLARATIVA
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
'----------------------------------------------------------------------------' +
NewLine + NewLine +
'Favor preencher o campo EMAIL com um valor vlido.'
+
NewLine + '( Exemplo: usuario@caparao.com.br )' + NewLine + NewLine +
NewLine + NewLine +
'----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
Activity=RMSWorkflow,
Path=Tables["TMOVRELAC"].Item["CODCOLORIGEM"].AsInteger
CONSULTA
SQL
Activity=RMSWorkflow,
Path=Tables["TMOVRELAC"].Item["IDMOVORIGEM"].AsInteger
ATIVIDAD
ES
SE/SENAO
CONDIO
DECLARATIVA
(this.Tables[0].Rows[0].RowState == System.Data.DataRowState.Added ||
this.Tables[0].Rows[0].RowState == System.Data.DataRowState.Modified)
&&
(this.Tables["TMOV"]["CODTMV"].AsString == "1.2.37" &&
this.rmsConsSQLActivity1.Fields["ULTIMOPERIODOSOLUM"].AsString == "1" &&
(this.Tables["TMOVCOMPL"]["PRECO"].IsNull || this.Tables["TMOVCOMPL"]
["PONTUALIDADE"].IsNull || this.Tables["TMOVCOMPL"]["ADEQUADACAO"].IsNull ||
this.Tables["TMOVCOMPL"]["INOVACAO"].IsNull || this.Tables["TMOVCOMPL"]
["ADEQPROJ"].IsNull || this.Tables["TMOVCOMPL"]["FUNCIONALIDADE"].IsNull ||
this.Tables["TMOVCOMPL"]["ATENDSOLCONSTR"].IsNull || this.Tables["TMOVCOMPL"]
["ACOMP"].IsNull || this.Tables["TMOVCOMPL"]["RELAC"].IsNull ||
this.Tables["TMOVCOMPL"]["QUALIDADE"].IsNull))
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
'----------------------------------------------------------------------------' + NewLine +
'Favor preencher os campos da Pasta Informaes Adicionais >> Campos Complementares, visto ser o ltimo
Perodo do Contrato associado no RM SOLUM. Os campos so: ' + NewLine + '"PRECO (RELACAO CUSTOBENEFICIO)", "PONTUAL ENTREGA NO PRAZO ESTABELECIDO", "ADEQUADACAO AS NORMAS TECNICAS", "INOVACAO
TECNOLOGICA", "ADEQUADACAO PROJ DE INTERFACE", "FUNCIONALIDADE", "ATEND SOLIC DA CONSTRUTORA", "ACOMP
DURANTE EXECUCAO OBRA", "RELACIONAMENTO COM A CONSTRUTORA" e "QUALIDADE DAS INFOR DOS PROJETOS/LAUDOS"' +
NewLine +
NewLine + '----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
10.
MPDO (NOLOCK)
Activity=RMSWorkflow,
Path=Tables["TMOVRELAC"].Item["CODCOLORIGEM"].AsShort
CONSULTA
SQL
Activity=RMSWorkflow,
Path=Tables["TMOVRELAC"].Item["IDMOVORIGEM"].AsInteger
AND MPDO.IDMOV
=:IDMOVORIGEM
/* CONSULTA SQL PARA FORMULA VISUAL QUE VALIDA TIPO
DE MOVIMENTO 1.2.37
RETORNA O NUMERO DO CONTRATO NO RM SOLUM */
ATIVIDAD
ES
SE/SENAO
CONDIO
DECLARATIVA
(this.Tables[0].Rows[0].RowState == System.Data.DataRowState.Added ||
this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Modified)
&&
(this.Tables["TMOVCOMPL"]["FATDIRETO"].AsString == "1" &&
(this.Tables["TMOV"]["CODTMV"].AsString == "1.2.37" &&
this.rmsConsSQLActivity1.Fields["NUMCNT"].AsString !=
this.Tables["TMOVCOMPL"]["NUMEROCONTRATO"].AsString))
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
EXPRESSO
VALOR CALCULADO
OBSERVA
O
'----------------------------------------------------------------------------' + NewLine +
'Favor preencher o campo NUMERO CONTRATO EMPREITEIRO (Pasta Informaes Adicionais >> Campos
Complementares), com o mesmo Nmero do Contrato associado no TOTVS OBRAS E PROJETOS (RM SOLUM).' +
NewLine +
NewLine +
'Nmero do Contrato no TOTVS OBRAS E PROJETOS: ' + rmsConsSQLActivity1.NUMCNT
+ NewLine +
NewLine +
'----------------------------------------------------------------------------'
Activity=rmsThrowActivity1, Path=Message
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
11.
Frmula Visual que envia e-mail para Grupo de Emails responsvel pela administrao do Cadastro de
Produtos a cada novo produto incluso.
Tabela: TPRD
Campo Validado: IDPRD
Valor: novo registro
CONDIO
DECLARATIVA
this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Added
[TOTVS] Incluso de Novo Produto no Sistema TOTVS
ENVIO DE
EMAIL
ASSUNTO
DESTINATRIO
REMETENTE
TEXTO DO EMAIL
totvs@totvs.com.br
Company
Texto da Atividade Expresso
EXPRESSES
'----------------------------------------------------------------------------' +
NewLine + NewLine +
'Um novo Produto foi includo no sistema TOTVS.'
+ NewLine + NewLine +
'Cdigo do Produto: ' + RMSWorkflow.CODIGOPRD + NewLine +
'Cdigo da Coligada: ' + RMSWorkflow.CODCOLIGADA
+ NewLine
+ NewLine + NewLine +
'----------------------------------------------------------------------------'
VALOR CALCULADO
Activity=rmsSendEmailActivity1, Path=Body
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
12.
Este Workflow tem como objetivo enviar um e-mail automtico para o usurio do
sistema que tiver seu login includo no sistema, ou tiver sua senha resetada.
Campo a ser testado: "SENHA" da viso do cadastro de Usurios
(GUSUARIO.SENHA).
Cadastros >> Antes da Atualizao do Registro (Fim) >> Globais >> Usurios
CONDIO
SE/SENAO
this.Fields["SENHA"].IsModified
DECLARATIVA
[TOTVS] Login de acesso aos Sistemas TOTVS
ASSUNTO
ENVIO DE
EMAIL
EXPRESSO
DESTINATRIO
REMETENTE
TEXTO DO EMAIL
Activity=RMSWorkflow,
Path=Fields["EMAIL"].AsStringArray
Company
Texto da Atividade Expresso
EXPRESSES
VALOR CALCULADO
Activity=rmsSendEmailActivity1, Path=Body
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
possvel indicar a senha que for informada no cadastro do usurio. O valor padro
123456 foi uma questo de segurana.
13.
Este Workflow tem como objetivo enviar um e-mail automtico para os usurioschave do sistema RM Agilis, caso ocorram erros durante a gerao da rotina de
Envio de E-mails Automticos (servio 'Executar Frmula a partir de Consulta
SQL'). Fazendo com que os usurios-chave tomem providncia.
Campo a ser testado: MENSAGEMSTATUS e DATAINIEXEC
Tabela: GJOBXEXECUCAO
GATILHO
CONSULTA
SQL
SELECT
CONVERT(VARCHAR(10),GETDATE(),105)
AND
ELSE 0
END AS RETORNO
FROM GCOLIGADA (NOLOCK)
WHERE CODCOLIGADA = 1
SE/SENAO
ATIVIDAD
ES
ENVIO DE
EMAIL
CONDIO
DECLARATIVA
this.rmsConsSQLActivity1.Fields["RETORNO"].As
String == "1"
ASSUNTO
DESTINATRIO
REMETENTE
TEXTO DO EMAIL
EXPRESSO
EXPRESSES
VALOR CALCULADO
OBSERVA
O
FRMU
LA
VISUAL
Activity=rmsSendEmailActivity1, Path=Body
Esta Frmula Visual s deve ser includa caso o servio agendado de Envio de Email esteja
sendo utilizado.
14.
Campo: SEGUERATEIOSALCMP
Tabela: PEVENTO
Valor: 1
GATILHO
Cadastros >> Antes da Atualizao do Registro (Fim) >> Folha de Pagamento >>
Evento
EXPRESSES
VALOR CALCULADO
Activity=RMSWorkflow,
Path=Tables["PEVENTO"].Item["SEGUERATEIOSALCMP"]
.AsInteger
ATIVIDAD
ES
EXPRESSO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
GATILHO
15.
Este Workflow tem por objetivo tornar um Atendente Inativo caso o Funcionrio
seja Demitido no RM Labore.
Execuo Agendada: Acessar a opo Salvar e Executar dentro da edio da Frmula
Visual, e agendar a execuo
SELECT
CONSULTA
SQL
ATIVIDAD
ES
LER
REGISTRO
EXPRESSO
SALVAR
REGISTRO
IMAGEM
FROM
WHERE
CODATENDENTE,
CODCOLIGADA,
ATIVO
HATENDENTE
CODPESSOA =:CODPESSOA
NOME DO DATASERVER
CDIGO DO ATENDENTE
COLIGADA
EXPRESSES
CRMAtendenteData
VALOR CALCULADO
Activity=rmsReadRecordActivity1,
Path=Tables["HATENDENTE"].Item["ATIVO"].AsBoolean
FONTE DE DADOS
NOME DO DATASERVER
Activity=rmsReadRecordActivity1, Path=DataSet
Activity=RMSWorkflow, Path=Fields["CODATENDENTE"].AsInteger
Activity=RMSWorkflow, Path=Fields["CODCOLIGADA"].AsShort
CRMAtendenteData
FRMU
LA
VISUAL
16.
DESCRI
O
GATILHO
Cadastros >> Aps da Atualizao do Registro (Fim) >> Folha de Pagamento >>
Funcionrios
ATIVIDAD
ES
CONSULTA
SQL
SE/SENAO
CONDIO
DECLARATIVA
this.rmsConsSQLActivity1.DataSet.Tables[0].Rows.Cou
nt > 0
GERAR
EXCEO
MENSAGEM DE ERRO
OBSERVA
O
FRMU
LA
VISUAL
DESCRI
O
17.
GATILHO
ATIVIDAD
ES
Cadastros >> Antes da Atualizao do Registro (Fim) >> Folha de Pagamento >>
Funcionrios
SE/SENAO
CONDIO
DECLARATIVA
this.Tables["PFUNC"]["PISPASEP"].IsNull &&
System.Convert.ToString(this.Tables["PFUNC"]
["TIPOADMISSAO"].Value).ToUpper() != "P"
GERAR
EXCEO
MENSAGEM DE ERRO
OBSERVA
O
FRMU
LA
VISUAL
18.
DESCRI
O
Esta Frmula Visual (Workflow) tem como objetivo validar a incluso e alterao
no cadastro de produtos com base no Perfil do Usurio logado.
GATILHO
CONSULTA
SQL
COUNT(*)
GUSRPERFIL (NOLOCK)
GUSRPERFIL.CODUSUARIO
Activity=RMSWorkflow, Path=Context.CodColigada
GUSRPERFIL.CODCOLIGADA
=:FRM_COLCOR AND
GUSRPERFIL.CODSISTEMA = 'T' AND
Activity=RMSWorkflow, Path=Context.CodUsuario
ATIVIDAD
ES
GUSRPERFIL.CODPERFIL =
'IMPLANTACAO'
) > 0
BEGIN
SELECT 1 AS RESULTADO
END
ELSE
SELECT 0 AS RESULTADO
SE/SENAO
CONDIO DECLARATIVA
this.rmsConsSQLActivity1.Fields["RESULTADO"].AsInteg
er == 1
GERAR
EXCEO
MENSAGEM DE ERRO
OBSERVAO
OBSERVAO
2
FRMU
LA
VISUAL
19.
DESCRI
O
Esta Frmula Visual (Workflow) tem como objetivo validar a Apropriao de Novos
Atendimentos com base na quantidade de atendimentos pendentes para o
Atendente associado ao Usurio logado.
GATILHO
ATIVIDAD
ES
SELECT
FROM
CONSULTA
SQL
(NOLOCK)
ON HA.CODCOLIGADA =
H.CODCOLIGADARESP
AND HA.CODATENDENTE =
Activity=RMSWorkflow, Path=Context.CodUsuario
H.CODATENDENTERESP
WHERE
HA.CODUSUARIO =:CODUSUARIO
AND H.CODSTATUS IN ('A')
SE/SENAO
CONDIO DECLARATIVA
this.rmsConsSQLActivity1.Fields["CONTADOR"].AsIntege
r>4
GERAR
EXCEO
MENSAGEM DE ERRO
mais atendimentos.
OBSERVAO
OBSERVAO
2
FRMU
LA
VISUAL
20.
DESCRI
O
GATILHO
ATIVIDAD
ES
SE/SENAO
CONDIO DECLARATIVA
this.Tables["VTREINAMENTOCOMPL"]
["TIPOTRE"].AsString == "01" &&
this.Tables["VREQTREINAMENTO"]
["DATAPREVISTA"].AsDateTime <=
System.DateTime.Today.AddDays(7)
GERAR
EXCEO
MENSAGEM DE ERRO
EXPRESSES
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVAO
OBSERVAO
2
FRMU
LA
VISUAL
21.
DESCRI
O
Esta Frmula Visual (Workflow) tem como objetivo validar se o candidato est
sendo inscrito em um curso mais de 2 (duas) vezes.
GATILHO
CONSULTA
SQL
AND
VTURMAS.CODCOLIGADA = VTURMA.CODCOLIGADA
WHERE
VTURMA.CODPESSOA=:CODPESSOA
AND VTURMAS.CODCURSO='1000015'
AND VTURMA.DTDESISTENCIA IS NULL
GROUP BY VTURMA.CODPESSOA,
VTURMAS.CODCURSO, VTURMA.DTDESISTENCIA
HAVING COUNT(CODPESSOA)>=2
CONSULTA
SQL
ATIVIDAD
ES
CONSULTA
SQL
SE/SENAO
AND
VTURMAS.CODCOLIGADA =
VTURMA.CODCOLIGADA
WHERE
VTURMA.CODTURMA=:CODTURMA
AND VTURMA.CODCOLIGADA=:CODCOLIGADA
Activity=RMSWorkflow,
Path=Fields["CODCOLIGADA"].AsShort
Activity=RMSWorkflow,
Path=Tables["VTURMA"].Item["CODTURMA"].AsString
Activity=RMSWorkflow, Path=Context.CodUsuario
CONDIO DECLARATIVA
this.rmsConsSQLActivity1.Fields["CODCURSO"].AsString
== "1000015" && this.Tables["VTURMA"]
["DTDESISTENCIA"].IsNull && this.Tables["VTURMA"]
["CODPESSOA"].AsInteger ==
this.rmsConsSQLActivity1.Fields["CODPESSOA"].AsInteg
er && (this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Added ||
this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Modified)
EXPRESSES
VALOR CALCULADO
Activity=rmsThrowActivity1, Path=Message
EXPRESSO
OBSERVAO
1
Activity=RMSWorkflow,
Path=Tables["VTURMA"].Item["CODPESSOA"].AsInteger
GERAR
IMPRIME MENSAGEM DA ATIVIDADE EXPRESSO
MENSAGEM DE ERRO
EXCEO
Dentro da Condio Declarativa, ou da Consulta SQL pode-se incluir demais
validaes que se fizerem necessrias.
FRMU
LA
VISUAL
DESCRI
O
GATILHO
22.
Esta Frmula Visual (Workflow) tem como objetivo enviar um email para um
endereo eletrnico fixo quando o processo de envio de email da Frmula Visual
no encontrar o destinatrio, dentro do processo de incluso de Requisio de
Transferncia do RM Vitae.
Cadastros >> Antes da Atualizaes do Registro (Fim) >>
RhuReqTransferenciaData
ENVIO DE
EMAIL
ATIVIDAD
ES
ASSUNTO
DESTINATRIO
REMETENTE
Company
TEXTO DO EMAIL
SEQUNCIA
OBSERVAO
1
OBSERVAO
2
OBSERVAO
3
Associar uma
FAULTTY
Atividade TRATAR
PE
EXCEO
Associar uma Atividade ENVIO
DE EMAIL
System.Exception
Informar os campos da atividade para que um email
vlido seja avisado sobre a exceo.
FRMU
LA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
23.
Esta Frmula Visual (Workflow) tem como objetivo validar se existe vaga para a
Funo e Seo, baseado no Quadro de Lotao (RM Vitae | Menu Cadastros |
Cargos/Funes | Funes | Anexos: Quadro de Lotao).
Cadastros >> Antes da Atualizaes do Registro (Fim) >>
RhuReqTransferenciaData
CONSULTA
SQL
Activity=RMSWorkflow,
DECLARE @CODIGOSECAO VARCHAR(50),@CODIGOCHAPA VARCHAR(100)
SET @CODIGOSECAO =:CODSECAO
SET @CODIGOCHAPA =:CHAPA
SELECT
FROM
SELECT
SUM(NUMVAGAS) AS POTENCIAL
FROM
VREQAUMENTOQUADRO (NOLOCK)
WHERE
VREQAUMENTOQUADRO.CODSTATUS IN ('1','3','5','7')
Path=Tables["VREQTRANSFERENCIA"].Item["CHAPA"].As
String
Activity=RMSWorkflow,
Path=Tables["VREQTRANSFERENCIA"].Item["CODSECAO"
].AsString
)
UNION ALL
SELECT
COUNT(*) AS POTENCIAL
FROM
VREQSUBSTITUICAO (NOLOCK)
WHERE
VREQSUBSTITUICAO.CODSTATUS IN ('1','3','5','7')
)
UNION ALL
SELECT
FROM
WHERE
COUNT(*) AS POTENCIAL
PFUNC (NOLOCK)
CODSITUACAO
<> 'D'
AND CODTIPO
<> 'A'
AND
PFUNC.CODSECAO =@CODIGOSECAO
PFUNC.CODFUNCAO IN (
AND
SELECT
CODFUNCAO
FROM
PFUNC
WHERE
PFUNC.CHAPA
(NOLOCK)
=@CODIGOCHAPA
)
UNION ALL
SELECT (
(SELECT
FROM
WHERE
VLOTACAO.LIMITEVAGAS AS LIMITEVAGAS
VLOTACAO (NOLOCK)
SELECT
CODFUNCAO
VLOTACAO.CODSECAO =@CODIGOSECAO
VLOTACAO.CODFUNCAO IN (
AND
FROM
PFUNC (NOLOCK)
WHERE
PFUNC.CHAPA =@CODIGOCHAPA
)
) (SELECT
FROM
WHERE
COUNT(*) AS ALOCADOS
PFUNC (NOLOCK)
CODSITUACAO
<> 'D'
AND CODTIPO
<> 'A'
AND
PFUNC.CODSECAO =@CODIGOSECAO
PFUNC.CODFUNCAO IN (
SE/SENAO
CONSULTA
SQL
SELECT
AND
CODFUNCAO
CONDIO DECLARATIVA
SELECT
FROM
PPESSOA.NOME,PPESSOA.EMAIL
PFUNC (NOLOCK)
INNER JOIN PPESSOA
(NOLOCK) ON PFUNC.CODPESSOA = PPESSOA.CODIGO
WHERE
PFUNC.CHAPA =:CHAPA
this.rmsConsSQLActivity1.Fields["POTENCIAL"].AsIntege
r < 1 && (this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Added ||
this.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Modified)
Activity=RMSWorkflow,
Path=Tables["VREQTRANSFERENCIA"].Item["CHAPA"].As
String
TOP 1
FROM
PFUNC (NOLOCK)
PPESSOA.EMAIL,PFUNC.CHAPA
CONSULTA
SQL
TOP 1
FROM
PFUNC (NOLOCK)
Activity=RMSWorkflow,
Path=Tables["VREQTRANSFERENCIA"].Item["CODSECAO"
].AsString
PPESSOA.EMAIL,PFUNC.CHAPA
EXPRESSES
'Prezado responsvel,'+
NewLine+
NewLine+
'Foi realizada uma tentativa de transferncia do colaborador '+
rmsConsSQLActivity2.NOME + ' para a sua rea, porm devido a falta de vaga essa requisio no foi concluda.'+
NewLine+
'Pedimos a gentileza de incluir uma requisio de Aumento de Quadro para que seja possvel realizar tal demanda.' +
NewLine+
NewLine+
'E-mail automtico do sistema TOTVS Gesto de Pessoas.'+
NewLine+
'Favor no responder este e-mail.'+
NewLine
VALOR CALCULADO
Activity=rmsSendEmailActivity1, Path=Body
MENSAGEM DE ERRO
ASSUNTO
EXPRESSO
GERAR
EXCEO
ENVIO DE
EMAIL
DESTINATRIO
REMETENTE
TEXTO DO EMAIL
OBSERVAO
1
FRMULA
VISUAL
24.
DESCRIO
GATILHO
Activity=RMSWorkflow, Path=Tables["SResponsavelContrato"].Rows
Activity=rmsForEachActivity1,
Path=Fields["CODCFO"].AsString
=:USUARIO AND
Activity=RMSWorkflow, Path=Context.CodColigada
GUSRPERFIL.CODCOLIGADA
=:CODCOL AND
Atividad
e:
CONSULT
A SQL
ATIVIDAD
ES
PARA
CADA
ITERA
O
Activity=rmsForEachActivity1,
Path=Fields["CODCOLIGADA"].AsString
GUSRPERFIL.CODSISTEMA =
'S' AND
GUSRPERFIL.CODPERFIL =
@PERFIL
) > 0
BEGIN
END
ELSE
SELECT 0 AS CONTADOR
(SELECT
FROM
WHERE
COUNT(*) AS CONTADOR
FLAN (NOLOCK)
FLAN.CODCFO =:CODCFO AND
FLAN.CODCOLCFO
=:CODCOLIGADA AND
Atividade:
SEQUNCI
A
Activity=RMSWorkflow, Path=Context.CodUsuario
CONVERT(VARCHAR(10),FLAN.DATAVENCIMENTO,105) <
CONVERT(VARCHAR(10),GETDATE(),105) AND
FLAN.STATUSLAN = '0')
Activity=rmsForEachActivity1,
Path=Fields["CODCFO"].AsString
SELECT
Atividad
e:
CONSULT
A SQL
CODCFO,NOMEFANTASIA
FROM
FCFO (NOLOCK)
WHERE
CODCFO
=:CODCFO AND
=:CODCOLIGADA
Atividad
e:
SE/SENA
O
Activity=rmsForEachActivity1,
Path=Fields["CODCOLIGADA"].AsString
CODCOLIGADA
CONDIO
DECLARATIV
A
Atividade:
EXPRESSO
(this.rmsForEachActivity1.Fields.IsDeleted ||
this.rmsForEachActivity1.Fields["CODCFO"].IsModifie
d) &&
this.rmsConsSQLActivity1.Fields["CONTADOR"].AsInt
eger != 0
EXPRESSE
S
VALOR
CALCULAD
O
NewLine +
'Responsvel Financeiro com Pendncia Financeira.' +
NewLine +
'Excluso/Incluso de Responsvel Financeiro no permitida. Favor acionar o Setor Financeiro, para que a Pendncia
Financeira seja analisada, e o registro atual possa ser gravado.' +
NewLine +
NewLine +
'Ateno ao Responsvel Financeiro com restrio: ' + rmsConsSQLActivity2.CODCFO + ' - ' +
rmsConsSQLActivity2.NOMEFANTASIA +
NewLine +
NewLine
Activity=rmsThrowActivity1,
Path=Message
Atividade:
GERAR
EXCEO
OBSERVAO
1
MENSAGEM
DE ERRO
'teste' +
Activity=rmsForEachActivity1,
Path=Fields["CODCFO"].AsString
FRMULA
VISUAL
DESCRIO
GATILHO
Atividad
e:
CONSULT
A SQL
Activity=RMSWorkflow,
Path=Tables["FCFOCOMPL"].Item["CODCNPJ"].AsStri
ng
SELECT
TOP 1 REPLACE( REPLACE( REPLACE(CGCCFO,
'.', ''), '/', ''), '-', '' ) AS CODCNPJ,
NOMEFANTASIA
FROM
FCFO (NOLOCK)
WHERE
REPLACE( REPLACE( REPLACE(CGCCFO, '.',
''), '/', ''), '-', '' ) = @CNPJ
CONDIO
DECLARATIV
A
this.rmsConsSQLActivity1.Fields["NOMEFANTASIA"].I
sNull && this.Tables["FCFOCOMPL"]
["CODCNPJ"].AsString != ""
Atividade:
EXPRESSO
EXPRESSE
S
VALOR
CALCULAD
O
CONDIO
DECLARATIV
A
!
this.rmsConsSQLActivity1.Fields["NOMEFANTASIA"].I
sNull && !this.Tables["FCFOCOMPL"]
["CODCNPJ"].IsNull
Atividade:
EXPRESSO
EXPRESSE
S
VALOR
CALCULAD
O
CONDIO
DECLARATIV
A
Nenhum
Iterao 1
ATIVIDAD
ES
Atividad
e:
SE/SEN
O
Iterao 2
Iterao 3
Atividade:
EXPRESSO
OBSERVAO
1
rmsConsSQLActivity1.NOMEFANTA
SIA
Activity=RMSWorkflow,
Path=Tables["FCFOCOMPL"].Item["
NOMECFO"].AsString
EXPRESSE
S
''
VALOR
CALCULAD
O
Activity=RMSWorkflow,
Path=Tables["FCFOCOMPL"].Item["
NOMECFO"].AsString
FRMULA
VISUAL
DESCRIO
GATILHO
ATIVIDAD
ES
Atividad
e:
CONSULT
A SQL
DECLARE
SET
@DATAOCORRENCIA DATETIME;
@DATAOCORRENCIA =:DTOCORRENCIA;
SELECT
FROM
WHERE
COUNT(*) AS TOTAL
SOCORRENCIAALUNO (NOLOCK)
SOCORRENCIAALUNO.RA
Activity=RMSWorkflow,
Path=Fields["CODCOLIGADA"].AsShort
Activity=RMSWorkflow,
Path=Fields["CODOCORRENCIAGRUPO"].AsShort
Activity=RMSWorkflow,
Path=Fields["CODOCORRENCIATIPO"].AsInteger
=:RA
AND SOCORRENCIAALUNO.CODCOLIGADA
=:CODCOLIGADA
AND SOCORRENCIAALUNO.CODOCORRENCIAGRUPO
=:CODOCORRENCIAGRUPO
AND SOCORRENCIAALUNO.CODOCORRENCIATIPO
=:CODOCORRENCIATIPO
AND CONVERT( DATETIME, CONVERT ( VARCHAR(10),
SOCORRENCIAALUNO.DATAOCORRENCIA, 102 ))
BETWEEN
CONVERT( DATETIME,
CONVERT ( VARCHAR(10), @DATAOCORRENCIA-90, 102 ))
AND
CONVERT( DATETIME, CONVERT ( VARCHAR(10), @DATAOCORRENCIA+90, 102 ))
Atividad
e:
SE/SEN
O
FRMULA
VISUAL
this.rmsConsSQLActivity1.Fields["TOTAL"].AsInteger
>0
CONDIO DECLARATIVA
Atividade
:
GERAR
EXCEO
27.
Mensagem de
Erro
Activity=RMSWorkflow, Path=Fields["RA"].AsString
DESCRIO
Workflow que tem por objetivo disponibilizar na viso do cadastro de Alunos uma
Coluna com Campo Complementar criado pelo usurio.
GATILHO
ATIVIDAD
ES
Atividad
e:
PARA
CADA
ITERA
O
Atividade:
CONSULTA
SQL
Atividade:
SEQUENCI
A
SALUNOCOMPL.PIS
SALUNO (NOLOCK),
SALUNOCOMPL
(NOLOCK)
WHERE
SALUNO.CODCOLIGADA =
SALUNOCOMPL.CODCOLIGADA AND
SALUNO.RA = SALUNOCOMPL.RA
AND SALUNO.RA
=:RACADEMICO
AND
SALUNO.CODCOLIGADA =1
Expresses
Atividade:
EXPRESSO
Lista de
Itens
Valor Calculado
Activity=rmsForEachAc
tivity1,
Path=Fields["RA"].AsS
tring
rmsConsSQLActivity1.
PIS
Activity=rmsForEachAc
tivity1,
Path=Fields["PIS"].AsS
tring
Activity=RMSWorkflow, Path=Tables[0].Rows
FRMULA
VISUAL
28.
DESCRIO
Workflow que tem por objetivo enviar email para aluno que possuir ocorrncias
semelhantes em um perodo menor que 90 dias.
GATILHO
DECLARE
SET
@DATAREFERENCIA DATETIME;
@DATAREFERENCIA = GETDATE();
SELECT
FROM
WHERE
COUNT(*) AS TOTAL
SOCORRENCIAALUNO (NOLOCK)
SOCORRENCIAALUNO.RA
=:CODCOLIGADA
=:CODOCORRENCIAGRUPO
=:RA
AND SOCORRENCIAALUNO.CODCOLIGADA
AND SOCORRENCIAALUNO.CODOCORRENCIAGRUPO
CONDIO DECLARATIVA
Atividade:
CONSULTA
SQL
ATIVIDAD
ES
Activity=RMSWorkflow,
Path=Fields["CODCOLIGADA"].AsShort
Activity=RMSWorkflow,
Path=Fields["CODOCORRENCIAGRUPO"].AsShort
Activity=RMSWorkflow, Path=Fields["RA"].AsString
this.rmsConsSQLActivity1.Fields["TOTAL"].AsInteger
> 1 && this.DataSet.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Added
SELECT
PPESSOA.EMAIL,PPESSOA.NOME
FROM
SALUNO
(NOLOCK),
PPESSOA
Activity=RMSWorkflow, Path=Fields["RA"].AsString
(NOLOCK)
WHERE
SALUNO.CODPESSOA =
PPESSOA.CODIGO
AND
SALUNO.RA =:REGISTROACADEMICO
Atividad
e:
SE/SEN
O
Atividade:
ENVIO DE
EMAIL
Assunto
Destinatri
os
Activity=rmsConsSQLActivity2, Path=Fields["EMAIL"].AsStringArray
'Prezado Aluno "' + rmsConsSQLActivity2.NOME + '",' +
NewLine+
NewLine+
Atividade:
EXPRESS
O
Expresses
Valor
Calculado
OBSERVAO
1
'Foi registrada uma nova ocorrncia em seu Registro Acadmico, totalizando 3 (trs)
ocorrncias em um perodo de 3 (trs) meses.'+
NewLine+
NewLine+
'Solicitamos que entre em contato com a Secretaria para maiores esclarecimentos.'+
NewLine+
NewLine+
NewLine+
'Setor de Registro Acadmico do Colgio TOTVS'+
'Favor no responder este email.'
NewLine+
NewLine
Activity=rmsSendEmailActivity1, Path=Body
FRMULA
VISUAL
DESCRIO
GATILHO
Activity=RMSWorkflow,
Path=Tables["TITMMOV"].Rows
SELECT
ATIVIDAD
ES
PARA
CADA
ITERA
O
CONSULTA
SQL
EXPRESS
O
TPRDCFO.CODNOFORN,
TPRDCFO.CODCFO,
TPRD.CODIGOPRD,
TPRDCFO.CAMPOLIVRE
FROM
TPRDCFO (NOLOCK)
INNER JOIN TPRD (NOLOCK)
ON TPRDCFO.CODCOLIGADA = TPRD.CODCOLIGADA
AND TPRDCFO.IDPRD =
TPRD.IDPRD
WHERE
TPRDCFO.IDPRD =:ID_ITEM
AND TPRD.CODCOLIGADA
=:COLIGADA
AND TPRDCFO.CODCFO
=:CLIFOR
EXPRESSES
VALOR CALCULADO
Activity=RMSWorkflow,
Path=Tables["TMOV"].Item["CODCFO"].AsString
Activity=rmsForEachActivity1,
Path=Fields["CODCOLIGADA"].AsShort
Activity=rmsForEachActivity1,
Path=Fields["IDPRD"].AsInteger
Activity=rmsForEachActivity1,
Path=Fields["HISTORICOCURTO"].AsString
IMAGEM
OBSERVA
O1
FRMULA
VISUAL
DESCRIO
Frmula Visual que tem por objetivo impedir que sejam cadastrados funcionrios
com nomes acentuados, ou com .
GATILHO
ATIVIDAD
ES
Atividad
e:
SE/SEN
O
CONDIO DECLARATIVA
GERAR
EXCEO
Mensagem
de Erro
new System.Text.RegularExpressions.Regex("[---]").IsMatch(this.Tables["PFUNC"]
["NOME"].AsString)
No permitido utilizar acento no campo NOME do Funcionrio.
OBSERVAO
1
FRMULA
VISUAL
DESCRIO
Frmula Visual que tem por objetivo validar a informao original do campo
Descrio do cadastro de Seo.
GATILHO
ATIVIDAD
ES
Atividad
e:
SE/SEN
O
CONDIO DECLARATIVA
GERAR
EXCEO
Mensagem
de Erro
this.Tables[PSECAO][DESCRICAO].
OriginalValue.ToString().ToLower().Contains("rm
sistemas")
Cadastro INATIVO. No permitido alteraes em Sees RM
SISTEMAS.
OBSERVAO
1
FRMULA
VISUAL
DESCRIO
Frmula Visual que tem por objetivo validar a informao do campo Descrio do
cadastro de Seo.
GATILHO
ATIVIDAD
ES
Atividad
e:
SE/SEN
O
CONDIO DECLARATIVA
GERAR
EXCEO
OBSERVAO
1
Mensagem
de Erro
this.Tables["PSECAO"]
["DESCRICAO"].AsString.ToLower().Contains("rm
sistemas")
No permitido utilizar Sees RM SISTEMAS.
FRMULA
VISUAL
DESCRIO
GATILHO
Processos de Frmula Visual >> FopFuncAction >> Tipo de Ligao: Viso com
registros selecionados
LISTA DE ITENS
ATIVIDAD
ES
PARA
CADA
ITERA
O
EXPRESSO
SEQUNCI
A
IMAGEM
OBSERVA
O1
ENVIO DE
EMAIL
Activity=RMSWorkflow, Path=Tables[0].Rows
EXPRESSES
rmsForEachActivity1.CHAPA
VALOR
CALCULADO
Activity=rmsSendEmailActivity1,
Path=Body
ASSUNTO
DESTINATRIO
S
david@totvs.com.br
REMETENTE
GlobalCompany
TEXTO DO
EMAIL
FRMULA
VISUAL
DESCRIO
GATILHO
CONSULT
A SQL
/*
Cliente:
Utilizao: Integrao com Frmula Visual para validao de incluso de Rateio de Centro de Custo por Atividade e Incluso de Insumos
Mdulo: TOTVS Obras e Projetos
Autor: Felipe David Evangelista
Data Criao: 06/06/2013
Data Alterao: 07/06/2013
*/
DECLARE @FILIALRM VARCHAR(10), @CENTROCUSTORM VARCHAR(50)
SET @FILIALRM = ( SELECT IDINTEGRACAO
FROM MPRJ (NOLOCK)
INNER JOIN GFILIAL (NOLOCK) ON MPRJ.CODCOLIGADA = GFILIAL.CODCOLIGADA AND MPRJ.CODFILIAL = GFILIAL.CODFILIAL
WHERE MPRJ.IDPRJ =:ID_PROJETO
AND MPRJ.CODCOLIGADA =:COLIGADA
)
SET @CENTROCUSTORM = ( SELECT CODREDUZIDO
FROM GCCUSTO (NOLOCK)
WHERE GCCUSTO.CODCCUSTO =:CODCUSTO
)
SELECT COUNT(*) CONTADOR
FROM VW_CTT020 (NOLOCK)
WHERE VW_CTT020.CTT_FILIAL = @FILIALRM
AND VW_CTT020.CTT_CUSTO = @CENTROCUSTORM
AND VW_CTT020.CTT_BLOQ = 2
/*
Legenda
CTT_BLOQ = 1 (bloqueado)
CTT_BLOQ = 2 (desbloqueado)
Ponto de Atencao
Eh necessario a criacao da VIEW 'VW_CTT020' no banco de dados CorporeRM,
visto o no funcionamento de consultas com relacionamento entre tabelas
utilizando o recurso 'Banco de dados externo', e Linked Server.
*/
Activity=RMSWorkflow, Path=Tables["MISMCOMPL"].Item["CC"].AsString
Activity=RMSWorkflow, Path=Tables["MIsm"].Item["CODCOLIGADA"].AsShort
Activity=RMSWorkflow, Path=Tables["MIsm"].Item["IDPRJ"].AsInteger
ATIVIDAD
ES
CONSULT
A SQL
/*
Cliente:
Utilizao: Integrao com Frmula Visual para validao de Incluso de Insumos
Mdulo: TOTVS Obras e Projetos
Autor: Felipe David Evangelista
Data Criao: 07/06/2013
Data Alterao: 07/06/2013
*/
Activity=RMSWorkflow, Path=Tables["MIsm"].Item["CODCOLIGADA"].AsShort
CONDIO
DECLARATIVA
Atividad
e:
SE/SEN
O
EXPRESS
O
Expresso
Valor
Calculado
OBSERVAO
1
(this.DataSet.Tables[0].Rows[0].RowState == System.Data.DataRowState.Added
|| this.DataSet.Tables[0].Rows[0].RowState ==
System.Data.DataRowState.Modified) &&
this.rmsConsSQLActivity1.Fields["CONTADOR"].AsInteger < 1 && !
this.Tables["MISMCOMPL"]["CC"].IsNull
'Centro de Custo informado nos Campos Complementares invlido.' +
NewLine +
NewLine +
' Possveis causas: ' +
NewLine +
' - Cdigo informado fora da mscara (' + rmsConsSQLActivity2.MASCARACC + ');' +
NewLine +
' - Centro de Custo no localizado na Base de Dados do Protheus, ou bloqueado;' +
NewLine +
NewLine
Activity=rmsThrowActivity1, Path=Message
GERAR
Mensagem
teste
de Erro
EXCEO
Deve existir o campo complementar MISMCOMPL.CC cadastrado na base de
dados.
FRMULA
VISUAL
DESCRIO
Frmula Visual que tem por objetivo validar o tamanho do campo Cdigo do
Projeto no TOTVS Obras e Projetos (RM Solum).
GATILHO
ATIVIDAD
ES
Atividad
e:
SE/SEN
O
CONDIO
DECLARATIVA
this.Tables["MPRJ"]["CODPRJ"].AsString.Length > 10
GERAR
EXCEO
OBSERVAO
1
Mensagem
de Erro
FRMULA
VISUAL
DESCRI
O
GATILHO
CONSULTA
SQL
FROM
HATENDIMENTOSRELACIONADOS.CODCOLIGADA,
HATENDIMENTOSRELACIONADOS.CODLOCAL,
HATENDIMENTOSRELACIONADOS.CODATENDIMENTO,
H2.CODSTATUS,
HATENDIMENTOSRELACIONADOS.CODCOLIGADAFILHO,
HATENDIMENTOSRELACIONADOS.CODLOCALFILHO,
HATENDIMENTOSRELACIONADOS.CODATENDIMENTOFILHO,
HATENDIMENTOBASE.CODSTATUS CODSTATUSFILHO
HATENDIMENTOBASE
INNER JOIN HATENDIMENTOSRELACIONADOS
ON
HATENDIMENTOSRELACIONADOS.CODCOLIGADAFILHO
= HATENDIMENTOBASE.CODCOLIGADA
AND HATENDIMENTOSRELACIONADOS.CODLOCALFILHO
= HATENDIMENTOBASE.CODLOCAL
AND HATENDIMENTOSRELACIONADOS.CODATENDIMENTOFILHO = HATENDIMENTOBASE.CODATENDIMENTO
INNER JOIN HATENDIMENTOBASE H2
ON HATENDIMENTOSRELACIONADOS.CODCOLIGADA
= H2.CODCOLIGADA
AND HATENDIMENTOSRELACIONADOS.CODLOCAL
= H2.CODLOCAL
AND HATENDIMENTOSRELACIONADOS.CODATENDIMENTO = H2.CODATENDIMENTO
WHERE
HATENDIMENTOBASE.CODSTATUS = 'C'
AND HATENDIMENTOBASE.CODTIPOATENDIMENTO = '8'
AND H2.CODSTATUS <> 'C'
LISTA DE
ITENS
ATIVIDAD
ES
PARA CADA
ITERAO
SEQUENCIA
Activity=rmsConsSQLActivity1, Path=Tables["Resultado"].Rows
AVANCAR
ETAPA
Cdigo do
Atendimento
Coligada do
Atendimento
Localidade do
Atendimento
Cdigo da Coligada
Usurio
Motivo de Repasse
Prxima Etapa
Activity=rmsForEachActivity1,
Path=Fields["CODATENDIMENTO"].
AsInteger
Activity=rmsForEachActivity1,
Path=Fields["CODCOLIGADA"].AsI
nteger
Activity=rmsForEachActivity1,
Path=Fields["CODLOCAL"].AsInteg
er
Activity=rmsForEachActivity1,
Path=Fields["CODCOLIGADA"].AsI
nteger
mestre
5
47
IMAGEM
FRMULA
VISUAL
DESCRIO
GATILHO
Activity=RMSWorkflow, Path=Tables["MCmp"].Rows
SELECT
Activity=rmsForEachActivity1,
Path=Fields["CODCOLIGADA"].AsShort
MRECCMP.CODCOLIGADA,
MRECCMP.IDPRJ,
Activity=rmsForEachActivity1,
Path=Fields["IDCMP"].AsInteger
MRECCMP.IDREC,
Atividad
e:
CONSULT
A SQL
MRECCMP.IDPRJREC,
MRECCMP.IDISM,
MRECCMP.IDCMP
FROM
MRECCMP (NOLOCK),
MISM
(NOLOCK),
MCMP
(NOLOCK)
WHERE
MISM.CODCOLIGADA
MRECCMP.CODCOLIGADA =
AND
MRECCMP.IDPRJ = MISM.IDPRJ
Activity=rmsForEachActivity1,
Path=Fields["IDPRJ"].AsInteger
AND
MRECCMP.IDISM = MISM.IDISM
AND
MRECCMP.CODCOLIGADA = MCMP.CODCOLIGADA
ATIVIDAD
ES
Atividad
e:
PARA
CADA
ITERA
O
AND
MRECCMP.IDPRJ = MCMP.IDPRJ
AND
MRECCMP.IDCMP = MCMP.IDCMP
AND
MRECCMP.CODCOLIGADA =:COLIGADA
AND
MRECCMP.IDPRJ =:ID_PROJETO
AND
MRECCMP.IDCMP =:ID_COMPOSICAO
AND
SUBSTRING (MISM.CODISM,1,2) IN ('IP','IH','DE')
AND
SUBSTRING (MCMP.CODCMP,1,2) IN ('IE')
Atividade:
SEQUENCI
A
Atividad
e:
PARA
CADA
ITERA
O
IMAGEM
Atividade:
SEQUENCIA
Atividad
e:
SE/SEN
O
CONDIO
DECLARATI
VA
!
this.rmsForEachActivity2.
Fields["IDISM"].IsNull
Atividade:
LER
REGISTRO
Activity=rmsForEachActivity2,
Path=Fields["CODCOLIGADA"].AsSh
ort
Activity=rmsForEachActivity2,
Path=Fields["IDCMP"].AsInteger
Activity=rmsForEachActivity2,
Path=Fields["IDREC"].AsInteger
Activity=rmsForEachActivity2,
Path=Fields["IDPRJREC"].AsInteger
Activity=rmsForEachActivity2,
Path=Fields["IDISM"].AsInteger
1
Atividade:
EXPRESSAO
Express
o
Valor
Calculad
o
Atividade:
SALVAR
REGISTRO
rmsReadRecordActivit
y1
1
Activity=rmsReadRecordA
ctivity1,
Path=Fields["IMPRODUTIV
O"].AsInteger
OBSERVA
O1
FRMULA
VISUAL
DESCRI
O
GATILHO
ATIVIDAD
ES
Atividad
e:
CONSULT
A SQL
CODCOLIGAD
A
Activity=RMSWorkflow, Path=Fields.Item["CODCOLIGADA"].AsInteger
IDLAN
Activity=RMSWorkflow, Path=Fields["IDLAN"].AsInteger
USE [CORPORERM_TESTE]
GO
/****** Object: StoredProcedure [dbo].[UPDATE_STATUSFLAN]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[UPDATE_STATUSFLAN]
@CODCOLIGADA VARCHAR(2),
@IDLAN VARCHAR(10)
AS
BEGIN
Procedure
TRANSACTION
UPDATE
SET
FROM
WHERE
FLAN
FLAN.STATUSLAN = 2
FLAN(NOLOCK)
FLAN.CODCOLIGADA = @CODCOLIGADA AND
FLAN.IDLAN = @IDLAN AND
FLAN.STATUSLAN <> 1 AND
FLAN.CODAPLICACAO = 'X'
IF @@ERROR <> 0
ROLLBACK
ELSE
COMMIT
FRMULA
VISUAL
DESCRI
O
GATILHO
@CODATENDIMENTO =:FRM_ATEND001
@COLIGADAATEND
=:FRM_ATEND002
@CODLOCALATEND
=:FRM_ATEND003
@ETAPAATUAL
= (
SELECT
FROM
WHERE
CODTAREFA
HATENDIMENTOEXT (NOLOCK)
CODATENDIMENTO = @CODATENDIMENTO
AND CODCOLIGADA = @COLIGADAATEND
AND CODLOCAL = @CODLOCALATEND
)
SET @TIPOATENDIMENTO
= (
SELECT
FROM
WHERE
CODTIPOATENDIMENTO
HATENDIMENTOEXT (NOLOCK)
CODATENDIMENTO = @CODATENDIMENTO
AND CODCOLIGADA = @COLIGADAATEND
AND CODLOCAL = @CODLOCALATEND
Atividad
e:
CONSULT
A SQL
IF (
SELECT
COUNT(*)
HHISTORICOEXT (NOLOCK)
RIGHT JOIN HATENDIMENTOEXT (NOLOCK) ON
FROM
WHERE
ATIVIDAD
ES
HATENDIMENTOEXT.CODCOLIGADA =
HHISTORICOEXT.CODCOLIGADA
) > 1
BEGIN SET @RESULTADO = 1 /* ATENDIMENTO ENVIADO MAIS DE UMA VEZ PARA ATENDENTE ATUAL */
END
ELSE
BEGIN SET @RESULTADO = 0
END
SELECT @RESULTADO AS RESULTADO, @ETAPAATUAL AS ETAPAATUAL, @TIPOATENDIMENTO AS TIPOATENDIMENTO
FRM_ATEND00
1
FRM_ATEND00
2
FRM_ATEND00
3
Condio
Declarativa
Atividad
e:
SE/SEN
O
Atividade:
AVANAR
ETAPA
Activity=RMSWorkflow, Path=Fields["CODATENDIMENTO"].AsInteger
Activity=RMSWorkflow, Path=Fields["CODCOLIGADA"].AsInteger
Activity=RMSWorkflow, Path=Fields["CODLOCAL"].AsInteger
this.rmsConsSQLActivity1.Fields["TIPOATENDIMENTO"].AsString == "12" &&
this.rmsConsSQLActivity1.Fields["RESULTADO"].AsString == "1" &&
(this.rmsConsSQLActivity1.Fields["ETAPAATUAL"].AsString == "53" ||
this.rmsConsSQLActivity1.Fields["ETAPAATUAL"].AsString == "55")
Cdigo do
Atendimento
Coligada do
Atendimento
Localidade do
Atendimento
Activity=RMSWorkflow, Path=Fields["CODATENDIMENTO"].AsInteger
Activity=RMSWorkflow, Path=Fields["CODCOLIGADA"].AsInteger
Activity=RMSWorkflow, Path=Fields["CODLOCAL"].AsInteger
Cdigo da Coligada
Activity=RMSWorkflow, Path=Fields["CODCOLIGADA"].AsInteger
Usurio
totvs.felipe
Motivo do Repasse
Prxima Etapa
56
40.
Observao:
- Caso a linha j exista no arquivo, deve-se verificar se o valor true est informado
logo aps a palavra value.
- Este procedimento dever ser realizado em todas as estaes onde a validao
atravs da Frmula Visual ser realizada (estaes dos usurios).
- Este procedimento no ser necessrio em verses superiores 11.82.