Discussions
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 about 1 year 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 about 1 year ago
Member Engagement Director
How do I give a temporary password in IMIS.
Give me the steps
Posted by Beverly Harp about 1 year 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 :
![](https://files.readme.io/30ffc98-2023-08-02_16-17-45.png)
Any help is greatly appreciated.
Thanks,
William
Posted by William about 1 year 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 about 1 year 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 over 1 year 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 over 1 year 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 over 1 year ago
Adding Registration Option to Event in /api/Event
I am sending a POST/PUT call to api/Event with a registration option but the registration option does not show in iMIS. I placed my JSON body below. Using iMIS version 20.3.121.27.
{
"$type": "Asi.Soa.Events.DataContracts.EventData, Asi.Contracts",
"StartDateTime": "2022-09-27T16:00:00",
"EndDateTime": "2022-09-27T19:00:00",
"Location": {
"$type": "Asi.Soa.Membership.DataContracts.LocationPartyAddressData, Asi.Contracts",
"Name": ""
},
"Capacity": 0,
"AdditionalDescription": "",
"Functions": {
"$type": "Asi.Soa.Events.DataContracts.EventFunctionDataCollection, Asi.Contracts",
"$values": []
},
"RegistrationOptions": {
"$type": "Asi.Soa.Events.DataContracts.OptionEventFunctionDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.OptionEventFunctionData, Asi.Contracts",
"RelatedFunctions": {
"$type": "Asi.Soa.Events.DataContracts.EventRelatedFunctionDataCollection, Asi.Contracts",
"$values": []
},
"AvailableTo": 1,
"EventFunctionId": "EVENT05/REGITEM01",
"EventFunctionCode": "REGITEM01",
"Name": "Registration Option 1",
"Description": "",
"IsEventRegistrationOption": true,
"RegistrationType": 3,
"Category": {
"$type": "Asi.Soa.Events.DataContracts.EventFunctionCategoryData, Asi.Contracts",
"EventFunctionCategoryId": "REG",
"Name": "REG"
},
"Status": "",
"SortOrder": 0,
"StartDateTime": "2022-09-27T00:00:00",
"Capacity": 0,
"MaximumQuantityPerRegistrant": 1,
"Item": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts",
"Description": "",
"ItemClass": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts",
"ItemClassId": "MEETING",
"Name": "MEETING"
},
"ItemCode": "EVENT05/REGITEM01",
"ItemId": "EVENT05/REGITEM01",
"Name": "Registration Option 1"
},
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollectionCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupData, Asi.Contracts",
"ProgramGroupId": "Day/2022-09-27",
"Name": "Tuesday, 27 September 2022",
"Sort": "2022-09-27"
}
]
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
]
},
"ConflictCodes": {
"$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values": []
},
"EventFormSectionId": "",
"FinancialEntityId": "",
"ContinuingEducationCreditInformation": {
"$type": "Asi.Soa.Events.DataContracts.ContinuingEducationCreditInformationDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ContinuingEducationCreditInformationData, Asi.Contracts",
"CreditType": ""
}
]
},
"MinimumAttendance": 0,
"ExpectedAttendance": 0,
"GuaranteedAttendance": 0,
"ActualAttendance": 0,
"Settings": 0,
"AdditionalAttributes": {
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "WebEnabled",
"Value": {
"$type": "System.Boolean",
"$value": true
}
}
]
}
}
]
},
"RegistrationClosedMessage": "Registration is closed.",
"ProgramGroupInfo": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts",
"ProgramGroupInfoId": "Day",
"Name": "Day",
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts",
"ProgramGroupInfoId": "Category",
"Name": "Category",
"AllowFreeFormValues": true,
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts",
"ProgramGroupInfoId": "Track",
"Name": "Track",
"AllowFreeFormValues": true,
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
}
]
},
"EventFormId": "",
"EventFormSectionId": "",
"PublishingInformation": {
"$type": "Asi.Soa.Core.DataContracts.PublishingInformationData, Asi.Contracts",
"StartDate": null,
"ExpirationDate": null,
"Keywords": {
"$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values": []
},
"PublishingState": 0
},
"FinancialEntityId": "",
"NotificationPartyId": "",
"TimeZoneId": "Eastern Standard Time",
"VirtualMeetingUrl": "",
"EventId": "EVENT05",
"EventCode": "EVENT05",
"Name": "Event Series 1",
"Description": "Event Series Description",
"RegistrationType": 3,
"Category": {
"$type": "Asi.Soa.Events.DataContracts.EventCategoryData, Asi.Contracts",
"EventCategoryId": ""
},
"ParentIdentity": {
"$type": "Asi.Soa.Core.DataContracts.IdentityData, Asi.Contracts",
"EntityTypeName": "Public",
"IdentityElements": {
"$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values": [
"Public Groups"
]
}
},
"Status": "A",
"DisplayLayouts": {
"$type": "Asi.Soa.Core.DataContracts.DisplayLayoutDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.DisplayLayoutData, Asi.Contracts",
"LayoutDirectory": "~/EventDetail"
},
{
"$type": "Asi.Soa.Core.DataContracts.DisplayLayoutData, Asi.Contracts",
"LayoutType": 1,
"LayoutDirectory": "~/EventDashboard"
}
]
},
"AdditionalAttributes": {
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "fullAddressAttribute",
"Value": {
"$type": "Asi.Soa.Membership.DataContracts.FullAddressData, Asi.Contracts",
"Address": {
"$type": "Asi.Soa.Membership.DataContracts.AddressData, Asi.Contracts",
"AddressLines": {
"$type": "Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts",
"$values": [
"",
"",
""
]
},
"CityName": "",
"CountryCode": "",
"CountrySubEntityCode": "",
"FullAddress": "",
"PostalCode": ""
},
"CommunicationPreferences": {
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "mail"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "bill"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "ship"
}
]
},
"DisplayName": ""
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "WebEnabled",
"Value": {
"$type": "System.Boolean",
"$value": true
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro1",
"Value": "a"
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro2",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro3",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro4",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro5",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro6",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro7",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro8",
"Value": "b"
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro9",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro10",
"Value": "c"
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "TAX_AUTHORITY",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "TAX_BY_ADDRESS",
"Value": {
"$type": "System.Boolean",
"$value": false
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "VAT_RULE",
"Value": ""
}
]
}
}
Posted by Nicholas B Wimsatt about 2 years ago
Limit on number of fields in a old-customizer table / Business Object
We're seeing numerous errors in the IIS logs (and event viewer) by a third party application (OK, Clowder) calling a UD table. The error is generally something like:
`System.ArgumentException: Error creating a repository for: EntityTypeName: csContact, Exception has been thrown by the target of an invocation. System.ArgumentException: Must specify valid information for parsing in the string.`
The specific endpoint that's failing is: /api/csDemographics
Both of these work: /api/Demographics and /api/vbocsDemographics
There are 105 fields in the table. I need know if
- There are a limit of fields (105 seems high)
- The endpoint they're calling is valid
Thanks
Posted by Jake Bound over 2 years ago