none
Visualização Gantt com problemas RRS feed

  • Pergunta

  • O seguinte moçada.
    Tenho duas listas idênticas, com o campo Título, Data Inicio e Data Fim.
    A lista 1 cria o registro idêntico na lista 2 via workflow, com isso a visualização em Gantt sempre me retorna.
    Value does not fall within the expected range.

    Se eu crio o registro diretamente na Lista 2 na mão, ele não dá esse erro, mas a partir do momento que o workflow inclui mais um item, ferra tudo e dá o mesmo erro.
    Lembrando que o erro acontece mesmo que TODOS os campos forem obrigatórios, e eu preencha TODOS via workflow. Parece que internamente tá faltando algo que dá zica...
    Abraços e no aguardo...

    ===================================
    Marcelo Fernandes Pimenta
    Sharepoint´s Severino
    Belo Horizonte - MG
    segunda-feira, 11 de julho de 2011 18:58

Todas as Respostas

  • Marcelo, eu descobri o motivo, mas não descobri como arrumar.

    Quando se faz a cópia pelo workflow, ele seta alguns valores diferentes em colunas internas.

    Vasculhei o banco aqui e achei onde está essa divergências. Vamos lá:

    Existe um internal field que chama ows_Metainfo.

     

    Quando se cria o item na mão, essa coluna vem com um valor que pra mim é igual o ID, por exemplo 3;#

    Quando se cria pelo workflow, ele coloca mais coisa: 4;#WorkflowCreationPath:SW|4e801014-35db-4b9c-b876-3198ac8cccb2;

    e é ai que acontece o problema de conversão. O método Microsoft.SharePoint.SPFieldMultiColumnValue.ParseMultiColumnValue(String fieldValue, DelimiterType delimiterType) gera um erro não tratado e mata a execução

    Indo mais a fundo, temos duas tabelas com informação no banco, a AllUserData e a AllDocs.

    Essa informação fica grava da AllDocs, na coluna MetaInfo. 0xA8A930310C0000003F000000789C0BCF2FCA4....... são 83 bytes.

    eu zerei na mão essa coluna e a referente ao tamanho, MetaInfoSize e fiz o Update.

    Imediatamente a Gantt view começou a funcionar.

    Acredito que isso seja um bug, ou pelo menos um caso para chamado pro time de projeto olhar.

     

    Fica ai os 2 cents.. nao acredito que essa sua solução irá funcionar.. ou resolva se você escrever um event handler para fazer isso no evento ItemCreated.

     

    um abraço!


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw
    terça-feira, 19 de julho de 2011 23:06
  • a proposito, abri um bug no connect.microsoft.com

    quem puder, votar para que ele seja corrigido.

    https://connect.microsoft.com/site428/feedback/details/680007/workflow-item-copy-and-gantt-view-value-does-not-fall-within-the-expected-range

     

    Abraço!


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw
    terça-feira, 19 de julho de 2011 23:39
  • Grande Ivan, 

    Uma luz no final do túnel, visitei o connect e marquei como importante, e tomei a liberdade de divulgar no Twitter.

    De qualquer forma vou tentar fazer uma "Adequação técnica" para tentar resolver...  Qualquer novidade posto aqui...

     

    Valeu!!!


    ===================================
    Marcelo Fernandes Pimenta
    Sharepoint´s Severino
    Belo Horizonte - MG
    quarta-feira, 20 de julho de 2011 00:07
  • Então... como o cliente não aceita a desculpa que a ferramente tem bug... tudo se resolve paliativamente hehehehehehe

     

    Chuchamos uma Trigger na tabela AllDocs, que na minha lista que eu preciso do Gantt ele dá um update nos dois campos Metainfo e Metainfosize para NULL e Zero respectivamente.

     

    USE [WSS_Content]
    GO
    /****** Object: Trigger [dbo].[trigger_OnInsertDocs]  Script Date: 07/20/2011 13:51:12 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER TRIGGER [dbo].[trigger_OnInsertDocs] ON [dbo].[AllDocs] AFTER INSERT
    AS
    
    	Declare @Id uniqueidentifier
    	
      select @Id = Id from inserted
      
      update AllDocs
        set MetaInfo = null,
        MetaInfoSize = 0
      where Id = @Id and ListId = '9F812E8A-D45A-4BA0-B140-2C5B64B5BB72'
    

    Agora é aguardar a Microsoft corrigir o bug, e lembrar de tirar essa trigger algum dia :-D


    ===================================
    Marcelo Fernandes Pimenta
    Sharepoint´s Severino
    Belo Horizonte - MG
    quarta-feira, 20 de julho de 2011 17:17
  • lembrando que alterações como essa não são suportadas pela Microsoft.

     

    O ideal seria que você fizesse um Event Handler atachado na lista para fazer a copia.

     

    mas no mais... sejamos felizes =) sou adepto das soluções.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw
    quarta-feira, 20 de julho de 2011 22:07