I am trying to customize a form for a custom table (50000+). When the form was created, it seems as if it was set to auto-populate the current date if the date field is blank in the table. I would like to disable this feature.
Properties couldn’t do this, and code should never be placed in forms to change data, so what ever was done it was something that shouldn’t be done. You need some one to investigate and find out what was done. Can you talk to the programmer that did it and find out.
I don’t think it actually changes any data - it just populates the field with the current date. Not the best way of doing things, no doubt, because now it is causing confusion.
We’ve reached out to the previous vendor, but they are no longer in our particular region, and worse yet, have no documentation to support their changes.
My main reason for inquiring here was just to gather where this customization might be, since, as you said yourself, it isn’t in the field properties. I assume the only other location would be the C/AL for that particular form, but we don’t have the application builder granule that gives us access to it. If you have any ideas on where else it might be, it would be exceedingly helpful.
If entering the date doesn’t qualify as “changing data” then what would you call that?
The only way that the system date can be entered is through code. It might be on a form, it might be in the table, it might be in any number of other objects. The point is, you don’t have access to the code, so you will have to get your current partner involved to help you with this issue.
The absurdity of having a semantic argument on a forum which has no constructive benefit to the resolution of a situation aside, no data is actually changed. If we close the form, and don’t save it, the autofilled date is never input in the table. We know that much.
If we use the object designer and add that field to another form, it works as expected. The only time the current date is auto populated is if you open it up in this one particular form.
Thus, it is pretty safe to say it isn’t part of the table - and most likely not “any number of other objects”. I think it’s fairly safe to say that it is inherently part of the structure of the form, whether C/AL or otherwise. I was just hoping someone had some insight.
As I already stated, we no longer have a “current partner”.
As above. the date being populated is probably set in some code onopen of the form (it sounds) without a dev license you can’t change it.
Can you create a new form to replace this form? or is there some other coding on this form you need?
Have you tried turning on code coverage - then open the form & then review what the code coverage shows to see when it get’s populated. What date are you talking about? some custom date? why would’nt it always be populated? is this the only function of this custom form, to populate this date?
Some good questions, Savatage. Thank you for your response.
It is a custom date that shows when a particular activity was processed and delivered. Until it is delivered, there isn’t supposed to be a date. For whatever reason, the previous developer had it auto-populate the field when you open the form with the current date. Presumably to save time, however, it is just causing confusion, because people make the assumption that it was processed that day.
I believe it is only this form since I try to add the object to other forms, and it doesn’t get processed similarly.
Let me try Code Coverage. We are still on Navision 4, unfortunately, so I’m not sure what the extent of the debugging tools we have available.
We are in the process of trying to find another developer to start a relationship with. Any recommendations would be great!
Maybe I should have put a smiley face after my comment because I can assure you that it was in all friendliness, so please unbunch your panties and take it easy ok.
I’m one of those people that value the meaning of language, and I think it matters which words you use. You talked about your previous partner, and I suggested you talk to your current partner, two different things in my mind. Before my reply you had not mentioned any of your efforts to eliminate where the process would be, and without that information it could indeed be “in any number of objects”. It could be in field validation code, in table triggers, in a codeunit, heck I’ve even seen forms calling other forms calling functions in reports to pull crap like that to circumvent licensing issues.
Use the debugger to step through the code. It’s under the Tools menu, called “Debugger”. Turn on ‘breakpoint on triggers’ and then activate. Start processing and the debugger should come up, and you can step through the code one line at a time.
The bottom still is: you don’t seem to have access to code, so once you figure out where it is, you’ll still have to find someone who does.
I’m an attorney. I highly value the meaning of language, but I also recognize its interpretive nature. I still contend you were wrong, but that’s irrelevant to me. You misread my response. Along with recognizing the value of language, I am also pragmatic enough to value time.
I appreciate the suggestion to check the debugger. I was able to confirm that the code was indeed in the C/AL attached to the form. My issue isn’t with finding someone with access, rather, I like to know precisely what I’m working with so I can manage our vendors.
Prior to my coming on with this client, they had a bad history of vendors not delivering. Given my technological background, I’ve lent myself to the oversight of this project with the hopes that this go-around we are a bit more successful.
Thanks for your contributions. It is very much valued and appreciated.
I almost can’t let that one go [:)] ← that’s a smiley face see, it’s a joke!
Seriously though, next time you have a question, tell us all the details of your issue in your initial post. Disclosure I think is the term you would use. I know you’re probably used to playing things close to the vest, but we’re all volunteers here, and it would make it much easier to help you if we had known the things you had eliminated before. In the interest of time of course.