Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Fórmula visual criação de colunas - gestão de estoque


ilanocf

Posts Recomendados


  • Tópicos Que Criei:  7
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   11
  • Pontos/Conquistas:  148
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  53
  • Dispositivo:  Windows

Olá pessoal,

Tenho duas Views para rastrear movimentos:

V_RASTREIA_MOVIMENTOS_TMOVRELAC_INICIO_FIM

SELECT        A.IDMOV, A.SERIE + ': ' + A.NUMEROMOV AS MOV1, C.SERIE + ': ' + C.NUMEROMOV AS MOV2, E.SERIE + ': ' + E.NUMEROMOV AS MOV3, G.SERIE + ': ' + G.NUMEROMOV AS MOV4, I.SERIE + ': ' + I.NUMEROMOV AS MOV5, 
                         CASE A.SERIE WHEN '----' THEN 'NF' ELSE A.SERIE END + ': ' + A.NUMEROMOV + CASE ISNULL(C.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE C.SERIE WHEN '----' THEN 'NF' ELSE C.SERIE END + ': ' + C.NUMEROMOV END + CASE ISNULL(E.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE E.SERIE WHEN '----' THEN 'NF' ELSE E.SERIE END + ': ' + E.NUMEROMOV END + CASE ISNULL(G.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE G.SERIE WHEN '----' THEN 'NF' ELSE G.SERIE END + ': ' + G.NUMEROMOV END + CASE ISNULL(I.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE I.SERIE WHEN '----' THEN 'NF' ELSE I.SERIE END + ': ' + I.NUMEROMOV END AS MOVIMENTOS, CASE ISNULL(A.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE '''' + A.NUMEROMOV + ''',' END + CASE ISNULL(C.IDMOV, 0) WHEN 0 THEN '' ELSE '''' + C.NUMEROMOV + ''',' END + CASE ISNULL(E.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE '''' + E.NUMEROMOV + ''',' END + CASE ISNULL(G.IDMOV, 0) WHEN 0 THEN '' ELSE '''' + G.NUMEROMOV + ''',' END + CASE ISNULL(I.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE '''' + I.NUMEROMOV + '''' END + '''' + '000000' + '''' AS LISTAMOVIMENTOS, CASE ISNULL(A.IDMOV, 0) WHEN 0 THEN '' ELSE A.NUMEROMOV + ',' END + CASE ISNULL(C.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE C.NUMEROMOV + ',' END + CASE ISNULL(E.IDMOV, 0) WHEN 0 THEN '' ELSE E.NUMEROMOV + ',' END + CASE ISNULL(G.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE G.NUMEROMOV + ',' END + CASE ISNULL(I.IDMOV, 0) WHEN 0 THEN '' ELSE I.NUMEROMOV + ',' END + '000000' AS LISTANUMMOVIMENTOS, CASE WHEN A.SERIE IS NULL 
                         THEN '' WHEN A.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + A.SERIE + ''',' END + CASE WHEN C.SERIE IS NULL THEN '' WHEN C.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + C.SERIE + ''',' END + CASE WHEN E.SERIE IS NULL
                          THEN '' WHEN E.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + E.SERIE + ''',' END + CASE WHEN G.SERIE IS NULL THEN '' WHEN G.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + G.SERIE + ''',' END + CASE WHEN I.SERIE IS NULL
                          THEN '' WHEN I.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + I.SERIE + ''',' END + '''' + '_' + '''' AS LISTATIPOMOVIMENTOS
FROM            dbo.TMOV AS A WITH (NOLOCK) LEFT OUTER JOIN
                         dbo.TMOVRELAC AS B WITH (NOLOCK) ON B.CODCOLORIGEM = A.CODCOLIGADA AND B.IDMOVORIGEM = A.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS C WITH (NOLOCK) ON C.CODCOLIGADA = B.CODCOLDESTINO AND C.IDMOV = B.IDMOVDESTINO LEFT OUTER JOIN
                         dbo.TMOVRELAC AS D WITH (NOLOCK) ON D.CODCOLORIGEM = C.CODCOLIGADA AND D.IDMOVORIGEM = C.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS E WITH (NOLOCK) ON E.CODCOLIGADA = D.CODCOLDESTINO AND E.IDMOV = D.IDMOVDESTINO LEFT OUTER JOIN
                         dbo.TMOVRELAC AS F WITH (NOLOCK) ON F.CODCOLORIGEM = E.CODCOLIGADA AND F.IDMOVORIGEM = E.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS G WITH (NOLOCK) ON G.CODCOLIGADA = F.CODCOLDESTINO AND G.IDMOV = F.IDMOVDESTINO LEFT OUTER JOIN
                         dbo.TMOVRELAC AS H WITH (NOLOCK) ON H.CODCOLORIGEM = G.CODCOLIGADA AND H.IDMOVORIGEM = G.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS I WITH (NOLOCK) ON I.CODCOLIGADA = H.CODCOLDESTINO AND I.IDMOV = H.IDMOVDESTINO

 

V_RASTREIA_MOVIMENTOS_TMOVRELAC_FIM_INICIO

SELECT        A.IDMOV, A.SERIE + ': ' + A.NUMEROMOV AS MOV1, C.SERIE + ': ' + C.NUMEROMOV AS MOV2, E.SERIE + ': ' + E.NUMEROMOV AS MOV3, G.SERIE + ': ' + G.NUMEROMOV AS MOV4, I.SERIE + ': ' + I.NUMEROMOV AS MOV5, 
                         CASE A.SERIE WHEN '----' THEN 'NF' ELSE A.SERIE END + ': ' + A.NUMEROMOV + CASE ISNULL(C.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE C.SERIE WHEN '----' THEN 'NF' ELSE C.SERIE END + ': ' + C.NUMEROMOV END + CASE ISNULL(E.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE E.SERIE WHEN '----' THEN 'NF' ELSE E.SERIE END + ': ' + E.NUMEROMOV END + CASE ISNULL(G.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE G.SERIE WHEN '----' THEN 'NF' ELSE G.SERIE END + ': ' + G.NUMEROMOV END + CASE ISNULL(I.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE ' | ' + CASE I.SERIE WHEN '----' THEN 'NF' ELSE I.SERIE END + ': ' + I.NUMEROMOV END AS MOVIMENTOS, CASE ISNULL(A.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE '''' + A.NUMEROMOV + ''',' END + CASE ISNULL(C.IDMOV, 0) WHEN 0 THEN '' ELSE '''' + C.NUMEROMOV + ''',' END + CASE ISNULL(E.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE '''' + E.NUMEROMOV + ''',' END + CASE ISNULL(G.IDMOV, 0) WHEN 0 THEN '' ELSE '''' + G.NUMEROMOV + ''',' END + CASE ISNULL(I.IDMOV, 0) 
                         WHEN 0 THEN '' ELSE '''' + I.NUMEROMOV + '''' END + '''' + '000000' + '''' AS LISTAMOVIMENTOS, CASE WHEN A.SERIE IS NULL 
                         THEN '' WHEN A.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + A.SERIE + ''',' END + CASE WHEN C.SERIE IS NULL THEN '' WHEN C.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + C.SERIE + ''',' END + CASE WHEN E.SERIE IS NULL
                          THEN '' WHEN E.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + E.SERIE + ''',' END + CASE WHEN G.SERIE IS NULL THEN '' WHEN G.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + G.SERIE + ''',' END + CASE WHEN I.SERIE IS NULL
                          THEN '' WHEN I.SERIE = '----' THEN '''' + 'NF' + ''',' ELSE '''' + I.SERIE + ''',' END + '''' + '_' + '''' AS LISTATIPOMOVIMENTOS
FROM            dbo.TMOV AS A WITH (NOLOCK) LEFT OUTER JOIN
                         dbo.TMOVRELAC AS B WITH (NOLOCK) ON B.CODCOLDESTINO = A.CODCOLIGADA AND B.IDMOVDESTINO = A.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS C WITH (NOLOCK) ON C.CODCOLIGADA = B.CODCOLORIGEM AND C.IDMOV = B.IDMOVORIGEM LEFT OUTER JOIN
                         dbo.TMOVRELAC AS D WITH (NOLOCK) ON D.CODCOLDESTINO = C.CODCOLIGADA AND D.IDMOVDESTINO = C.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS E WITH (NOLOCK) ON E.CODCOLIGADA = D.CODCOLORIGEM AND E.IDMOV = D.IDMOVORIGEM LEFT OUTER JOIN
                         dbo.TMOVRELAC AS F WITH (NOLOCK) ON F.CODCOLDESTINO = E.CODCOLIGADA AND F.IDMOVDESTINO = E.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS G WITH (NOLOCK) ON G.CODCOLIGADA = F.CODCOLORIGEM AND G.IDMOV = F.IDMOVORIGEM LEFT OUTER JOIN
                         dbo.TMOVRELAC AS H WITH (NOLOCK) ON H.CODCOLDESTINO = G.CODCOLIGADA AND H.IDMOVDESTINO = G.IDMOV LEFT OUTER JOIN
                         dbo.TMOV AS I WITH (NOLOCK) ON I.CODCOLIGADA = H.CODCOLORIGEM AND I.IDMOV = H.IDMOVORIGEM

Estou utilizando estas duas views em uma consulta dentro da fórmula visual (em anexo) para trazer o rateio dos movimentos na TMOV, além doutras informações como histórico, histórico longo, etc. Acontece que ao abrir os movimentos pelas abas de estoque, compras, ... executa sem problemas 👍 mas, quando abro um movimento dentro do cadastro de clientes/fornecedores não dá certo 👎, retorna o erro abaixo. A FV foi desenvolvida baseda no exemplo desse vídeo do Felipe Louzada.

Ocorreu um erro ao efetuar a leitura da visão: 

Fórmula Visual: 'CRIAR COLUNAS NA SOLICITAÇÃO DE COMPRAS'.
O índice estava fora dos limites da matriz.

 

Alguém faz ideia do que pode ser?  A FV está sendo executada Após a Leitura da Visão.

 

CRIA_COLUNAS_VISAO_MOVIMENTOS.rar

Editado por ilanocf
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  485
  • Conteúdo/Dia:  0.21
  • Reputação:   136
  • Pontos/Conquistas:  3.231
  • Conteúdo Resolvido:  0
  • Dias Ganho:  64
  • Status:  Offline
  • Idade:  35
  • Dispositivo:  Android

@ilanocf, boa noite!

Segue um exemplo referente a sua primeira query.

image.png

Abraços.

 

TESTE_1.TotvsWF

Link para comentar
Compartilhar em outros sites

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.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.