What can/can't a Client License do?

gulamdastagirgulamdastagir Member Posts: 411
I have noticed a client can be used to modified tables like unit of measure but it CAN'T use MODIFY,INSERT on tables like Customer Ledger Entry

Is there anyway we can make it do this MODIFY ,INSERT into Customer Ledger Entry.

I dont want to use a Developer license at the client site
Regards,

GD

Comments

  • diptish.naskardiptish.naskar Member Posts: 360
    The NAV Client liecense generally doesnot have direct rights to modify the Ledgers present in NAV. and there is no way that you can direcly modify the ledgers with the client license.
    Diptish Naskar
    For any queries you can also visit my blog site: http://msnavarena.blogspot.com/
  • Revolution1210Revolution1210 Member Posts: 161
    There is a good reason for this... ..it prevents users from accidently or purposely affecting the integrity of the database by hacking away at the ledgers. Entries to ledgers should be done via the normal posting methods provided by the system.

    If you have a situation where you really need to allow a user to edit ledger entries, you can create a form in a number range they have access to, base the form on the ledger you're interested in, give it (the form) permissions to the table as required, make all fields non-editable apart from the one(s) you want them to be able to manipulate

    Again though, this is not a normal solution. If you have situations where users say they need to edit ledger entries directly then you need to take a look at the underlying causes.
    Ian

    www.NextEqualZero.com
    A technical eye on Dynamics NAV
  • ashishaashisha Member Posts: 60
    There is a good reason for this... ..it prevents users from accidently or purposely affecting the integrity of the database by hacking away at the ledgers. Entries to ledgers should be done via the normal posting methods provided by the system.

    If you have a situation where you really need to allow a user to edit ledger entries, you can create a form in a number range they have access to, base the form on the ledger you're interested in, give it (the form) permissions to the table as required, make all fields non-editable apart from the one(s) you want them to be able to manipulate

    Again though, this is not a normal solution. If you have situations where users say they need to edit ledger entries directly then you need to take a look at the underlying causes.


    hi everyone
    i am using customer license file on cside client.we want to open all tables with this customer license file at that time we are facing problem for opening some tables but when we are using developer license file we can open it .how we can open such like (tabledata 160 to 169,tabledata 237 to 246) with customer license fileand so on.please help me how we can do this .
    thanks in advance
  • kinekine Member Posts: 12,562
    Of course, you cannot open tables which are not in customer license file (in the active license you have in client).

    To temporary change of license in your client you need to use Change button on License Information form. It wil lchange the license for your and you can do what you want. After closing the client, the standard license will be used.

    Main thing is one: just delete the License file after you did the change. You do not need it anymore to have it on the PC. It means, when you are working on customer Live DB through RDP or citrix, you just needs to open the license and you are done. You do not need to upload it there pernamently etc...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • ashishaashisha Member Posts: 60
    Is there any way to change the permissions that are assosiated with the Customer License File??
    Actually we want to access the table "Requisition Line" (id->246) using the customer license file. This table is opening using our developer license file but not with customer license file. Can we set the permission in customer license file to access that table??
  • Revolution1210Revolution1210 Member Posts: 161
    ashisha wrote:
    Is there any way to change the permissions that are assosiated with the Customer License File??
    Actually we want to access the table "Requisition Line" (id->246) using the customer license file. This table is opening using our developer license file but not with customer license file. Can we set the permission in customer license file to access that table??

    Purchase the Requisition Management granule :roll:
    Ian

    www.NextEqualZero.com
    A technical eye on Dynamics NAV
  • AdamRoueAdamRoue Member Posts: 1,283
    Yes, you buy the module, it then appears on the license and you have rights. Anything else is likely to be slightly frowned upon by Microsoft :lol:
    The art of teaching is clarity and the art of learning is to listen
  • PerJuhlPerJuhl Member Posts: 55
    I have noticed a client can be used to modified tables like unit of measure but it CAN'T use MODIFY,INSERT on tables like Customer Ledger Entry

    Is there anyway we can make it do this MODIFY ,INSERT into Customer Ledger Entry.

    I dont want to use a Developer license at the client site

    Hi

    Yes, the user can edit the "On Hold" field and "Due date" on Customer
    Ledger entry. Try F2 ("Edit") on "Due date".

    Look in codeunit CODEUNIT.RUN(CODEUNIT::"Cust. Entry-Edit",Rec);

    Take a look on the codeunits permisions:

    TableData Cust. Ledger Entry=imd,TableData Detailed Cust. Ledg. Entry=m

    and take care !!!!!!!!!! don't change m to d !!!!!!!!!!!!

    BR Per
  • PerJuhlPerJuhl Member Posts: 55
    The NAV Client liecense generally doesnot have direct rights to modify the Ledgers present in NAV. and there is no way that you can direcly modify the ledgers with the client license.

    Sorry, but his is NOT right. As you write, no direct rights.

    But the customer licens have indirect rights, to Ledger tables.

    Eg. modify due data, date compression and post a ledger entry.

    BR Per
  • gulamdastagirgulamdastagir Member Posts: 411
    1.How can i send the "VAR Rec" variable from a codeunit to call the onrun trigger of Codeunit number 103 "cust. entry edit" ? i know it can be easily done from a form.


    OnRun(VAR Rec : Record "Cust. Ledger Entry")
    CustLedgEntry := Rec;
    CustLedgEntry.LOCKTABLE;
    CustLedgEntry.FIND;
    xRecRef.GETTABLE(CustLedgEntry);
    CustLedgEntry."On Hold" := "On Hold";
    IF CustLedgEntry.Open THEN BEGIN
      CustLedgEntry."Due Date" := "Due Date";
      DtldCustLedgEntry.SETCURRENTKEY("Cust. Ledger Entry No.");
      DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");
      DtldCustLedgEntry.MODIFYALL("Initial Entry Due Date","Due Date");
      CustLedgEntry."Pmt. Discount Date" := "Pmt. Discount Date";
      CustLedgEntry."Applies-to ID" := "Applies-to ID";
      CustLedgEntry.VALIDATE("Remaining Pmt. Disc. Possible","Remaining Pmt. Disc. Possible");
      CustLedgEntry."Pmt. Disc. Tolerance Date" := "Pmt. Disc. Tolerance Date";
      CustLedgEntry.VALIDATE("Max. Payment Tolerance","Max. Payment Tolerance");
      CustLedgEntry.VALIDATE("Accepted Payment Tolerance","Accepted Payment Tolerance");
      CustLedgEntry.VALIDATE("Accepted Pmt. Disc. Tolerance","Accepted Pmt. Disc. Tolerance");
      CustLedgEntry.VALIDATE("Amount to Apply","Amount to Apply");
      CustLedgEntry.VALIDATE("Applying Entry","Applying Entry");
    END;
    CustLedgEntry.MODIFY;
    Rec := CustLedgEntry;
    RecRef.GETTABLE(CustLedgEntry);
    ChangeLogMgt.LogModification(RecRef,xRecRef);
    


    2.When you can send reference variables as parameters in NAV why cant u return reference variables from NAV Functions?


    3.I know that customer ledger entries can be modified with client license using a form,so is it possible that my codeunit can call the form and then modify the customer ledger entry at run time?

    :-k
    Regards,

    GD
  • PerJuhlPerJuhl Member Posts: 55
    1.How can i send the "VAR Rec" variable from a codeunit to call the onrun trigger of Codeunit number 103 "cust. entry edit" ? i know it can be easily done from a form.


    OnRun(VAR Rec : Record "Cust. Ledger Entry")
    CustLedgEntry := Rec;
    CustLedgEntry.LOCKTABLE;
    CustLedgEntry.FIND;
    xRecRef.GETTABLE(CustLedgEntry);
    CustLedgEntry."On Hold" := "On Hold";
    IF CustLedgEntry.Open THEN BEGIN
      CustLedgEntry."Due Date" := "Due Date";
      DtldCustLedgEntry.SETCURRENTKEY("Cust. Ledger Entry No.");
      DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");
      DtldCustLedgEntry.MODIFYALL("Initial Entry Due Date","Due Date");
      CustLedgEntry."Pmt. Discount Date" := "Pmt. Discount Date";
      CustLedgEntry."Applies-to ID" := "Applies-to ID";
      CustLedgEntry.VALIDATE("Remaining Pmt. Disc. Possible","Remaining Pmt. Disc. Possible");
      CustLedgEntry."Pmt. Disc. Tolerance Date" := "Pmt. Disc. Tolerance Date";
      CustLedgEntry.VALIDATE("Max. Payment Tolerance","Max. Payment Tolerance");
      CustLedgEntry.VALIDATE("Accepted Payment Tolerance","Accepted Payment Tolerance");
      CustLedgEntry.VALIDATE("Accepted Pmt. Disc. Tolerance","Accepted Pmt. Disc. Tolerance");
      CustLedgEntry.VALIDATE("Amount to Apply","Amount to Apply");
      CustLedgEntry.VALIDATE("Applying Entry","Applying Entry");
    END;
    CustLedgEntry.MODIFY;
    Rec := CustLedgEntry;
    RecRef.GETTABLE(CustLedgEntry);
    ChangeLogMgt.LogModification(RecRef,xRecRef);
    


    2.When you can send reference variables as parameters in NAV why cant u return reference variables from NAV Functions?


    3.I know that customer ledger entries can be modified with client license using a form,so is it possible that my codeunit can call the form and then modify the customer ledger entry at run time?

    :-k

    It's not done from the form, the form (field) call the codeunit that do
    the modify. (The code you pasted)
  • PerJuhlPerJuhl Member Posts: 55
    There is a good reason for this... ..it prevents users from accidently or purposely affecting the integrity of the database by hacking away at the ledgers. Entries to ledgers should be done via the normal posting methods provided by the system.

    If you have a situation where you really need to allow a user to edit ledger entries, you can create a form in a number range they have access to, base the form on the ledger you're interested in, give it (the form) permissions to the table as required, make all fields non-editable apart from the one(s) you want them to be able to manipulate

    Again though, this is not a normal solution. If you have situations where users say they need to edit ledger entries directly then you need to take a look at the underlying causes.

    Absolutly right, don't ever insert Customer Ledger Entry directly !!!!
    BR Per
  • gulamdastagirgulamdastagir Member Posts: 411
    PerJuhl wrote:
    It's not done from the form, the form (field) call the codeunit that do
    the modify. (The code you pasted)


    My problem is at the moment to execute this code from a codeunit
    CODEUNIT.RUN(CODEUNIT::"Cust. Entry-Edit",Rec);
    

    and the definition of the ONRUN Trigger of codunit 103 is
    OnRun(VAR Rec : Record "Cust. Ledger Entry")
    

    My question is how can pass the VAR Rec paramter to this codeunit
    Regards,

    GD
  • diptish.naskardiptish.naskar Member Posts: 360
    PerJuhl wrote:
    The NAV Client liecense generally doesnot have direct rights to modify the Ledgers present in NAV. and there is no way that you can direcly modify the ledgers with the client license.

    Sorry, but his is NOT right. As you write, no direct rights.

    But the customer licens have indirect rights, to Ledger tables.

    Eg. modify due data, date compression and post a ledger entry.

    BR Per

    Did I say something worng ?:-k if you open the client license with license viewer you will notice a difference RIMD and Rimd. Hope this gives you some idea on the rights to insert/Modify and Delete...leaving the 'R' read.
    Diptish Naskar
    For any queries you can also visit my blog site: http://msnavarena.blogspot.com/
  • gulamdastagirgulamdastagir Member Posts: 411
    solved \:D/
    Regards,

    GD
Sign In or Register to comment.