Aparece el mensaje de error "el contenido del campo valor Hash no se copiarán en el campo de código de flujo de efectivo porque el tamaño del campo de código de flujo de efectivo es demasiado pequeño" cuando ejecuta la función Copiar documento en la versión portuguesa de Microsoft Dynamics NAV


En este artículo se aplica a Microsoft Dynamics NAV para la configuración regional del idioma portugués (pt).

Síntomas


Suponga que instala la actualización de la certificación Legal de ERP en la versión portuguesa de Microsoft Dynamics NAV. Cuando ejecuta la función Copiar líneas en un abono de venta, recibirá el siguiente mensaje de error:
No se puede copiar el contenido del campo valor Hash en el campo de código de flujo de efectivo, porque el tamaño del campo de código de flujo de efectivo es demasiado pequeño.
Este problema se produce en los siguientes productos:
  • La versión portuguesa de Microsoft Dynamics NAV 2009 R2
  • La versión del Service Pack 1 (SP1) de Microsoft Dynamics NAV 2009
  • La versión portuguesa de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

Solución


Información de la revisión

Ahora hay una revisión compatible de Microsoft. Sin embargo, sólo se diseñó para corregir el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Esta revisión puede ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere al próximo service pack de Microsoft Dynamics NAV o de la próxima versión de Microsoft Dynamics NAV que contenga esta revisión.

Nota: En casos especiales, los costos derivados normalmente de las llamadas pueden cancelarse si un profesional de soporte técnico de Microsoft Dynamics y productos relacionados de soporte determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.


Información sobre la instalación

Microsoft proporciona ejemplos de programación únicamente con fines ilustrativos, sin ninguna garantía expresa o implícita. Esto incluye, pero no se limita, a las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. Este artículo asume que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Nota: Antes de instalar este hotfix, compruebe que todos los usuarios del cliente Microsoft Navision han salido del sistema. Esto incluye a los usuarios del cliente Microsoft Navision Application Services (NAS). Debe ser el único usuario del cliente conectado cuando implemente este hotfix.

Para implementar esta revisión, debe tener una licencia de desarrollador.

Recomendamos que la cuenta de usuario en la ventana Conexiones Windows o en la ventana Conexiones base de datos se asigne el identificador de rol "SUPER". Si la cuenta de usuario no se puede asignar el identificador de rol "SUPER", debe comprobar que la cuenta de usuario tiene los permisos siguientes:
  • El permiso de modificación para el objeto que se va a cambiar.
  • El permiso de ejecución para el objeto System Object ID 5210 y System Object ID 9015 del objeto.


Nota: No es necesario tener derechos para los almacenes de datos a menos que deba realizar reparaciones de datos.

Cambios de código

Nota: Siempre pruebe correcciones de código en un entorno controlado antes de aplicar las revisiones a los equipos de producción.
Para resolver este problema, siga estos pasos:
  1. Cambie el código en la función de Formulario de solicitud del informe de documento de ventas de copia (292) como sigue:
    Código existente
    ...FromSalesHeader.TRANSFERFIELDS(FromReturnRcptHeader);
    DocType::"Posted Credit Memo":
    IF FromSalesCrMemoHeader.GET(DocNo) THEN

    // Delete the following line.
    FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader);

    END;
    IF FromSalesHeader."No." = '' THEN
    DocNo := '';
    ...
    Código de sustitución
    ...FromSalesHeader.TRANSFERFIELDS(FromReturnRcptHeader);
    DocType::"Posted Credit Memo":
    IF FromSalesCrMemoHeader.GET(DocNo) THEN

    // Add the following line.
    CopyDocMgt.CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001

    END;
    IF FromSalesHeader."No." = '' THEN
    DocNo := '';
    ...
  2. Cambie el código en la función ValidateDocNo en el informe de documentos de ventas de copia (292) como sigue:
    Código existente
    ...DocType::"Posted Credit Memo":
    BEGIN
    FromSalesCrMemoHeader.GET(DocNo);

    // Delete the following line.
    FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader);

    END;
    END;
    END;
    ...
    Código de sustitución
    ...DocType::"Posted Credit Memo":
    BEGIN
    FromSalesCrMemoHeader.GET(DocNo);

    // Add the following line.
    CopyDocMgt.CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001

    END;
    END;
    END;
    ...
  3. Cambie el código en la función CopySalesDoc de la codeunit Copy Document Mgt. (6620) como sigue:
    Código existente 1
    ...SalesDocType::"Posted Credit Memo":
    BEGIN
    ToSalesHeader.VALIDATE("Sell-to Customer No.",FromSalesCrMemoHeader."Sell-to Customer No.");

    // Delete the following line.
    TRANSFERFIELDS(FromSalesCrMemoHeader,FALSE);

    CopyFromPstdSalesDocDimToHdr(
    ToSalesHeader,FromDocType,FromSalesShptHeader,FromSalesInvHeader,
    FromReturnRcptHeader,FromSalesCrMemoHeader);
    ...
    Código nuevo 1
    ...SalesDocType::"Posted Credit Memo":
    BEGIN
    ToSalesHeader.VALIDATE("Sell-to Customer No.",FromSalesCrMemoHeader."Sell-to Customer No.");

    // Add the following line.
    CopySalesCrMemoHeader(ToSalesHeader,FromSalesCrMemoHeader); // PT0001

    CopyFromPstdSalesDocDimToHdr(
    ToSalesHeader,FromDocType,FromSalesShptHeader,FromSalesInvHeader,
    FromReturnRcptHeader,FromSalesCrMemoHeader);
    ...
    Código existente 2
    ...END;
    SalesDocType::"Posted Credit Memo":
    BEGIN

    // Delete the following line.
    FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader);

    FromSalesCrMemoLine.RESET;
    FromSalesCrMemoLine.SETRANGE("Document No.",FromSalesCrMemoHeader."No.");
    IF MoveNegLines THEN
    ...
    Código nuevo 2
    ...END;
    SalesDocType::"Posted Credit Memo":
    BEGIN

    // Add the following line.
    CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001

    FromSalesCrMemoLine.RESET;
    FromSalesCrMemoLine.SETRANGE("Document No.",FromSalesCrMemoHeader."No.");
    IF MoveNegLines THEN
    ...
  4. Cambie el código en la función CopySalesCrMemoLinesToDoc de la codeunit Copy Document Mgt. (6620) como sigue:
    Código existente
    ...FromSalesCrMemoHeader.GET("Document No.");
    TransferOldExtLines.ClearLineNumbers;
    END;

    // Delete the following line.
    FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader);

    FillExactCostRevLink :=
    IsSalesFillExactCostRevLink(ToSalesHeader,3,FromSalesHeader."Currency Code");
    FromSalesLine.TRANSFERFIELDS(FromSalesCrMemoLine);
    ...
    Código de sustitución
    ...FromSalesCrMemoHeader.GET("Document No.");
    TransferOldExtLines.ClearLineNumbers;
    END;

    // Add the following line.
    CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001

    FillExactCostRevLink :=
    IsSalesFillExactCostRevLink(ToSalesHeader,3,FromSalesHeader."Currency Code");
    FromSalesLine.TRANSFERFIELDS(FromSalesCrMemoLine);
    ...
  5. Cambie el código en la documentación de la codeunit Copy Document Mgt. (6620) como sigue:
    Código existente
    ...FORMAT(ToSalesHeader."No."));
    END;

    BEGIN
    END.
    }
    }
    ...
    Código de sustitución
    ...FORMAT(ToSalesHeader."No."));
    END;

    // Add the following lines.
    PROCEDURE CopySalesCrMemoHeader@1110018(VAR SalesHeader@1110001 : Record 36;SalesCrMemoHeader@1110002 : Record 114);
    BEGIN
    WITH SalesHeader DO BEGIN
    "No." := SalesCrMemoHeader."No.";
    "Sell-to Customer No." := SalesCrMemoHeader."Sell-to Customer No.";
    "Bill-to Customer No." := SalesCrMemoHeader."Bill-to Customer No.";
    "Bill-to Name" := SalesCrMemoHeader."Bill-to Name";
    "Bill-to Name 2" := SalesCrMemoHeader."Bill-to Name 2";
    "Bill-to Address" := SalesCrMemoHeader."Bill-to Address";
    "Bill-to Address 2" := SalesCrMemoHeader."Bill-to Address 2";
    "Bill-to City" := SalesCrMemoHeader."Bill-to City";
    "Bill-to Contact" := SalesCrMemoHeader."Bill-to Contact";
    "Your Reference" := SalesCrMemoHeader."Your Reference";
    "Ship-to Code" := SalesCrMemoHeader."Ship-to Code";
    "Ship-to Name" := SalesCrMemoHeader."Ship-to Name";
    "Ship-to Name 2" := SalesCrMemoHeader."Ship-to Name 2";
    "Ship-to Address" := SalesCrMemoHeader."Ship-to Address";
    "Ship-to Address 2" := SalesCrMemoHeader."Ship-to Address 2";
    "Ship-to City" := SalesCrMemoHeader."Ship-to City";
    "Ship-to Contact" := SalesCrMemoHeader."Ship-to Contact";
    "Posting Date" := SalesCrMemoHeader."Posting Date";
    "Shipment Date" := SalesCrMemoHeader."Shipment Date";
    "Posting Description" := SalesCrMemoHeader."Posting Description";
    "Payment Terms Code" := SalesCrMemoHeader."Payment Terms Code";
    "Due Date" := SalesCrMemoHeader."Due Date";
    "Payment Discount %" := SalesCrMemoHeader."Payment Discount %";
    "Pmt. Discount Date" := SalesCrMemoHeader."Pmt. Discount Date";
    "Shipment Method Code" := SalesCrMemoHeader."Shipment Method Code";
    "Location Code" := SalesCrMemoHeader."Location Code";
    "Shortcut Dimension 1 Code" := SalesCrMemoHeader."Shortcut Dimension 1 Code";
    "Shortcut Dimension 2 Code" := SalesCrMemoHeader."Shortcut Dimension 2 Code";
    "Customer Posting Group" := SalesCrMemoHeader."Customer Posting Group";
    "Currency Code" := SalesCrMemoHeader."Currency Code";
    "Currency Factor" := SalesCrMemoHeader."Currency Factor";
    "Customer Price Group" := SalesCrMemoHeader."Customer Price Group";
    "Prices Including VAT" := SalesCrMemoHeader."Prices Including VAT";
    "Invoice Disc. Code" := SalesCrMemoHeader."Invoice Disc. Code";
    "Customer Disc. Group" := SalesCrMemoHeader."Customer Disc. Group";
    "Language Code" := SalesCrMemoHeader."Language Code";
    "Salesperson Code" := SalesCrMemoHeader."Salesperson Code";
    Comment := SalesCrMemoHeader.Comment;
    "No. Printed" := SalesCrMemoHeader."No. Printed";
    "On Hold" := SalesCrMemoHeader."On Hold";
    "Applies-to Doc. Type" := SalesCrMemoHeader."Applies-to Doc. Type";
    "Applies-to Doc. No." := SalesCrMemoHeader."Applies-to Doc. No.";
    "Bal. Account No." := SalesCrMemoHeader."Bal. Account No.";
    Amount := SalesCrMemoHeader.Amount;
    "Amount Including VAT" := SalesCrMemoHeader."Amount Including VAT";
    "VAT Registration No." := SalesCrMemoHeader."VAT Registration No.";
    "Reason Code" := SalesCrMemoHeader."Reason Code";
    "Gen. Bus. Posting Group" := SalesCrMemoHeader."Gen. Bus. Posting Group";
    "EU 3-Party Trade" := SalesCrMemoHeader."EU 3-Party Trade";
    "Transaction Type" := SalesCrMemoHeader."Transaction Type";
    "Transport Method" := SalesCrMemoHeader."Transport Method";
    "VAT Country/Region Code" := SalesCrMemoHeader."VAT Country/Region Code";
    "Sell-to Customer Name" := SalesCrMemoHeader."Sell-to Customer Name";
    "Sell-to Customer Name 2" := SalesCrMemoHeader."Sell-to Customer Name 2";
    "Sell-to Address" := SalesCrMemoHeader."Sell-to Address";
    "Sell-to Address 2" := SalesCrMemoHeader."Sell-to Address 2";
    "Sell-to City" := SalesCrMemoHeader."Sell-to City";
    "Sell-to Contact" := SalesCrMemoHeader."Sell-to Contact";
    "Bill-to Post Code" := SalesCrMemoHeader."Bill-to Post Code";
    "Bill-to County" := SalesCrMemoHeader."Bill-to County";
    "Bill-to Country/Region Code" := SalesCrMemoHeader."Bill-to Country/Region Code";
    "Sell-to Post Code" := SalesCrMemoHeader."Sell-to Post Code";
    "Sell-to County" := SalesCrMemoHeader."Sell-to County";
    "Sell-to Country/Region Code" := SalesCrMemoHeader."Sell-to Country/Region Code";
    "Ship-to Post Code" := SalesCrMemoHeader."Sell-to Post Code";
    "Ship-to County" := SalesCrMemoHeader."Ship-to County";
    "Ship-to Country/Region Code" := SalesCrMemoHeader."Ship-to Country/Region Code";
    "Exit Point" := SalesCrMemoHeader."Exit Point";
    Correction := SalesCrMemoHeader.Correction;
    "Document Date" := SalesCrMemoHeader."Document Date";
    "External Document No." := SalesCrMemoHeader."External Document No.";
    Area := SalesCrMemoHeader.Area;
    "Transaction Specification" := SalesCrMemoHeader."Transaction Specification";
    "Payment Method Code" := SalesCrMemoHeader."Payment Method Code";
    "No. Series" := SalesCrMemoHeader."Pre-Assigned No. Series";
    "Posting No. Series" := SalesCrMemoHeader."No. Series";
    "Tax Area Code" := SalesCrMemoHeader."Tax Area Code";
    "Tax Liable" := SalesCrMemoHeader."Tax Liable";
    "VAT Bus. Posting Group" := SalesCrMemoHeader."VAT Bus. Posting Group";
    "VAT Base Discount %" := SalesCrMemoHeader."VAT Base Discount %";
    "Prepmt. Cr. Memo No. Series" := SalesCrMemoHeader."Prepmt. Cr. Memo No. Series";
    "Campaign No." := SalesCrMemoHeader."Campaign No.";
    "Sell-to Contact No." := SalesCrMemoHeader."Sell-to Contact No.";
    "Bill-to Contact No." := SalesCrMemoHeader."Bill-to Contact No.";
    "Responsibility Center" := SalesCrMemoHeader."Responsibility Center";
    "Allow Line Disc." := SalesCrMemoHeader."Allow Line Disc.";
    "Get Shipment Used" := SalesCrMemoHeader."Get Return Receipt Used";
    "Amount in VAT Report" := SalesCrMemoHeader."Amount in VAT Report";
    "Applies-to Bill No." := SalesCrMemoHeader."Applies-to Bill No.";
    "Cust. Bank Acc. Code" := SalesCrMemoHeader."Cust. Bank Acc. Code";
    "Pay-at Code" := SalesCrMemoHeader."Pay-at Code";
    "Date Sent" := SalesCrMemoHeader."Date Sent";
    "Time Sent" := SalesCrMemoHeader."Time Sent";
    "BizTalk Document Sent" := SalesCrMemoHeader."BizTalk Document Sent";
    END;
    END;
    // End of the lines.

    BEGIN

    END.
    }
    }
    ...

Requisitos previos

Debe tener uno de los siguientes productos instalados para aplicar esta revisión:
  • La versión portuguesa de Microsoft Dynamics NAV 2009 R2
  • La versión del Service Pack 1 (SP1) de Microsoft Dynamics NAV 2009
  • La versión portuguesa de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)


Información de eliminación

No se puede quitar este hotfix.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Nota: Es un artículo "Publicación rápida" creado directamente desde dentro de la organización de soporte técnico de Microsoft. La información contenida en este documento se proporciona como está en respuesta a nuevos problemas. Como consecuencia de la velocidad en la puesta a disposición, los materiales pueden incluir errores tipográficos y podrán revisarse en cualquier momento sin previo aviso. Para obtener información adicional, consulte Condiciones de uso.