Navision Object Manager - Base

AdministratorAdministrator Member, Moderator, Administrator Posts: 2,500
edited 2006-03-13 in Download section
Navision Object Manager
I have been working on an object management development tool on and off for about a year. I call it Object manager. I have been using it productively in my work for the last 8 months and have been enhancing it as I go. I would like to offer it to everyone as a group project. Currently the object IDs are in the 87500 range, so only developer licenses could have access. Maybe this can be changed soon with some add-on range objects.
The project touches these major areas so far:
Object History with restoration
Projects with Objects
CodeSafe - an automatic object backup feature
Text Compare - using a modified version of the compare tool
Enhance Object Import/Export using a new file format .vso (very silly object)
Multi user Object Locks
Upgrades
Object Date/Time Compare

It is a very useful tool as it is, but I think if we all used our heads and skills together it could be fantastic and increase everyone's productivity.
I would be glad to post and/or email the objects to anyone who is interested.

If anyone is interested in working on this project, please email me and we can get this organized and going.

New version:
Now includes objects and database.

http://www.mibuso.com/dlinfo.asp?FileID=480

Discuss this download here.
«1

Comments

  • mrQQmrQQ Member Posts: 239
    needs english interface..

    and it doesnt seem to auto add objects to codesafe when i click design.

    otherwise - its an AMAZING tool, which i hope matures asap, cause we need something like that terribly!
  • mrQQmrQQ Member Posts: 239
    also a suggestion - open object designer automatically, if it is not open, and hide it somewhere..
  • SPost29SPost29 Member Posts: 148
    Thanks for taking a look at it.
    What do you mean by an english interface... ( Do you mean my english is so bad it needs to be translated into english 8-[ )

    The process I used for codesafe was to check first if the date/time version of the object was in history and if it was, not add it to codesafe
    But I think it might be better to always add it to codesafe then there would be no confusion-- Good Suggestion!
    We could have a way to delete codesafe at the end of the day and/or on demand.

    I tried as many ways as I could think of to open Object designer automatically if itv wasn't but I couldn't get it to work. I have an incomplete understanding of the SendKeys functionality.
    When I tried I got a looping condition where multiple copies of Object Designer Kept Opening (so I made it manual with a check if it was open

    If you or anyone knows how to fix this it would help the tool greatly.
    Steve
  • AdministratorAdministrator Member, Moderator, Administrator Posts: 2,500
    Navision Object Manager - Base
    I have been working on an object management development tool on and off for about a year. I call it Object manager. I have been using it productively in my work for the last 8 months and have been enhancing it as I go. I would like to offer it to everyone as a group project. Currently the object IDs are in the 87500 range, so only developer licenses could have access. Maybe this can be changed soon with some add-on range objects.
    The project touches these major areas so far:
    Object History with restoration
    Projects with Objects
    CodeSafe - an automatic object backup feature
    Text Compare - using a modified version of the compare tool
    Enhance Object Import/Export using a new file format .vso (very silly object)
    Multi user Object Locks
    Upgrades
    Object Date/Time Compare

    It is a very useful tool as it is, but I think if we all used our heads and skills together it could be fanta stic and increase everyone's productivity.
    I would be glad to post and/or email the objects to anyone who is interested.

    If anyone is interested in working on this project, please email me and we can get this organized and going.

    New version:
    Now objects and database.

    Important:
    Needs also following download: Navision Object Manager - Mod

    http://www.mibuso.com/dlinfo.asp?FileID=480

    Discuss this download here.
  • dillondillon Member Posts: 2
    I'm very interested in trying this out, but keep getting this error message in the restore procedure:
    You cannot delete or change the type of the Rounding precision field (in the Service Mgt. Setup table) before the value in the field is reduced to 0 (zero) or " (blank) in all records. This message occurred because a nonzero value was found for the record Primary Key=" in company Object Manager.
    I tried running through all the companies in the database and wiping out the Service Mgt. Setup records, but to no effect.

    I'm running Nav 4.0 on Win2k (all patches applied).
    Any ideas?

    Thanks,
    D
  • SPost29SPost29 Member Posts: 148
    Dillon,
    This fbk file is from 3.7.
    You need to restore this into a new empty 4.0 Database. the problem is that rounding precision is no longer a field in the service mgt. setup table in 4.0. so you are getting the error when you try to restore on top of an existing 4.0 DB.
    If you are using the Object Manager in 4.0 you will not have the menusuite or xml object types available (the rest of the functionality will work however)

    A 4.0 version is not available yet, but is in the works

    I hope this helps.
    Thanks for your interest
    Steve
  • dillondillon Member Posts: 2
    Ok cool, that's about what I figured. Everything worked with a blank database.

    You have some very interesting functionality here; I'll give you a more indepth opinion when I've putzed around with it more.

    Thanks,
    D
  • SPost29SPost29 Member Posts: 148
    Dillon,
    Thanks for trying it out I look forward to hearing from you
    steve
  • DoomhammerDoomhammer Member Posts: 211
    OM is very cool application, thanks for it. \:D/ \:D/ =D> =D> =D> =D>

    one question and one idea:
    question: I've got some objects added to project and I want to export them into FOB file (not VSO). How can I do this? #-o #-o [-o<

    idea: maybe there should be some table which can allow users to modify keys, which are sended via SendKeys function. for example our czech Navision has got different keyboard shortcuts than english navision, so we must switch languages between czech for testing and english for OM usage.... I think, this could be great advantage [-o< [-o< :wink:
    Martin Bokůvka, AxiomProvis
  • mrQQmrQQ Member Posts: 239
    that's what i meant by saying it needs english language :0 you have to select english language in gui for sendkeys to work properly..

    how do i delete objects?

    so you're saying just send shift+12 to navision isn't enough to open OD? :/
  • janpieterjanpieter Member Posts: 298
    You can also make text constants with ML keyboard shortcuts.
    In a world without Borders or Fences, who needs Windows and Gates?
  • SPost29SPost29 Member Posts: 148
    Martin,
    Thanks for the interest and kind words.
    To export a project's objects as a fob here are the steps:
    From OM main form
    Choose your project
    Object Management menu > projects> Export project Objects as text
    This runs sendKeys looping through the objects in the project and marking and filtering them in Objec t Designer and opening the Export Objects File Dialog in the text export mode. Change the File name to reflect a .fob instead of .txt and change the Save as Type to fob and it will export as a fob.

    There should be a choice also for export as fob It's just not there yet.
    Also this could be done from the project card too.

    I have not worked yet with the multilanguage functions in Navision But That's a great idea.
    I will look into implementing it.
    Thanks for your ideas
    Thanks again,
    Steve

    PS Martin, would you be interested in working on making the Run Object Manager CodeUnit 87505 Multilanguage? That would be a great help.
  • SPost29SPost29 Member Posts: 148
    MrQQ,
    Thanks for your interest.

    Sorry I misunderstood you. You were right it does need the english language for sendkeys I didn't know they were different in other languages (I should get out more :D )
    To delete an object:
    On the main OM form
    Object Management Menu > Objects > Delete
    The reason you would use this is it gives you the option of deleting all the history and the codesafe of the object as well as the object itself.
    Otherwise go to Object Designer and delete as usual.
    Yes shift F12 is enough to open OD, I'm a mouse guy and liked the button :lol: .

    Steve
  • SPost29SPost29 Member Posts: 148
    Hi Jan Pieter,
    Thanks for the suggestion.
    I think I will try this.
    I will see if I can make the sendKey command Text constants and then we can add different languages as people submit the variations they need.

    I think this may be the way to go.
    Steve

    PS Maybe Martin and MrQQ and you and I could collaborate on this.
  • janpieterjanpieter Member Posts: 298
    Maybe you should post an list of all shortcuts that are used and then we can reply with the shortcut of our language. I could do the Dutch language.
    In a world without Borders or Fences, who needs Windows and Gates?
  • janpieterjanpieter Member Posts: 298
    These are the constant values i use in my version management program:

    Name ConstValueNL ConstValueENU
      OBJECTDESIGNER_____NL= +{F12} EU= +{F12} TABLEFILTER_________NL= ^{F7} ENU= ^{F7} FILEMENU____________NL= %B ENU= %F EXPORTMENU_________NL= x ENU= t OPENDESIGNERFROMFORM_______________NL= ^{F2} ENU= ^{F2} OPENDESIGNERFORMOBJECTDESIGNER____NL= %e ENU= %d APPLY___________NL= %t ENU= %a ALLOBJECTS_____NL= %a ENU= %a ALLRECORDS_____NL= ^+{F7} ENU= ^+{F7} SELECTALL_______NL= ^a ENU= ^a
    In a world without Borders or Fences, who needs Windows and Gates?
  • SPost29SPost29 Member Posts: 148
    edited 2005-05-18
    Good idea Jan Pieter,
    Here ya go

    In the current version I am sending these shortcuts directly to sendKeys as a literal strings but

    There is a SendString function which loops through a string and calls sendletter
    A SendLetter function which has a case statement that sendKeys a specific letter or symbol or number.
    I will be using these two functions and text constants in the new version.

    So I need the string equivalent for each of these American English keyboard shortcuts and some Text Constants

    first some definitions

    % = alt
    ^ = cntrl
    + = shift

    +{F12} open OD
    +^{F7} clear filters

    These chose the object type buttons on object designer:
    %B{HOME}^{HOME}{TAB} Table
    %M{HOME}^{HOME}{TAB} Form
    %P{HOME}^{HOME}{TAB} Report
    %O{HOME}^{HOME}{TAB} Dataport
    %C{HOME}^{HOME}{TAB} Codeunit
    XML Port
    Menusuite
    %A{HOME}^{HOME}{TAB} All

    ^HOME
    TAB
    ^ END

    ENTER Enter
    %D open object in design mode

    %R run object
    %N New Object

    F11 compile object

    Labels the text compare file new and old so the equivalent
    I need a word for New and a word for Old.

    a letter for the object types

    T table
    F form
    R report
    D dataport
    C codeunit
    X xml port
    M menusuite

    .txt

    added to a project export in txt _Obj.txt

    Whatever the keyboard shortcuts are on the export file dialog

    Save In
    File Name
    Save as type
    Save



    ^{F1} this marks an object

    %VM this is menu view > marked only

    %FT this is menu file > export

    %el this is menu edit > select all


    This is a start you can explore CU 87505 in case I missed any.
    Steve
  • SPost29SPost29 Member Posts: 148
    Thanks Jan Pieter,
    we crossed in the mail
  • janpieterjanpieter Member Posts: 298
    I presume all F-keys are the same.

    ENU = '{ENTER}' Enter
    NL = '{ENTER}' Enter
    ENU=%D open object in design mode
    NL=%E

    ENU=%(R) run object
    NL=%E
    ENU=%(N) New Object
    NL=%N

    I need a word for New and a word for Old.
    ENU=New
    NL=Nieuw
    ENU=Old
    NL=Oud

    a letter for the object types

    ENU = T table
    NL = T
    ENU = F form
    NL = M
    ENU = R report
    NL = R
    ENU = D dataport
    NL = D
    ENU = C codeunit
    NL = C
    ENU = X xml port
    NL = X
    ENU = M menusuite
    NL = M

    Whatever the keyboard shortcuts are on the export file dialog

    FILE:
    ENU=%F
    NL=%B

    EXPORT:
    ENU=T
    NL=X

    FILENAME:
    ENU=?
    NL=%N

    TYPE:
    ENU=?
    NL=%T

    VIEW
    ENU = %V this is menu view
    NL = %D

    MARKEDONLY
    ENU = M > marked only
    NL = E

    EDIT
    ENU = %e
    NL = %w

    SELECT ALL
    ENU = l this is menu edit > select all
    NL = A

    For the SELECT ALL you might find it more convenient to use the CTRL+A combination, that a lot faster and you wont see the menu.

    SELECT ALL
    ENU = ^A
    NL = ^A

    MIND THAT THE SAVEAS DIALOG USES THE WINDOWS LANGUAGE AND NOT THE NAVISION LANGAUGE #-o

    Try using multiple text constants so you get something human readable like this:

    Sendkeys(FILE + EXPORT)[/b]
    In a world without Borders or Fences, who needs Windows and Gates?
  • SPost29SPost29 Member Posts: 148
    Thanks Jan Pieter,
    I will be implementing this as my next project this week
    Steve
  • DoomhammerDoomhammer Member Posts: 211
    thanks for help with export, it is working great!!!! i overlooked the export option in project menu \:D/ \:D/ \:D/ :whistle:

    i'll write czech keybord shortcuts for localization (thanks to janpieter for listing :-)

    I presume all F-keys are the same.

    ENU = '{ENTER}' Enter
    NL = '{ENTER}' Enter
    ENU=%D open object in design mode
    CSY=%G

    ENU=%(R) run object
    CSY=%R
    ENU=%(N) New Object
    CSY=%W

    I need a word for New and a word for Old.
    ENU=New
    CSY=Nový
    ENU=Old
    CSY=Starý

    a letter for the object types

    ENU = T table
    CSY = B
    ENU = F form
    CSY = M
    ENU = R report
    CSY = P
    ENU = D dataport
    CSY = D
    ENU = C codeunit
    CSY = C
    ENU = X xml port
    CSY = X
    ENU = M menusuite
    CSY = M

    Whatever the keyboard shortcuts are on the export file dialog

    FILE:
    ENU=%F
    CSY=%S

    EXPORT:
    ENU=T
    CSY=X

    FILENAME:
    ENU=?
    CSY=%N

    TYPE:
    ENU=?
    CSY=%T

    VIEW
    ENU = %V this is menu view
    CSY = %Z

    MARKEDONLY
    ENU = M > marked only
    CSY = U

    EDIT
    ENU = %e
    CSY = %A

    SELECT ALL
    ENU = l this is menu edit > select all
    CSY = A

    For the SELECT ALL you might find it more convenient to use the CTRL+A combination, that a lot faster and you wont see the menu.

    SELECT ALL
    ENU = ^A
    ^ = ^A

    MIND THAT THE SAVEAS DIALOG USES THE WINDOWS LANGUAGE AND NOT THE NAVISION LANGAUGE #-o

    Try using multiple text constants so you get something human readable like this:

    Sendkeys(FILE + EXPORT)[/b][/quote]
    Martin Bokůvka, AxiomProvis
  • SPost29SPost29 Member Posts: 148
    Martin,
    Thanks for you input.
    I am working on the multilanguage Run Object Designere Codeunit this week. I'll keep yopu posted on my progress
    Steve
  • janpieterjanpieter Member Posts: 298
    well learned another 2 words of czech. Nice for the next time i visit prague :D
    In a world without Borders or Fences, who needs Windows and Gates?
  • SPost29SPost29 Member Posts: 148
    Hi Jan Pieter,
    You referenced this sendkey

    Sendkeys(FILE + EXPORT)[/b]
    What does the [/b] mean?
    I have had no luck at all trying to send variables to sendkeys.
    I can only send literal strings
    How do i send variables?

    I am using the shell sendkeys

    Thanks
    Steve
  • janpieterjanpieter Member Posts: 298
    Hello Steve,

    Sorry the \b i think its a leftover of trying to get the text in bold. The \b should not be there ... :-k

    What i did is create this function in Navision as kind of wrapper in Navision and that works. lclsShell is a local variable of type automations, subtype 'Windows Script Host Object Model'.WshShell
    SendKeys(Keys : Text[100])
    
    CREATE(lclsShell);
    lclsShell.SendKeys(Keys);
    CLEAR(lclsShell);
    

    Like this i think you shoud be able to send text constants, though i didnt try it.

    Regards
    Jan-Pieter
    In a world without Borders or Fences, who needs Windows and Gates?
  • SPost29SPost29 Member Posts: 148
    Thanks JanPieter,
    I'll try it
    steve
  • SPost29SPost29 Member Posts: 148
    JanPieter,
    The text constants worked great with the wshell.sendkeys(TextConstant)
    Thanks
  • DoomhammerDoomhammer Member Posts: 211
    @spost: thanks for developing multi language functionality :D . If I can help U, then write, what should I do and Iľl try it.

    @janpieter: do U want to know some other czech words? :)
    Martin Bokůvka, AxiomProvis
  • SPost29SPost29 Member Posts: 148
    I have some new objects that address some issues including multi Language. I have uploaded them to the download section but Luc is on vacation til June. if you would like the objects now drop me a line spost@verticalsoft.com and I will email them
    steve
  • janpieterjanpieter Member Posts: 298
    @doomhammer :
    maybe is Czech just such a romantic language as French .. Maybe then it is worth it .. (general chat now) :mrgreen:
    In a world without Borders or Fences, who needs Windows and Gates?
Sign In or Register to comment.