Compiling in object designer resets objects to old version

JonnyDJonnyD Member Posts: 18
Hello everybody!

We found out that there seems to be a bug in the NAV-Client (finsql.exe or ndbcs.dll). This bug results in objects beeing reset to an older version just by compiling them in the Object Designer. The problem only seems to show up when SQL-Server is used. It doesn't appear on the Navison Native Server.

Following Scenario:

1. (Basic Situation):
Two Developers (A and B) are programming on a NAV-Database which is stored on a central SQL Server. Both have the NAV object Designer opened and of course they both are working with a developer licence.

2.
Developer A modifies a NAV-Object (for testing you can modify the documentation trigger of an existing object an write down the current time there). He compiles and saves it within the C/AL-Code-Editor. Then he closes the C/AL-Editor.

3.
Developer B compiles that NAV-Object (the one that was just modified from Developer A) by pressing F11 in the Object Designer.

4.
Developer A (or B) opens this object with the C/AL-Editor. All the changes that were made in 2.) are gone (the documentation trigger is empty again). They were deleted just because Developer B has compiled the object within the object designer!!

I found out that closing and reopening the object designer before F11 is pressed prevents this problem. Anyway - we lost a lot of code because of that (collegues needed to compile all objects - so they erased a lot of changes that were made on that day by other collegues in many objects). Even setting the object cache to 0 KB (closing and restarting the client and starting the whole scenario all over again) does not improve the situation. It seems that the NAV-Client does not check if the somehow cached version of the object (although with object cache = 0 KB so there shouldn't be any caching) is the same as the one within the database before it is compiled and so just overwrites it (dirty read!).

We used SQL Server 2005 (Build 3159) and NAV 4.0 SP3 with Builds 24219 and 25143. The results were all the same.

Have you already experienced this problem? I haven't found any documentation so far?!?
Do you know any other workarounds to prevent this?

Thanks in advance!

Best regards!

Comments

  • TvisTvis Member Posts: 70
    edited 2008-01-25
    Edited
  • kinekine Member Posts: 12,562
    This is a known issue - compiling object which you have in object cache leads to storing the object from cache back into database and thus overwriting changes made by someone other. There were some posts about that...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • ara3nara3n Member Posts: 9,256
    We have built a checkout mod that we use and works out well. No object is overwritten when two developers try to modify the same object.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • garakgarak Member Posts: 3,263
    for developing its better, to switch of the object cache.
    Do you make it right, it works too!
Sign In or Register to comment.