Restrict not able to Minimize form

vikram7_dabasvikram7_dabas Member Posts: 611
Dear concenr
can we restrict any user that he/she should not able to minimize the form.
Vikram Dabas
Navision Technical Consultant

Comments

  • MBergerMBerger Member Posts: 413
    You can't do it on a user-based level, but you can set the "minimizable" property of the form to false, so it won't be allowed for ANY user.
  • vikram7_dabasvikram7_dabas Member Posts: 611
    Dear Concern
    I have created 1 new form in that form user has to fill all details that's mandatory.I wrote code OnQueryCloseform trigger of form, untill user not fill all details on form, it cannot be closed. I want until this (New form) form not closed then user can't open any other form.
    Vikram Dabas
    Navision Technical Consultant
  • SavatageSavatage Member Posts: 7,142
    I wrote code OnQueryCloseform trigger of form, untill user not fill all details on form, it cannot be closed.

    What's you code? and this doesn't prevent moving to the next record.
    You can search the forum for "mandatory fields"
  • ssinglassingla Member Posts: 2,973
    What if, the user shifts from the form without minimizing i.e. Ctrl +Tab
    CA Sandeep Singla
    http://ssdynamics.co.in
  • vikram7_dabasvikram7_dabas Member Posts: 611
    Dear concern
    I want that until user doesnt close our customized form then no other form should open.
    Vikram Dabas
    Navision Technical Consultant
  • kinekine Member Posts: 12,562
    For me it seems that you are still trying to implement behaviour which is not standard for NAV and you (and mainly the customer) will have problems with that. Try to solve the problem in "NAV way". Think about the base requirement, "why" you want to do that, and try to find another way...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • garakgarak Member Posts: 3,263
    Dear Concern
    I want until this (New form) form not closed then user can't open any other form.

    Thats with the Pane Menu not possibel. Also, what is if there are other forms behind the form where the user should enter some datas, and he bring this form to the front with Ctrl+Tab :?:

    if you need to check if all needed fields are filled out, check this on a other way (maybe modify trigger and OnNextRecord() ) and doen't forgett, what is happend, if the user scroll through the window. or is ther ever only one rec displayed :?:

    The base question is. Why do you wan't to to this or why has your customer ever wished like this ...

    regards
    Do you make it right, it works too!
  • vikram7_dabasvikram7_dabas Member Posts: 611
    Dear concern
    I m have created some fileds in user table and shown it on new form, when new user 1st time login in Navision then that form will open and he has to fill all data that's mandatory.I want without without filling to this form user should not able to open another form.
    Vikram Dabas
    Navision Technical Consultant
  • reijermolenaarreijermolenaar Member Posts: 256
    I like this kind of puzzles! :D

    It can be done if you add a function with id 1 to codeunit 1.
    See an example below:
    OBJECT Form 50000 First Form
    {
      OBJECT-PROPERTIES
      {
        Date=01-08-09;
        Time=12:00:00;
        Version List=;
      }
      PROPERTIES
      {
        Width=9790;
        Height=2640;
        OnQueryCloseForm=BEGIN
                           EXIT((gFirstName <> '') AND (gLastName <> ''));
                         END;
    
      }
      CONTROLS
      {
        { 1100531000;Frame  ;220  ;220  ;9350 ;1430 ;HorzGlue=Both;
                                                     VertGlue=Both;
                                                     ShowCaption=No }
        { 1100512002;TextBox;3850 ;440  ;5500 ;440  ;ParentControl=1100531000;
                                                     InFrame=Yes;
                                                     CaptionML=ENU=First Name;
                                                     SourceExpr=gFirstName }
        { 1100512003;Label  ;440  ;440  ;3300 ;440  ;ParentControl=1100512002 }
        { 1100512004;TextBox;3850 ;990  ;5500 ;440  ;ParentControl=1100531000;
                                                     InFrame=Yes;
                                                     CaptionML=ENU=Last Name;
                                                     SourceExpr=gLastName }
        { 1100512005;Label  ;440  ;990  ;3300 ;440  ;ParentControl=1100512004 }
        { 1100531002;CommandButton;7370;1870;2200;550;
                                                     HorzGlue=Right;
                                                     VertGlue=Bottom;
                                                     PushAction=FormHelp }
        { 1100531003;CommandButton;4950;1870;2200;550;
                                                     HorzGlue=Right;
                                                     VertGlue=Bottom;
                                                     Default=Yes;
                                                     PushAction=OK }
      }
      CODE
      {
        VAR
          gFirstName@1100512000 : Text[30];
          gLastName@1100512001 : Text[30];
    
        PROCEDURE GetValues@1100512000(VAR FirstName@1100512000 : Text[30];VAR LastName@1100512001 : Text[30]);
        BEGIN
          FirstName := gFirstName;
          LastName := gLastName;
        END;
    
        BEGIN
        END.
      }
    }
    
    OBJECT Codeunit 1 ApplicationManagement
    {
      OBJECT-PROPERTIES
      {
        Date=01-08-09;
        Time=12:00:00;
        Version List=NAVW16.00,NAVNL5.00;
      }
      PROPERTIES
      {
        OnRun=BEGIN
              END;
    
      }
      CODE
      {
        VAR
          gFirstName@1100512000 : Text[30];
          gLastName@1100512001 : Text[30];
          FirstFormOpened@1100512002 : Boolean;
          FirstFormClosed@1100512003 : Boolean;
    
        PROCEDURE CompanyOpen@30();
        BEGIN
        END;
    
        PROCEDURE CompanyClose@31();
        BEGIN
        END;
    
        PROCEDURE FindPrinter@11(ReportID@1000 : Integer) : Text[250];
        BEGIN
        END;
    
        LOCAL PROCEDURE LogInStart@10001();
        BEGIN
        END;
    
        LOCAL PROCEDURE LogInEnd@10002();
        BEGIN
        END;
    
        PROCEDURE ApplicationVersion@2() : Text[80];
        BEGIN
        END;
    
        PROCEDURE ApplicationBuild@3() : Text[80];
        BEGIN
        END;
    
        PROCEDURE BaseApplicationBuild@1000000() : Text[80];
        BEGIN
        END;
    
        PROCEDURE ApplicationLanguage@4() : Integer;
        BEGIN
        END;
    
        PROCEDURE DefaultRoleCenter@50() : Integer;
        BEGIN
        END;
    
        PROCEDURE CodeCoverage@6();
        BEGIN
        END;
    
        PROCEDURE MakeDateTimeText@114(VAR DateTimeText@1000 : Text[250]) : Integer;
        BEGIN
        END;
    
        PROCEDURE GetSeparateDateTime@10011(DateTimeText@1000 : Text[250];VAR Date@1005 : Date;VAR Time@1006 : Time) : Boolean;
        BEGIN
        END;
    
        PROCEDURE MakeDateText@105(VAR DateText@1000 : Text[250]) : Integer;
        BEGIN
        END;
    
        PROCEDURE MakeTimeText@106(VAR TimeText@1000 : Text[250]) : Integer;
        BEGIN
        END;
    
        PROCEDURE MakeText@107(VAR Text@1000 : Text[250]) : Integer;
        BEGIN
        END;
    
        PROCEDURE MakeDateTimeFilter@214(VAR DateTimeFilterText@1000 : Text[250]) : Integer;
        BEGIN
        END;
    
        LOCAL PROCEDURE MakeDateTimeFilter2@10014(VAR DateTimeFilterText@1000 : Text[250]);
        BEGIN
        END;
    
        PROCEDURE MakeDateFilter@205(VAR DateFilterText@1000 : Text[250]) : Integer;
        BEGIN
        END;
    
        LOCAL PROCEDURE MakeDateFilter2@10003(VAR OK@1000 : Boolean;VAR Date1@1001 : Date;VAR Date2@1002 : Date;VAR DateFilterText@1003 : Text[250]) : Integer;
        BEGIN
        END;
    
        LOCAL PROCEDURE FindPeriod@10004(VAR Date1@1000 : Date;VAR Date2@1001 : Date;FindYear@1002 : Boolean;VAR DateFilterText@1003 : Text[250];VAR Position@1004 : Integer;Length@1005 : Integer) : Integer;
        BEGIN
        END;
    
        LOCAL PROCEDURE FindText@10005(VAR PartOfText@1000 : Text[250];VAR Text@1001 : Text[250];Position@1002 : Integer;Length@1003 : Integer) : Boolean;
        BEGIN
        END;
    
        LOCAL PROCEDURE ReadSymbol@10006(Token@1000 : Text[30];VAR Text@1001 : Text[250];VAR Position@1002 : Integer;Length@1003 : Integer) : Boolean;
        BEGIN
        END;
    
        LOCAL PROCEDURE ReadNumeral@10007(VAR Numeral@1000 : Integer;VAR Text@1001 : Text[250];VAR Position@1002 : Integer;Length@1003 : Integer) : Boolean;
        BEGIN
        END;
    
        LOCAL PROCEDURE ReadCharacter@10008(Character@1000 : Text[50];VAR Text@1001 : Text[250];VAR Position@1002 : Integer;Length@1003 : Integer);
        BEGIN
        END;
    
        LOCAL PROCEDURE ReadUntilCharacter@10010(Character@1000 : Text[50];VAR Text@1001 : Text[250];VAR Position@1002 : Integer;Length@1003 : Integer);
        BEGIN
        END;
    
        PROCEDURE AutoFormatTranslate@12(AutoFormatType@1000 : Integer;AutoFormatExpr@1001 : Text[80]) : Text[80];
        BEGIN
        END;
    
        PROCEDURE ReadRounding@14() Rounding@1000 : Decimal;
        BEGIN
        END;
    
        PROCEDURE CaptionClassTranslate@15(Language@1000 : Integer;CaptionExpr@1001 : Text[1024]) : Text[1024];
        BEGIN
        END;
    
        LOCAL PROCEDURE DimCaptionClassTranslate@10009(Language@1000 : Integer;CaptionExpr@1001 : Text[80]) : Text[80];
        BEGIN
        END;
    
        LOCAL PROCEDURE VATCaptionClassTranslate@100010(Language@1000 : Integer;CaptionExpr@1001 : Text[80]) : Text[30];
        BEGIN
        END;
    
        PROCEDURE SetGlobalLanguage@5();
        BEGIN
        END;
    
        LOCAL PROCEDURE GetApplicationLanguages@1033(VAR TempLanguage@1034 : TEMPORARY Record 2000000045);
        BEGIN
        END;
    
        PROCEDURE ValidateApplicationlLanguage@1102601001(LanguageID@1037 : Integer);
        BEGIN
        END;
    
        PROCEDURE LookupApplicationlLanguage@1102601005(VAR LanguageID@1040 : Integer);
        BEGIN
        END;
    
        PROCEDURE NASHandler@99(NASID@1000 : Text[260]);
        BEGIN
        END;
    
        PROCEDURE GetGlobalTableTriggerMask@20(TableID@1000 : Integer) : Integer;
        BEGIN
        END;
    
        PROCEDURE OnGlobalInsert@21(RecRef@1000 : RecordRef);
        BEGIN
        END;
    
        PROCEDURE OnGlobalModify@22(RecRef@1000 : RecordRef;xRecRef@1002 : RecordRef);
        BEGIN
        END;
    
        PROCEDURE OnGlobalDelete@23(RecRef@1000 : RecordRef);
        BEGIN
        END;
    
        PROCEDURE OnGlobalRename@24(RecRef@1000 : RecordRef;xRecRef@1002 : RecordRef);
        BEGIN
        END;
    
        PROCEDURE LaunchApp@116(DataXML@1000 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{88D96A05-F192-11D4-A65F-0040963251E5}:'Microsoft XML, v6.0'.DOMDocument60";StylesheetID@1001 : GUID;ApplicationXML@1002 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{88D96A05-F192-11D4-A65F-0040963251E5}:'Microsoft XML, v6.0'.DOMDocument60") : Boolean;
        BEGIN
        END;
    
        PROCEDURE SelectStyleSheet@117(ObjectType@1000 : Integer;ObjectID@1001 : Integer;VAR StyleSheetID@1002 : GUID) : Boolean;
        BEGIN
        END;
    
        PROCEDURE ManageStyleSheets@118(ObjectType@1000 : Integer;ObjectID@1001 : Integer);
        BEGIN
        END;
    
        PROCEDURE OpenFirstForm@1();
        VAR
          FirstForm@1100531001 : Form 50000;
        BEGIN
          IF NOT FirstFormOpened THEN BEGIN
    
            FirstFormOpened := TRUE;
            FirstForm.RUNMODAL;
            FirstForm.GetValues(gFirstName, gLastName);
            FirstFormClosed := TRUE;
    
            MESSAGE('Hi ' + gFirstName + ' ' + gLastName);
          END;
    
          IF FirstFormOpened AND NOT FirstFormClosed THEN
            ERROR('');
        END;
    
        BEGIN
        END.
      }
    }
    
    
    Reijer Molenaar
    Object Manager
Sign In or Register to comment.