Discussions
PUT /api/ItemPrice/{ItemPriceId} results in error
If I do a get call on the endpoint I receive the following.
```json json
{
"$type": "Asi.Soa.Commerce.DataContracts.ItemPriceData, Asi.Contracts",
"ItemPriceId": "CHAPEV75/REG:Standard:00000000-0000-0000-0000-000000000000:USD",
"Item": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts",
"ItemId": "CHAPEV75/REG"
},
"PriceSheet": {
"$type": "Asi.Soa.Commerce.DataContracts.PriceSheetSummaryData, Asi.Contracts",
"Description": "",
"Name": "",
"PriceSheetId": "Standard"
},
"Currency": {
"$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode": "USD",
"DecimalPositions": 2
},
"SalesUom": {
"$type": "Asi.Soa.Commerce.DataContracts.UomSummaryData, Asi.Contracts",
"UomId": "00000000-0000-0000-0000-000000000000",
"Name": "",
"Description": ""
},
"DefaultPrice": {
"$type": "Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Amount": 99.0000,
"Currency": {
"$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode": "USD",
"DecimalPositions": 2
}
},
"IncomeAccount": {
"$type": "Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts",
"GLAccount": {
"$type": "Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts",
"GLAccountCode": ""
}
},
"SpecialPriceRules": {
"$type": "Asi.Soa.Commerce.DataContracts.SpecialPriceRuleDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Commerce.DataContracts.SpecialPriceRuleData, Asi.Contracts",
"SpecialPriceRuleId": "NM:EarlyFee",
"Name": "NM:EarlyFee",
"Description": "Non-Member",
"EndDate": "0001-01-01T00:00:00",
"Amount": {
"$type": "Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Currency": {
"$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode": "USD",
"DecimalPositions": 2
}
}
},
{
"$type": "Asi.Soa.Commerce.DataContracts.SpecialPriceRuleData, Asi.Contracts",
"SpecialPriceRuleId": "NM:LateFee",
"Name": "NM:LateFee",
"Description": "Non-Member",
"EndDate": "0001-01-01T00:00:00",
"Amount": {
"$type": "Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts",
"Currency": {
"$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts",
"CurrencyCode": "USD",
"DecimalPositions": 2
}
}
},
{
"$type": "Asi.Soa.Commerce.DataContracts.Pricing.LegacyPriceRuleData, Asi.Contracts",
"RuleCustomerType": "NM"
}
]
}
}
```
When I copy the result to the body, update the call to a PUT, change the default price amount, add the ItemPriceId at the end of the url reguardless if it is url encoded I get a 500 error.
Posted by Nicholas B Wimsatt about 7 hours ago
Adding some text to a Page Content containing a Single Sign-On iPart
Hi,
We are trying to add some text on a page content containing a Single Sign-On iPart (the one where you select a client application for a SSO connection).
Since the redirection takes 10-15 seconds to process, we would like to add a text like "Please wait while we redirect you". Adding a Content Html to the page doesn't work, it seems that this content get ignored or erased when we are browsing the page and the redirection is being processed. Does someone have an idea on how to make it work?
We are still on version 20.2.66.1330.
Thanks.
Posted by Martin Dignard 1 day ago
iMIS Power BI Integration
Hi,
Is it possible to integrate iMIS with PowerBi. So that PowerBi reports and dashboards can be made from live iMIS data. If yes, how difficult is it to setup.
Kind regards,
Jim
Posted by George Jim 4 days ago
Convert a large list of dropdown values for a general lookup table into iMIS
How can we convert a large list of dropdown values for a general lookup table into iMIS instead of manually entering them in iMIS?
Posted by Sheela Patil 23 days ago
Member Engagement Director
How do I give a temporary password in IMIS.
Give me the steps
Posted by Beverly Harp about 1 month ago
Adding a simple React application as a custom ipart
I'm having trouble adding a custom ipart using React into imis. I've followed the documentation for at <https://developer.imis.com/docs/developing-a-client-based-ipart> as well as looked at this post <https://developer.imis.com/discuss/60496efdc703ae0064f710b1>.
After I've created the React app, I ran the "npm run build command". Zipped the created build folder and uploaded the document to iMIS into the document system in RiSE under the created iPartSource folder. I've then created a new content type folder called "Custom"
I've created a .env file and added: PUBLIC_URL: "~/iPartSource/build.zip" and added 'homepage: "\*"' to package.json
But when I add the custom iPart to a page it displays this :

Any help is greatly appreciated.
Thanks,
William
Posted by William about 2 months ago
ItemPrice API not working
Pulled the get request from the documentation and ran on our test site and it's not returning the list of item Prices
const options = {method: 'GET', headers: {accept: 'application/json'}};
fetch('<https://yourorgsite.com/api/ItemPrice'>, options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
instead I get an error response
`{
"$type": "Asi.Soa.Core.DataContracts.ValidationResultsData, Asi.Contracts",
"Errors": {
"$type": "Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.ValidationResultData, Asi.Contracts",
"Message": "Criteria must contain at least one that tests ItemId for equality."
}
]
},
"Warnings": {
"$type": "Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts",
"$values": \[]
}
}`
I was just trying to get the JSON response to see what was wrong with my POST request JSON object as it's giving me 400 error.
Posted by Brent Coleman 3 months ago
Secret switch to make 1.0.1 REST API return normal JSON
I remember one of the ASI developers telling us about a header you could include when making a request of the .../IQA endpoint which would cause it to return the output in "normal" JSON format. Much like the difference in output between the .../IQA and .../Query endpoints in 20.3, discussed at <https://developer.imis.com/docs/migrating-from-iqa-to-query-service-endpoint>.
I've scoured my notes and this site, and can't find it anymore. Does anyone recall?
Desired output snippet:
```
{
"$type": "System.Dynamic.ExpandoObject, System.Core",
"Name": "Aaron Ketterling",
"PrimaryOrganizationName": "Bureau of Meteorology - South Australia",
"Title": ""
}
```
Default output snippet:
```
{
"$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts",
"EntityTypeName": "59",
"Properties": {
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "ResultRow",
"Value": "6"
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "Name",
"Value": "Aaron Ketterling"
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "PrimaryOrganizationName",
"Value": "Bureau of Meteorology - South Australia"
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "Title",
"Value": ""
}
]
}
}
```
Posted by Bruce Wilson 4 months ago
Finance - Batch exporting
We are currently exporting batches by batch into MYOB using a macro to convert the file. I am inclined to change this to "export by detail" (each journal entry (debit and credit) line will be exported and organized by date, Financial entity, and then by overall journal entry in the order the transactions were processed in iMIS. The greatest amount of information is returned using this option.)
Could anyone please share their experience with this option and the pros and cons of exporting in detail?
Could anyone please share their experience with changing over from exporting by batch to exporting by detail?
Were there any problems encountered with converting via the macro for MYOB? ie did a new macro need to be created?
Thank you
Posted by Jacquie Allen 7 months ago
REST API: System.Data.ObjectNotFoundException: Item to be saved not found in identity map
Hi - this is iMIS 2017 (20.2.66.1330).
I have a business object called TestFreightRate composed of all the columns of the Freight_Rate table except for timestamp. If I try to update a record in the REST API, I'm getting a 500 Internal Server Error response.
I'm doing a PUT to this API path:
/api/TestFreightRate/~UPS-Ground|1|002
See attached screenshots of the business object, API GET request, API PUT request, and the error message from the event viewer on the web server. Here's the stack trace:
```
System.Data.ObjectNotFoundException: Item to be saved not found in identity map.
at Asi.Soa.Core.Domain.PersistenceStrategyBase.RetrieveIdentityItem(IdentityData identityData)
at Asi.Soa.Core.Persistence.BusinessPersistenceStrategyBase.SaveChanged(Object entityInstance)
at Asi.Soa.Core.Domain.Repository.PersistChanged(Object entityInstance)
at Asi.Soa.Core.Domain.UnitOfWork.Persist()
at Asi.Soa.Core.Domain.UnitOfWork.Commit()
at Asi.Services.Core.EntityServiceToCommonServiceAdapter1.Update(TDataContract dataContract)
at Asi.Services.Core.EntityServiceToCommonServiceAdapter1.Update(Object dataContract)
at Castle.Proxies.Invocations.ICommonService_Update.InvokeMethodOnTarget()
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Shared.Aspects.CacheAspect.Intercept(IInvocation invocation) in C:\\Builds\\208\\ScrumV3\\sp137_Main10\\Sources\\MainFoundation\\imis.net\\Packages\\Platform\\Asi.Shared\\Aspects\\CacheAspect.cs:line 62
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Services.Core.Interceptors.CommonSecurityAspect.Intercept(IInvocation invocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Services.Core.Interceptors.ServiceTaskTriggerInterceptor.Intercept(IInvocation invocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Shared.Aspects.PerformanceAspect.Intercept(IInvocation invocation) in C:\\Builds\\208\\ScrumV3\\sp137_Main10\\Sources\\MainFoundation\\imis.net\\Packages\\Platform\\Asi.Shared\\Aspects\\PerformanceAspect.cs:line 55
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Castle.Proxies.ICommonService\\1Proxy_2.Update(Object dataContract)
at Asi.Scheduler.Controllers.CommonServiceController.Put(String entityName, String entityId, Object entity)
```
I realize it's possible to update the record using the api/Freight_Rate endpoint, but due to an idiosyncrasy of our iDMS product, it'd be better if we could update a business object wrapping the Freight_Rate table.
Thanks
Posted by Max 7 months ago