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

#1018186