quarta-feira, 17 de agosto de 2011

Visualização Gantt com problemas

Olá moçada, começo meu primeiro posto com um problema existente no Sharepoint 2010 onde acontece o seguinte...

Tenho duas listas idênticas, com o campo Título, Data Inicio e Data Fim, onde a lista 1 cria o registro idêntico na lista 2 via workflow, com isso a visualização em Gantt sempre me retorna o erro

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 falta algo que dá zica... .

Enfim, depois de postar a argumentação no forum MSDN o Ivan Costa achou onde está o problema...

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.

Nenhum comentário: