I'm trying to add the quick process to Acumatica app for sales orders, but when I try to add the container I get this error "sequence contains no matching elements". Am I just using the wrong container?
Here is what I have so far:
update screen SO301000 {
update container "OrderSummary" {
add recordAction "QuickProcess" {
behavior = Void
redirect = True
redirectToContainer = "ProcessOrder"
}
}
add container "ProcessOrder" {
visible = False
fieldsToShow = 2
add field "WarehouseID"
add field "CustomDate"
attachments {
}
}
}
Update it seems that the error happens only when I try to add the field WarehouseID. When I take it out it starts to work, but I do need the field on the app.
Related
I have a request to add the image from a stock item to the picking screen in the mobile app in Acumatica. I took a look at the Mobile Framework documentation but, there doesn't appear to be a way to show an image in the mobile app. Has anybody tried something like this?
TIA!
I don't think there is a control for ImageURL in the mobile app as of now.
However, as long as your screen holds a Header record with Files(attachments) you could still see the attachments(images) in the mobile application.
For this you can take as an example and guidance the EP301020 - Expense Receipt screen:
add screen EP301020 {
openAs = Form
add container "ClaimDetails" {
formActionsToExpand = 1
add layout "ReceiptNumberHeader" {
displayName = "ReceiptNumberHeader"
layout = "HeaderFirstAttachment"
add field "ReceiptNumber" {
forceIsDisabled = True
}
add field "Status" {
forceIsDisabled = True
}
}
add field "DetailsExpenseDetails#Description"
.....................
attachments {
imageAdjustmentPreset = Receipt
}
}
...............
}
See more details about the layout "HeaderFirstAttachment" here:
https://help.acumatica.com/(W(1))/Help?ScreenId=ShowWiki&pageid=bd31e3a8-538f-47d5-84ff-251ca3d03c43
I am trying to add the Send Quote action from the actions menu in the web app to the mobile app. This is on the sales quote screen (CR304500). I followed the documentation from the Mobile Framework guide, and I was able to add other buttons. The code I'm using for the mobile screen is
update screen CR304500 {
update container "QuoteSummary" {
add recordAction "SendQuote" {
behavior = Void
}
}
}
Thank you in advance.
Turns out because it was in the Actions Folder, I had to enter it as follows.
update screen CR304500 {
update container "QuoteSummary" {
add recordAction "SendQuoteActionsFolder" {
behavior = Void
}
}
}
I'm trying to setup a custom screen in the mobile app, and there are a few things that are still a mystery.
One of them is how to get a PXTextEdit field to show multiple lines, or even allow entry into that field without it just highlighting the field and no way to add to it.
The other is how to add a Rich Text control to the mobile app ala the Cases screen. I've tried using the code to add it the way the Cases screen does. I have a PXRichTextEdit field, called 'Details', but this doesn't show up on the mobile app at all:
add field "Details" {
textType = HTML
}
In this context:
add screen AC503000 {
add container "MeetingAgenda" {
add field "MeetingID"
add field "Subject"
add field "Status"
add field "MeetingDate"
add field "MeetingTime"
add field "Details" {
textType = HTML
}
add recordAction "Save" {
behavior = Save
}
add recordAction "Cancel" {
behavior = Cancel
}
add recordAction "Delete" {
behavior = Delete
}
}
I've also tried to add a container called "Details" since this shows up in the WSDL file, and that shows a menu item, but takes you nowhere, and sends the app into a tailspin where it can't recover and has to be restarted.
At this point I'm lost as to how to do these two things...
To enable multiline mode, use
add field "Details" { textType = PlainMultiLine }
To show your PXRichTextEdit field try to use {Container Name}#{Field Name} from the WSDL
add field "Details#Details" { textType = HTML }
I have an ASP.NET Core application configured to log to Application Insights. I also have this method that I use to create dependencies within the Application Insights timeline:
private void TestLogOperations()
{
using (IOperationHolder<DependencyTelemetry> topHolder = telemetryClient.StartOperation<DependencyTelemetry>("TopOperation"))
{
logger.LogWarning("top holder log");
using (IOperationHolder<DependencyTelemetry> innerHolder = telemetryClient.StartOperation<DependencyTelemetry>("InnerOperation"))
{
logger.LogWarning("inner holder log");
}
}
}
The operations correclty appear nested within the timeline:
But when I want to filter by dependency (e.g I only want to filter logs within "InnerOperation"), they don't show up in the dropdown, only the top request operation is shown (localhost:5000 | POST User/Post):
I know it's possible to filter by dependencies because I've worked with projects that did it, but how do I do it?
As per my test, this is the default behavior for DependencyTelemetry.
If you want to show what you want in your post, you should change DependencyTelemetry to RequestTelemetry.
Here is the test code:
private void TestLogOperations()
{
using (IOperationHolder<RequestTelemetry> topHolder = telemetryClient.StartOperation<RequestTelemetry>("TopOperation1"))
{
//telemetryClient.TrackTrace("top holder log 111");
_logger.LogWarning("top holder log 1");
using (IOperationHolder<RequestTelemetry> innerHolder = telemetryClient.StartOperation<RequestTelemetry>("InnerOperation1"))
{
//telemetryClient.TrackTrace("inner holder log 1 111");
_logger.LogWarning("inner holder log 1");
}
}
}
And the test result:
I am getting the following error when i try to update the item's name in the sharepoint
document library. The item is of type document set and its default values is loaded using javascript. In the Item added event we are updating with the new changed item's name value. But in the item.update() code statement i am getting following error.
The File CZY14389 has been modified by domain\username on current date.
Please provide your commens on resolving this.
You cannot change the name of a sharepoint document like that. You need to "move it".
Item.Update();
Item.File.MoveTo(Item.ParentList.RootFolder.Url + "/" + newFileName, false);
Item.File.Item["FileRef"] = newFileName;
Item.File.Update();
before you update item name and call item.update(), can you try to refresh your item like this:
item = item.ParentList.GetItemById(item.ID);
item.name = "xyz";
item.update();
this can sometimes happen in event handler. the problem is the updation process in the event handler is not as the same of the workflow. In event handler for updating you have to use the followitn steps. Dont use Item.Update() as in workflow.
Follow the steps:
• call and disable event firing before your code with : base.EventFiringEnabled = false;
•update your item by calling item.systemUpdate(false);
•enable event firing with : base.EventFiringEnabled = true;
Disable event firing and call your update code, dont forget to enable event firing.
HandleEventFiring handleEventFiring = new HandleEventFiring();
handleEventFiring.DisableHandleEventFiring();
try
{
item.Update();
//if item.Update doesnt work then use(For me item.update worked only on my local not on prod then i used the below)
//item.SystemUpdate(false)
}
finally
{
handleEventFiring.EnableHandleEventFiring();
}
public class HandleEventFiring : SPItemEventReceiver
{
public void DisableHandleEventFiring()
{
//obsolete
//this.DisableEventFiring();
this.EventFiringEnabled = false;
}
public void EnableHandleEventFiring()
{
//obsotete
//this.EnableEventFiring();
this.EventFiringEnabled = true;
}
}