Patricia Santos Manglano
Hola, BETEA
Como me quedé con la intriga de si era posible, finalmente hice la prueba, y ha funcionado de la siguiente manera (mi ejemplo era para permitir modificar el Nº factura proveedor en históricos de facturas de compras, pero es extrapolable a ventas):
Primero hice la siguiente PageExt:
pageextension 50100 PostedPurchInvoiceUpdateExt extends “Posted Purch. Invoice – Update”
{
layout
{
addbefore(“Payment Reference”)
{
field(“Vendor Invoice No.”; “Vendor Invoice No.”)
{
Caption = ‘Vendor Invoice No.’, Comment = ‘ESP=Nº factura proveedor’;
ToolTip = ‘Vendor Invoice No.’, Comment = ‘ESP=Nº factura proveedor’;
ApplicationArea = Basic, Suite;
Importance = Standard;
}
}
}
}
Pero como vi que no actualizaba el dato, lo complementé con la siguiente codeunit:
codeunit 50100 UpdateVendorInvoiceNo
{
Permissions = tabledata “Purch. Inv. Header” = m;
[EventSubscriber(ObjectType::Page, Page::”Posted Purch. Invoice – Update”, ‘OnAfterValidateEvent’, ‘Vendor Invoice No.’, false, false)]
local procedure OnAfterValidateVendorInvoiceNo_UpdateVendorInvoiceNo(var Rec: Record “Purch. Inv. Header”; var xRec: Record “Purch. Inv. Header”)
var
PurchInvHeader: Record “Purch. Inv. Header”;
begin
if Rec.”Vendor Invoice No.” <> xRec.”Vendor Invoice No.” then begin
PurchInvHeader.Get(rec.”No.”);
PurchInvHeader.”Vendor Invoice No.” := Rec.”Vendor Invoice No.”;
PurchInvHeader.modify();
end;
end;
}
Con estos dos objetos sí ha funcionado