SharpSync
  • Welcome
  • Fundamentals
    • Getting Started
      • Registration
      • Landing Page
      • Support
      • Subscription
    • Data Sources
    • Property Mappings
      • Adding Property Mapping
      • Property Mapping Settings
    • Rules
      • Import / Export
        • Append text
        • Calculate number
        • Export manipulation
        • Format as decimal number
        • Prepend text
        • Remove property
        • Replace all instances
        • Replace first instance
        • Round to nearest X
        • Select from JSON
        • Set cell value
        • Set empty cells
        • Text manipulation
      • Display
        • Number between
        • Text contains
        • Text ends with
        • Text evaluation
        • Text is a number
        • Text is exactly
        • Text is in list
        • Text is not a number
        • Text is not empty
        • Text is not in list
        • Text length between
        • Text length is exactly
        • Text maximum length
        • Text minimum length
        • Text not contains
        • Text not ends with
        • Text not starts with
        • Text starts with
      • Advanced Scripting
    • BOM Comparison
    • Data Safety
    • Troubleshooting
      • Duplicate component paths
      • OAuth 2.0
  • Data Sources
    • Autodesk Inventor
    • CSV
      • Getting Started
      • Importing a Bill of Materials (BOM)
    • MS Dynamics 365 Business Central
      • Getting Started
      • Item Fields Json & Internal Names
      • Resource Fields Json & Internal Names
      • List Names For nestedObject Mappings
    • NetSuite
      • OAuth Setup
        • Permissions
      • RESTlet Script Setup
        • SharpSync RESTlet Script
      • Thumbnail Folder Setup
      • Authentication + Configuration
      • Common setup
        • Configure quantity mapping
        • Configure accounts mappings
        • Configure itemType mapping
        • Configure isPhantom mapping
        • Configure subsidiary mapping
        • Configure price mapping
        • Configure Where Used Link mapping
        • Configure thumbnail mapping
        • Read-Only NetSuite Fields
        • Common Mapping Rules
        • Common List names
      • Advanced Bill of Materials
      • Configure Routings
      • Integration tips
      • Troubleshooting
    • Odoo
      • Getting Started
        • Authentication + Configuration
        • Debugging tips
      • Common Setup
        • Map BOM Codes
        • Map BOM Types
        • Map Attribute Values
          • Reading Attributes - Overview
          • Display All Attribute Names
          • Display Single Attribute Values
          • Writing attributes
      • Product Management
      • Hosting Options
      • List Names
      • Permissions
      • Troubleshooting
    • Onshape
      • Getting Started
      • Setting up Derivatives
    • Propel PLM
      • Getting Started
    • SolidWorks
    • SolidWorks PDM
      • Downloading and installing the add-in
      • Configure the add-in
      • Setting up the Solidworks PDM Web 2
      • Troubleshooting
      • Submitting a BOM for update
  • Advanced
    • Derivatives
  • User management
    • User Management
    • Application Permissions
Powered by GitBook
On this page
  1. Fundamentals
  2. Property Mappings

Property Mapping Settings

PreviousAdding Property MappingNextRules

Last updated 2 days ago

To change the settings of each Property Mapping, click on the corresponding mapping gear icon in the Settings column.

Update Data Source On Submit

Verify that the accessor for each Data Source is correct:

  • Example: If you only want the CAD data (Primary Data Source) information to change the ERP/PDM/PLM (Secondary Data Source), then check only the Secondary Data Source checkbox for 'Update Source On Submit'. The opposite direction can be achieved by unchecking the Secondary Data Source and checking the Primary Data Source.

  • If you want both sources to change, check the "Update Source on Submit" checkboxes for both sources.

  • Settings are saved for each Property Mapping.

Rendering

Rendering defines how an accessor/mapping of a value is viewed and accessed in the Bill of Materials view.

Before we go too deep, let's define some terms:

Term
Description

Render type

How the user may interact with the cell

Accessor / Property

The internal name as SharpSync refers to it

Options

An optional configuration option affecting the behavior of a column when the Bill Of materials is displayed

Rendering Types

Changes the behaviour display of the Property Mapping when the Bill of Materials shows on-screen:

Type
Description
Configuration

Checkbox

Renders the data as a checkbox. Supported values are 'true', 'false', '1', '0', 'Yes', 'No'. Anything not in these values are rendered as unchecked.

User interacts via clicking only.

None

Free text

The most common type of data to display. Shows the value as a string on screen.

User interacts by double-clicking, then typing text. You may also paste text

None

Select List

A simple selection box for user specified values. Separate values with a pipe symbol ' | '.

User interacts by double-clicking, then selecting text. You may also paste text

Enter a list of values in the List Items textbox and separate each entry with a vertical Pipe (see example below)

Multi Select List

A selection box for multiple user specified values. Separate values with a pipe symbol ' | '. A user may pick more than 1 value from the list.

User interacts by double-clicking, then selecting text. You may select multiple values. The Data Source to be updated must support multi value fields

Enter a list of values in the List Items textbox and separate each entry with a vertical Pipe

Advanced List

A selection box for complex user specified values. The user must specify the Display Selector, the Value Selectorand the items to pick from.

Items are specified using a JSON array [ {object1}, {object2} ] Selections are made using the value of the Value Selector e.g. if object1contains a key-value pair of { 'id' : 23' , 'name' : 'andries' } Then the value selector will be idand the display selector will be name

User interacts by double-clicking, then selecting text. You may also paste text. An object list displays a value (display selector - that which is displayed), but when you select that value, a different value is used as the value sent to the source (value selector - the value selected as the update value) (see example below)

Enter a list of values in the textbox in the javascript array form

[ {}, {} ]

and separate each entry with a comma (see example below)

Advanced Multi Select List

The same as an Advanced List, but the user can select multiple values.

User interacts by double-clicking, then selecting text. You may select multiple values. The Data Source to be updated must support multi value fields. An object list displays a value (display selector - that which is displayed), but when you select that value, a different value is used as the value sent to the source (value selector - the value selected as the update value) (see example below)

Enter a list of values in the textbox in the javascript array form

[ {}, {} ]

and separate each entry with a comma (see example below)

Url

Displays any text as a url (opens in a new tab when clicked) (Does not check for validity)

None

Rendering options

  • The remaining checkboxes affect the columns' display and interface:

    • Enabled - When unchecked the column will not be visible in the BOM nor any related mapping rule will be processed

    • Read Only - When checked, BOM column will not be editable

    • Show in Totals - The total for that column will be shown in the Totals row at the bottom of the BOM

    • Visible - When unchecked, column will not be visible, but user can unhide from the BOM column context menu

  1. Click Save to finish.

Setting Examples

Example: Custom list of items to select from using Advanced List

  • Rendering type: Advanced List

  • Value selector: id

  • Display selector: refName

  • List items:

    [
       {"id":"182","refName":"My Assembly Form"},
       {"id":"187","refName":"My Item Group Form"},
       {"id":"143","refName":"My Non-Inventory Part Form"},
       {"id":"181","refName":"My Inventory Part Form"}
    ]

Which, when displayed in the UI, looks like this

Given the list above, if the selections would result in the following:

  • Selecting My assembly Form would result in a value of 182

  • Selecting My Item Group Form would result in a value of 187

Example: Custom list of items to select from using Select List

  • Rendering type: Select List

  • List items:

     Plate|Frame|Connector

Which, when displayed in the UI, looks like this

Object list setup example

Expanding on the Object List option, the requirements are:

  • Create an array of javascript objects

  • Specify which key in the json object is your value (the value going to the destination Data Source)

  • Specify which key in the json object is your display value Given the following list of json objects as the input for my Object List Items

[
  {
        "id": "ALU-OX-3HD",
        "displayName": "Alumina Oxide",
        "category": "Ceramic"
    },
    {
        "id": "BR",
        "displayName": "Brick",
        "category": "Ceramic" 
    },
    {
        "id": "CONC",
        "displayName": "Concrete",
        "category": "Ceramic" 
    },
    {
        "id": "FE",
        "displayName": "Ferrite",
        "category": "Ceramic" 
    }
]

The values that I want to see on screen in the selection list would be Alumina Oxide, Brick,Concrete,Ferrite The values that I want to pass to my ERP would be ALU-OX-3HD,BR,CONC,FE

So my values specified in the Object selection list would be:

  • Rendering type: Object list

  • List Value Selector: id

  • List Value Display Selector: displayName

Make sure to also read Property mapping rules

Effective troubleshooting

Property mappings and their associated rules can get complicated based on the number of rules you create and the data being returned. My most effective methodology for troubleshooting has been:

  • Disable all suspected problematic property mappings using the Enabled checkbox option. Retest.

  • Once you've identified the problematic property mapping, disable only the one and enable all other mappings.

  • At the same time disable all rules for the property mapping. Retest

  • Test each rule using the preview option first.

  • Enable each rule successively until you've identified the problem rule.

Property Mapping: Update sources
Property Mapping: Example list