I have done a change in my DEV environment (which holds all the Unmanaged solutions) on a solution in which there is the Account entity.
I made a few changes on display text for specific fields (ex: I had a field whose display text was 'Primary Contact', now has been changed to 'Billing Contact').
In DEV, the changes do come up OK after publishing all customizations, but is not updated in the target TEST environment under which I imported the solution as Managed.
I made sure to increment the version # of said solution and schema names have not changed.
Any ideas ? Thanks.
EDIT: In my DEV env. I did export/import translations and changed the display strings/localized labels to support french, the new french label has made it to the target, but the english label has not. (??).
The way solutions are handled within CRM 2011/2013 are that unmanaged solutions sit on top of any managed solutions. It's more than likely you have an unmanaged solution with the account entity included and the "Primary Contact" set as the label.
http://i.msdn.microsoft.com/dynimg/IC443916.png
Alternatively, this could be related to the UR you are presently on. Prior to UR12, this was an issue. To remedy, you can either create a brand new managed solution with this label change or update the roll-up. Unfortunately, incrementing an existing solution doesn't update labels appropriately (prior to UR 12).
https://community.dynamics.com/crm/f/117/t/88156.aspx
Related
I just have one question to make sure I'm doing it the right way.
When creating a field in an existing DAC, the system automatically adds the prefix "usr". From what I understand, this allows Acumatica to know that the field is specific and that it must be kept during a version upgrade.
When we create a new table / DAC (I've never done this before and I'm going to need to), should we add the prefix "usr" as well? If we don't add it, will the specific DAC be taken into account when upgrading?
Thank you in advance for your advice.
(And sorry for my english...)
Usually your DAC name would be prefaced by your Acumatica registered prefix if you are building a vertical for the marketplace as an ISV. For customizations best practice is to use a 2 digit identifier that is an abbreviation related to the tenant followed by the module. For example MTSVCalc could be a calculation table in the service module for My Tenant. More on naming conventions https://help-2020r1.acumatica.com/Help?ScreenId=ShowWiki&pageid=74ee714c-b70a-4f67-8647-329c5b774b2c
After I installed the JAMS product for v2019R1, I notice the field SOOrder.customerOrderNbr has a different label. I assume this happens, due to a graph or cache extension. The client wishes to change the label. Since I do not have the JAMS source code, what is the best way?
I have JAMS installed, but it doesn't change my field name, however, my approach would be to:
Add a new customization project
Put a 2 in the "Level" column
Add Screen SO301000
Locate and change the Display Name to your desired text
Publish your project
The key here is using the 2 in the "Level" column to resolve a conflict. See Acumatica Wiki reference for details
I used some of the Hybris reserved Deployment code and then later changed to non-reserved deployment type codes. Do I need to Initialize the system in-order to reflect the changes with new deployment code or just an Update works. There are many items that deployment code has been changed. Why update doesn't work?
When you use a reserved code in your deployment table, you're likely to add the attributes of your object in an existing table. If you have attributes with the same name, it'll surely be a mess in the table (I don't know how hybris will choose the table type for example).
When you run an update with the good deployment code, it will create a new table which is just fine. The other table which has been used by two objects will still remain potentially broken because hybris won't delete any column.
That's why you should initialize your system to have a clean DB. The issue is that you'll lose all your data.
If you need to migrate data it will be probably quite hard because you must have to look on the broken table and distinguish between the attributes that should not be there and the others. So I hope for you that it's just a dev issue!
Actually i would suggest you to do initialize rather than update more likely that the update will not work for you in this case and probably you will get some error messages saying invalid pk xxxxxxxxxxxx because of unknown typecode yyyy.
As you may know the typeCode (deployment code) is an essential operator for the generation process of PKs in Hybris and thanks to it Hybris can ensure the uniquenessity of the PKs, so even if you change the old typeCode with a new one it's very likely that Hybris will still keep the old typeCode somewhere hence PKs already generated will never be consistent with the new typeCode.
So that's why you should never change the typecode of an item once given.
My suggestion is :
To make a backup of your existing data (you can export it from HMC,
you may take a look at alain.janinm's answer here).
Then initialize your System.
Then re-import the data again.
Note : that typecodes between 0 and 10000 are already reserved for hybris
particular items.
What is the easiest way to change a field with a whole plethora of dependencies?
In the ‘Company’ section when you add a new call, there a field called ‘Summary’ I want to either amend or replace this with a field that has a drop down menu, but when I looked in to it, that field has some 28 dependencies so if I create a new field, how do I ensure I have got this bit right?
Many thanks
Nick
Not sure there is a quick way to do this - especially when you consider that changes would have to be replicated in any other environment you have deployed to, I would suggest:
Make a new field.
Mark the old field as redundant, e.g. add (REDUNDANT) in front of the name.
Work your way through moving dependencies from the old field to the new. When the old field has no dependencies you know your work is complete.
When you import to any other environment the old field will still exist but will be totally unused.
If the original field was populated perform a data migration to populate the new field.
I am new to stackoverflow because I almost never ask questions in forums as there are plenty of questions out there already answered. However my head is about to explode from trying to figure out how to do this app.
First I do this using XCode 4.5.2 for OSX 10.8 deployment of a personal (that is for my use only) double entry accounting software.
Each accounting entry consists of a header of various text fields such as the entry date, a serial number, etc. which I created an Entity called "Entry". Also each such entry has multiple lines such as the various accounts related to that entry, amounts, etc. called an Entity "EntryLine" linked in the model nice and easy.
The thing is that I intended to use text field for the basic header info and below it a linked Table View for each of the line. Being an accounting software there are several checks (validations) that I need to make and I need full control of what is going on. Already tried binding two array controllers, one for each entity and linking the two and saving them to the sqlite file but to no avail!
Now I have an app with just the header up and running by manually getting and setting the info in the top text fields as I please and saving them to the file. But I have no idea how to do the part with the Entry Lines in the Table view. Can I do that manually too or is it better to do bindings through an array controller?
Also tried already with array controller but I get "Table View Cell" when I add a new line in the table. Any ideas on that?
In the Table View there is also an "Account Name" part that is NOT part of the EntryLine entity but my intention is to obtain this information from another entity called "Account" that stores the Account Number and Account Name. On input of the account number that is, the app would skip the name field and move to particulars for input but also bring up the name of the account already inputted. Is this even possible?
Sorry for being a bit vague in my questions but I come from routine program oriented languages and not object oriented one, though I have some Java experience. Any help would be appreciated. No screenshot sorry as I am not yet allowed:(