Custom Applications Archives | DMC, Inc. https://www.dmcinfo.com/blog/tag/custom-applications/ Tue, 23 Dec 2025 16:26:46 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 https://cdn.dmcinfo.com/wp-content/uploads/2025/04/17193803/site-icon-150x150.png Custom Applications Archives | DMC, Inc. https://www.dmcinfo.com/blog/tag/custom-applications/ 32 32 Creating SharePoint List Items in Microsoft Flow Using a REST API https://www.dmcinfo.com/blog/21937/creating-sharepoint-list-items-in-microsoft-flow-using-a-rest-api/ Mon, 11 Mar 2019 11:50:20 +0000 https://www.dmcinfo.com/blog/21937/creating-sharepoint-list-items-in-microsoft-flow-using-a-rest-api/ I was recently creating a Flow when I realized that the “Create Item” and “Update Item” actions in Microsoft Flow would not allow me to set the value of a hyperlink field. To overcome this, I used the “Send an HTTP request to SharePoint” action to create the item through a REST API. I have […]

The post Creating SharePoint List Items in Microsoft Flow Using a REST API appeared first on DMC, Inc..

]]>
I was recently creating a Flow when I realized that the “Create Item” and “Update Item” actions in Microsoft Flow would not allow me to set the value of a hyperlink field.

To overcome this, I used the “Send an HTTP request to SharePoint” action to create the item through a REST API.

I have used REST APIs on numerous occasions to overcome limitations of Microsoft Flow; however, I thought a quick instructional on how I did it would be useful as they can seem a little overwhelming to new users.

To begin, create a Flow and get to the step where you would normally use the “Create Item” action.

Create the next step, in the search bar type in “HTTP request,” and select “Send an HTTP request to SharePoint.”

MS Flow HTTP request

Next, fill out all the fields on the action.

  • Site Address: This is the site where the list you are adding an item is located. For example: “https://companyname.sharepoint.com/sites/sitename”
  • Method: Post
  • Uri: _api/web/lists/getbytitle(‘ListName’)/items

When entering the Uri, make sure to replace ‘List Name’ with the name of the list you want to create the item in. If there are any spaces in the list name, replace the spaces with %20. In the example below, you will see that my list name is “Proposals Needing Review” so I entered _api/web/lists/getbytitle(‘Proposals%20Needing%20Review’)/items

  • Headers: enter “content-type” for the key and “application/json;odata=verbose” for the value.
send http request to sp
  • Body: For the body enter the fields and values using JSON. For example:
    	{
    	“Field 1”: “Value 1”,
    	“Field 2”: “Value 2”
    	}
    	
    A couple of things to note:
    • You must place quotation marks around the field and value even if the value is entered using “Dynamic Content”.
    • A hyperlink field must be entered using the following format:
      “Hyperlink field name”:
      {
      
        “_metadata”: {“type”: “SP.FieldUrlValue”},
      
        “Description”: “Description Value”,
      
        “Url”: “Url Value”
      
        }
    • The last field and value must be:
      “__metadata”: { “type”: “SP.Data.MYLISTNAMEListItem” }
      In this example replace MYLISTNAME with the actual name of the list you are creating an item in and replace any spaces in your list name with “_x0020_”. For example, for my list titled “Proposals Needing Review” I have:
      “__metadata”: { “type”: “SP.Data.Proposals_x0020_Needing_x0020_ReviewListItem” }

Your Flow will now create items using the REST API and correctly populate the hyperlink field.

If you continue building your flow, you will realize that you are unable to reference fields from the “Send HTTP request to SharePoint” step as dynamic content.

For example, if I go to update the item using the “Update Item” action and try to pass in the item ID from the “Send an HTTP request to SharePoint” step, the only dynamic content is “Body.” We do not see any of the fields that we passed into the item like Title, ID, etc.…

update item in sharepoint

To access the fields, we need to parse out the fields we entered into the body of the request using the “Parse JSON” action.

To begin, run the flow. From the Flow results page, navigate to the “Send an HTTP request to SharePoint” step and expand it.

  • Scroll down to the Body section and copy everything in the field.
  • Paste it in a text editor to use later.
  • Now go back to editing the Flow and add a new step.
  • Enter jsoninto the search box.
  • Select “Parse JSON” from the list.

In the “Content” field select the Body output from the “Send an HTTP request to SharePoint” step.

Under the “Schema” input select “Use sample payload to generate schema.”

In the popup that appears enter all the JSON you copied from body output on the Flow results page earlier.

parsing json load

When you are finished select “Done.”

If we try to update the item again using the “Update Item” action, we will see that all the fields from the item are now available as dynamic content under the “Parse JSON” step.

Now if we run our flow we can see that it correctly adds the item and populates the hyperlink field.

DMC’s Digital Workplace Solution Team has extensive experience implementing Microsoft Flow solutions in a wide range of industries for a wide range of customers. 

Contact us today to get started on your next Microsoft Flow project. 

Learn more about DMC’s Microsoft Consulting Services.

Learn more about DMC’s Digital Workplace Solutions team.

The post Creating SharePoint List Items in Microsoft Flow Using a REST API appeared first on DMC, Inc..

]]>
Connecting Custom Applications to the Factory Floor https://www.dmcinfo.com/blog/26086/connecting-custom-applications-to-the-factory-floor/ Fri, 18 Dec 2015 10:31:29 +0000 https://www.dmcinfo.com/blog/26086/connecting-custom-applications-to-the-factory-floor/ DMC has expertise in both industrial and PC-based software development. In other words, we do a great deal of projects involving PLCs; but we also write plenty of complex PC-based apps. But my personal favorites are projects that combine the two. We’re seeing them more and more. Don’t get me wrong, off the shelf solutions […]

The post Connecting Custom Applications to the Factory Floor appeared first on DMC, Inc..

]]>
DMC has expertise in both industrial and PC-based software development. In other words, we do a great deal of projects involving PLCs; but we also write plenty of complex PC-based apps. But my personal favorites are projects that combine the two.

We’re seeing them more and more. Don’t get me wrong, off the shelf solutions are great, and should be used wherever they make sense. But sometimes they don’t fit all of the requirements our customers need. Here are some examples I’ve encountered over the past few months where a custom PC app made the most sense in an industrial setting:

1.    A program that automatically parses CAD drawings of a part, and then sends the resulting data to a PLC.
2.    Multiple offsite PLCs sending Ethernet packets over a cellular modem, to a server-side application that received, parsed, and logged the data.
3.    A web-based interface that translate data back and forth between a custom SQL server and multiple PLCs.

So we’ve established there are situations where a custom app makes sense. But how does one write this type of program? What tools are out there to connect the dots? As it turns out, there are plenty! Here are some of my favorites:

Dot Net PLC Toolbox 
Believe it or not, there’s actually a pretty strong community of .NET developers interested in interfacing to PLCs. One of my favorite open-source libraries is the Dot Net PLC Toolbox. This in-depth, free library allows .NET apps to parse PLC projects, as well as communicate, read tags, and go online. Last year I personally was involved with using this toolbox to create an open-source S7 Source Control Utility.

InGear Drivers 
The guys over at InGear have created easy-to-use .NET drivers for Siemens, OPC, and more. Sure, there are free tools available, but sometimes it’s nice to pay for a product just so you have a support team to rely on when you need them.

Jamod
Most of our development is built on .NET, but sometimes client requirements dictate another language like Java. This is where a library like Jamod can be handy. Jamod is a Java library written for Modbus (serial, TCP, or UDP). Since Modbus is such an open protocol, this library makes it easy to connect your Java application to PLCs, drives, smart IO, and more.

TIA Portal Openness 
For Siemens PLCs in particular, there are official tools available to the interested programmer. With the latest version of TIA Portal, Siemens released an API used to interface with PLC programs. This code library allows developers to “automate” their code development by exporting, modifying, and importing TIA projects. I was pretty familiar with their old software, the Command Interface, and was excited to see them release a tool for Portal as well.

Learn more about DMC's .NET and automation intelligence capabilities

The post Connecting Custom Applications to the Factory Floor appeared first on DMC, Inc..

]]>
Occasionally Connected Database Applications with Microsoft Sync Services https://www.dmcinfo.com/blog/29541/occasionally-connected-database-applications-with-microsoft-sync-services/ Tue, 17 May 2011 10:39:00 +0000 https://www.dmcinfo.com/blog/29541/occasionally-connected-database-applications-with-microsoft-sync-services/ It is often desired to have "occasionally connected" applications where a device may not always be connected to a network and that makes the task of maintaining a central data store such as SQL Server 2008R2 consistent across multiple devices and users an extremely challenging task. Fortunately, Microsoft has created Microsoft Sync Services (sync services) to address this problem. Sync […]

The post Occasionally Connected Database Applications with Microsoft Sync Services appeared first on DMC, Inc..

]]>
It is often desired to have "occasionally connected" applications where a device may not always be connected to a network and that makes the task of maintaining a central data store such as SQL Server 2008R2 consistent across multiple devices and users an extremely challenging task. Fortunately, Microsoft has created Microsoft Sync Services (sync services) to address this problem. Sync services is a way of using a local database cache built on Microsoft SQL Server Compact Edition. The desired data is stored in the local database and synchronized back to a central data store. This often means a variant of SQL Server but it is possible to write a synchronization provider for any data source.

If you are using Visual Studio 2010, much of the setup is created for you and is outlined in this walkthrough on Creating an Occasionally Connected Application. I found the lack of consistency in sample databases between the various walkthroughs on this topic confusing but most of the information is there. It is not obvious from the walkthrough that you should connect to the local copy cached copy of your database and then use the synchronize command to synchronize the data back to the central store.

The second thing that wasn't obvious was the need to enable upload explicitly in the code-behind of the sync provider by setting bidirectional mode for the tables which need two-way synchronization. Fortunately, there is a walkthrough for this problem as well in Extending the Local Database Cache to Support Bidirectional Synchronization. Pay particular attention to the section on "Removing Server Tracking Columns from Synchronization Commands" if you are not using SQL Server 2008 or above as you will have to add extra code to prevent synchronization errors.

Finally, you have to handle data conflicts and errors. The first step is to design your architecture such that conflicts are unlikely to begin with but there are still cases in any application where conflicts can occur.  Understanding Data Conflicts and Errors outlines the steps necessary for handling these problems when they arise in your application.

Our latest application to use this functionality is a timer replacement for the Quickbooks timer application. By creating our own application to replace the mid-90s application we were able to give our engineers the ability edit time offline (something the alternative web-based solutions could not do), write our own export code directly into Quickbooks using QODBC which saves an hour a week of management time, and provide custom user interface functions that dramatically improved the time entry process for all of our staff.

Learn more about DMC's Microsoft consulting services.

The post Occasionally Connected Database Applications with Microsoft Sync Services appeared first on DMC, Inc..

]]>
Installing Visual Studio 6.0 on Windows XP or Vista https://www.dmcinfo.com/blog/30173/installing-visual-studio-6-0-on-windows-xp-or-vista/ Tue, 29 Sep 2009 11:28:18 +0000 https://www.dmcinfo.com/blog/30173/installing-visual-studio-6-0-on-windows-xp-or-vista/ One of the more fun, and sometimes challenging aspects of working at DMC are service calls to work on legacy systems, hardware, and software. I have recently been working on a Baldor motion control system with a Visual C++ 6.0 front end. When I first joined DMC, we would implement C++ or VB 6.0 solutions […]

The post Installing Visual Studio 6.0 on Windows XP or Vista appeared first on DMC, Inc..

]]>
One of the more fun, and sometimes challenging aspects of working at DMC are service calls to work on legacy systems, hardware, and software. I have recently been working on a Baldor motion control system with a Visual C++ 6.0 front end.

When I first joined DMC, we would implement C++ or VB 6.0 solutions quite frequently. Now we use the .NET platform, so I have not had Visual Studio 6.0 installed on my laptop for over a year. I ran into some problems during the install. Ultimately, the problem appeared to be Java related:

“javasign.dll was unable to register itself in the system registry”

Here is a fix for this problem:

  1. Download this javacypt.dll file (zip) and extract it.
  2. After extracting the file (javacypt.dll) place it in your system32 directory (C:\windows\system32)
  3. Register the dll:
    • Open up a command prompt by Start -> Run -> type in ‘cmd’ and select OK.
    • Type the command: regsvr32 c:\windows\system32\javacypt.dll
  4. Install Visual Studio 6.0 again.
  5. Don’t forget to install the latest service pack! (6.0)

Learn more about DMC’s software and web development services.

Contact us to get started on your next software development project.

The post Installing Visual Studio 6.0 on Windows XP or Vista appeared first on DMC, Inc..

]]>