- Este debate tiene 4 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 8 años, 5 meses por
Cristina Nicolàs.
-
AutorEntradas
-
19 diciembre 2017 a las 09:30 #3951
ago
Participantehola
para probar las extensiones he preparado una pequeña extension que consiste en tener el neto calculado en cada linea de albaran para poder imprimir un albaran valorado.
tengo varios problemas.
1- no me deja grabar en la tabla de lineas de albaran. como le asigno permisos en la extension? (en la tabla de lineas de pedido SI me deja grabar)2- Como meto en un report los campos nuevos de la extension? He fusilado el informe 208 (impreso de albaran) en un 50000 pero el campo no aparece en el developer. (he visto que los campos nuevos los crea en tablas aparte).
3.- como modifico el layout del report si consigo solucionar los dos temas anteriores?
adjunto el codigo fuente:
codeunit 50100 MyCodeunit
{
trigger OnRun();
begin
end;[EventSubscriber(ObjectType::codeunit, 80, ‘OnAfterPostSalesDoc’,”, false, false)]
local procedure MyProcedure(VAR SalesHeader : Record “Sales Header”;VAR GenJnlPostLine : Codeunit “Gen. Jnl.-Post Line”;SalesShptHdrNo : Code[20];RetRcpHdrNo : Code[20];SalesInvHdrNo : Code[20];SalesCrMemoHdrNo : Code[20]);
var
myInt : Integer;
reclinalb:Record “Sales Shipment Line” ;
reclinped:Record “Sales Line” ;begin
Message (‘el albaran generado es: %1’,SalesShptHdrNo);
reclinalb.Reset;
reclinalb.SetRange(reclinalb.”Document No.”,SalesShptHdrNo);
if reclinalb.FindSet then
repeat
message(‘Cantidad %1 – Precio %2’, reclinalb.Quantity, reclinalb.”Unit Price”);
reclinalb.”Neto” := format(reclinalb.Quantity * reclinalb.”Unit Price”);
// reclinalb.Modify;
reclinped.Get(reclinped.”Document Type”::Order, reclinalb.”Order No.”,reclinalb.”Order Line No.”);
reclinped.”Description 2″:=format(reclinalb.Quantity * reclinalb.”Unit Price”);
reclinped.modify;
until reclinalb.Next=0;end;
}tableextension 50100 AlbaranExtension extends “Sales Shipment Line”
{
fields
{
// Add changes to table fields here
field(50101;”Neto“;Decimal)
{}
}
var
myInt : Integer;
}gracias anticipadas
20 diciembre 2017 a las 10:04 #3960
Cristina NicolàsSuperadministrador[quote quote=3951]tengo varios problemas.
1- no me deja grabar en la tabla de lineas de albaran. como le asigno permisos en la extension? (en la tabla de lineas de pedido SI me deja grabar)[/quote]Hola ago,
Las tablas de documentos históricos, igual que las tablas de movimientos, están protegidas y no se pueden modificar ni insertar registros sin darles permisos de forma explícita.
No es cosa de las extensiones, en el entorno de desarrollo C/SIDE también pasa.
Para ello, tienes que asignarle los permisos con la propiedad Permission.Fíjate por ejemplo en el estándar, en la codeunit 103 Cust. Entry-Edit.
Si vas a las propiedades, verás que da permisos explícitos para insertar, modificar y eliminar movimientos de cliente, y da también permisos explícitos para modificar los movimientos de cliente detallados.Pues esto mismo tienes que hacer en tu codeunit 50100. Dar permisos explícitos para modificar los permisos de la extensión.
codeunit 50100 MyCodeunit { Permissions = tabledata "Sales Shipment Line"=m; trigger OnRun(); begin end;20 diciembre 2017 a las 10:06 #3962
Cristina NicolàsSuperadministrador[quote quote=3951]2- Como meto en un report los campos nuevos de la extension? He fusilado el informe 208 (impreso de albaran) en un 50000 pero el campo no aparece en el developer. (he visto que los campos nuevos los crea en tablas aparte).
3.- como modifico el layout del report si consigo solucionar los dos temas anteriores?[/quote]
Con esto todavía no te puedo ayudar porque no he tenido ocasión aún de desarrollar un report con Visual Studio Code. Pero lo haré en breve porque ya me han aprobado un proyecto en el que voy a hacer los impresos de factura, albarán y demás con Extensiones de NAV2018.
Así que en breve te cuento los problemas con los que me encuentro y como los soluciono.
Un saludo,
Cristina Nicolàs21 diciembre 2017 a las 07:30 #3986ago
ParticipanteMuchas gracias
espero a tus indicaciones sobre los reports…..
15 febrero 2018 a las 10:29 #4621
Cristina NicolàsSuperadministradorHola ago,
Ya he tenido ocasión de desarrollar 5 reports en Visual Studio Code y de momento todo bien.
He empezado a explicarlo en el Curso de Desarrollo de Reports con Visual Studio Code que se empezó a publicar ayer.
En el curso empiezo creando un report desde 0 con Visual Studio code, haciendo primero la parte más de código, de creación de los dataitems y del dataset, y después creando el layout.
Y en lecciones posteriores, en lugar de empezar un report de 0, cogemos un report típico estándar de NAV, un impreso de un documento, y lo llevamos a Visual Studio Code para hacer algunas modificaciones y acabar publicando la personalización del impreso en una extensión.
Un saludo,
Cristina Nicolàs -
AutorEntradas
- Debes estar registrado para responder a este debate.