Mensagem de erro ao tentar anexar um arquivo em um formulário personalizado no site da Web no Windows SharePoint Services 3.0: ? este formulário foi personalizado não trabalhar com anexos"

Traduções deste artigo Traduções deste artigo
ID do artigo: 953271 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Você usa o Microsoft Office SharePoint Designer 2007 para adicionar uma Web Part de Personalizar lista formulário em um site do Microsoft Windows SharePoint Services 3.0. Em seguida, tentar anexar um arquivo clicando em Anexar arquivo no formulário personalizado no site da Web. Quando você fizer isso, você receber a seguinte mensagem de erro:
Este formulário foi personalizado não funcionando com anexo.

Resolução

Para resolver esse problema, execute essas etapas:
  1. Aplica o hotfix 953749.

    Para obter mais informações sobre como fazer isso, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    953749Problemas corrigidos no SharePoint Services 3.0 pelo Windows SharePoint Services 3.0 Infrastructure Update
  2. Edite o código XSL na página.aspx. Para fazer isso, siga estes passos, conforme apropriado para sua situação.

    Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

    para formulários de item de edição personalizada e formulários personalizados do novo item
    1. No bloco de código XSL, localize o código a seguir.
      <xsl:template name="dvt_1">
                                      <xsl:variable name="dvt_StyleName">ListForm</xsl:variable>
                                      <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
                                      <table border="0" width="100%">
                                                      <xsl:call-template name="dvt_1.body">
                                                                      <xsl:with-param name="Rows" select="$Rows"/>
                                                      </xsl:call-template>
                                      </table>
                      </xsl:template>
      
    2. Replace the lines of code that you located in step 2a with the following lines of code.
                      <xsl:template name="dvt_1">
      
                                      <xsl:variable name="dvt_StyleName">ListForm</xsl:variable>
      
                                      <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
      
                                      <div>
      
                                                      <span id="part1">
      
                                                                      <table border="0" width="100%">
      
                                                                                      <xsl:call-template name="dvt_1.body">
      
                                                                                                      <xsl:with-param name="Rows" select="$Rows"/>
      
                                                                                      </xsl:call-template>
      
                                                                      </table>
      
                                                      </span>
      
                                                      <SharePoint:AttachmentUpload runat="server" ControlMode="Edit"/>
      
                                                      <SharePoint:ItemHiddenVersion runat="server" ControlMode="Edit"/>
      
                                      </div>
      
                      </xsl:template>
      
      Observação XSLT O código deve ter o conjunto de ControlMode para 'Novo' para formulários personalizados do novo item e "Edit" para personalizar formulários de item de edição.
    3. Localize a linha de código a seguir.
      <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
    4. Cole o seguinte código acima da linha de código localizado na etapa 2 c.
      <tr id="idAttachmentsRow">
       <td nowrap="true" valign="top" class="ms-formlabel" width="20%">
         <SharePoint:FieldLabel ControlMode="Edit" FieldName="Attachments" runat="server"/>
        </td>
          <td valign="top" class="ms-formbody" width="80%">
           <SharePoint:FormField runat="server" id="AttachmentsField" ControlMode="Edit" FieldName="Attachments" __designer:bind="{ddwrt:DataBind('u','AttachmentsField','Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Attachments')}"/>
                             <script>
      var elm = document.getElementById("idAttachmentsTable");
              if (elm == null || elm.rows.length == 0)
                document.getElementById("idAttachmentsRow").style.display='none';
                            </script> </td>
           </tr>
      
      Observação Este exemplo de código é para um personalizado Editar formulário item. Se você usar um novo formulário personalizado do item, substituir ControlMode = ? Editar ? com ControlMode = ? novo ? no código.

      Além disso, no atributo __designer:bind , o primeiro parâmetro para a função ddwrtDataBind deve ser "' i'" (inserir) para um personalizado formulário novo item e "' u'" (atualização) para um personalizado Editar formulário item.

      Por exemplo, o código pode ser semelhante o código a seguir.
      <SharePoint:FormField runat="server" id="AttachmentsField{$Pos}" ControlMode="New" FieldName="Attachments" __designer:bind="{ddwrt:DataBind('i',concat('AttachmentsField',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Attachments')}"/>
      
    5. Salve o formulário.
    para exibir formulários
    1. Abra o formulário de lista personalizada.
    2. Mova o cursor para a célula de tabela no controle de formulário personalizado onde você deseja que o anexo a ser exibido. Em seguida, clique com o botão direito na célula, aponte para Inserir e, em seguida, clique em Row Below . Uma nova linha de tabela que tenha duas células da coluna é criada.
    3. Mova o cursor para a célula esquerda da tabela da nova linha e, em seguida, digite anexos .
    4. Mova o cursor para a célula de tabela do lado direito da nova linha, alterne para modo de exibição código e, em seguida, insira o código a seguir.
      <SharePoint:AttachmentsField ControlMode="Display" FieldName="Attachments" runat="server" Visible="true"/>
    5. Salve o formulário.
anotações
  • Se você fizer mais alterações para a página, SharePoint Designer 2007 poderá adicionar automaticamente uma identificação exclusiva para o código anexo que você adicionou. Por exemplo, ? <tr id="idAttachmentsRow"> ? é alterado para ? <tr id="idAttachmentsRow{generate-id}">. ?

    Esse processo pode causar erros de JavaScript na página. Se esse problema ocorrer, exclua as marcas ? {gerar-id} ? que são adicionadas automaticamente.
  • Você receberá a seguinte mensagem de erro:
    Ocorreu um erro inesperado
    Para resolver esse problema, mova o formulário de lista personalizada para fora da zona de Web Parts.
  • Você recebe a seguinte mensagem de erro uma JavaScript:
    Não é possível mover o foco para o controle porque este é invisível, não ativado, ou de um tipo que não aceita o foco.
    Se você receber essa mensagem de erro, verifique se a Web Part ListForm está na página por padrão é ainda existe. Em seguida, defina o layout como oculto e fechar a Web Part. Para fazer isso, execute as seguintes etapas:
    1. Clique com o botão direito do mouse o formulário lista de Web Part no SharePoint Designer.
    2. Clique em Propriedades da Web Part e, em seguida, clique em layout .
    3. Na caixa de diálogo layout , clique para selecionar oculto e, em seguida, feche a Web Part.

Propriedades

ID do artigo: 953271 - Última revisão: sexta-feira, 12 de setembro de 2008 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft Windows SharePoint Services 3.0
  • Microsoft Office SharePoint Server 2007
Palavras-chave: 
kbmt kbexpertiseadvanced kberrmsg kbtshoot kbprb KB953271 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 953271

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com