Export Extented Features

CUSTOMTOOLS Export is often associated with special scripts and extensions that do e.g. reporting or ERP communications. Many of those extensions share many common needs that are now possible to fullfil with these Extended Features, by basing the Extension to CTExtensions.ExportCore.ExportHandler.GenericExportHandler and implementing CTExtensions.ExportCore.ExportHandler.ExtendedSettings.ISupportsExtendedSettings. See API Help for more details.

Some features are Export Profile features and some are Export Profile Field features.

Export Profile Extended Features

Group sibling Export Items that identify as the same item Consider having two different parts under the same assembly, but both parts identify as the same item. In that case, it makes sense to group them as one export item i.e. calculate their quantities together. The first non-virtual item sibling is kept and quantities of consequent ones (and previous virtual items) merged into that.
Keep merged items as attachments When grouping, the merged parts/asms/cut-lists/virtual items are added as top-child of the item they got merged into. This gives user visual clue that such merging takes place, but also enables conversions of those merged items being ran and collected as documents of the item.
CustomScope used as Virtual Items Select the CustomScope that has the virtual items data. For Virtual Items to actually identify as items in Export, the Identifier Field setting must be set (Export Profile Field Extended Feature).
Control Export Conversions with a Checkbox When enabled, export will show checkboxes in front of each item. When the checkbox is not checked, conversions of that item are not run during export. Many integrations try to be smart about the conversions and only run them when the item actually has any modifications. However, sometimes it’s desirable to specifically run the conversions and e.g. let the integration to upload new files for the items to the target system. For this, use can manually tick the checkbox before running the Export.
Enable Context Menu BOM Modifiers When enabled, it enables modifying the BOM in non-persistent way by the user, using right click context menu for Items in Export:
Remove All instances of that item are removed all over the BOM, from all configurations; and all child items of that item too, unless the child-item is used in any other parent context.
Excluded from parent BOM Remove the item only from parent BOM.
Promote Promote the component as sibling of its parent. Quantity is adjusted based on original parent's quantity.
Dissolve Same as promoting all its children and then excluding itself. This is useful operation for assemblies that should not be an item with a BOM, but its children should be included in some parent BOM.
Exclude Children Exclude children of the selected item.

Export Profile Field Extended Features

Identifier Field Different row types must be separately identifiable as the same item. E.g. Cut-list items could have a unique “item number” property while parts and assemblies could be identified by “part number” property, and Virtual Items with yet another property. Having such identity is required for many other common features, such as Grouping Sibling items and enabling Virtual Items.
Default value, when empty When the Export field is empty, it can be filled with given default value.
Exclude / Dissolve / Promote, when This option allows automating component exclude, dissolve and promote operations based on field value or parent field value. Exclude removes the component and its child components from the Export. Dissolve promotes child components and then excludes the component i.e. it’s like excluding parent component while keeping its child components. Promote raises a component up one level, as a sibling of its former parent.

It’s important to understand that the rules are applied bottom-up i.e. child components are handled before parents. Promote is only applied once to the structure as otherwise it would cascade up to root. Also the order or operations matter.
The order of operations is: 1. Exclude, 2. Dissolve, 2. Promote.

The value pattern supports following operators:
NOT (!) Match if whatever follows the operator does NOT match.
e.g. !X → is a match for everything else except X.
Wildcard (*) Can be preceding, trailing or both. Wildcard in the middle is not supported.
e.g. *X → is match if value ends with X
e.g. X* → is match if value starts with X
e.g. *X* → is match if value contains X
e.g. !*X* → is match if value does not contain X
OR -operator (|) Separate multiple rules. If even one matches, then the rule is a match.
e.g. Apple*|*Fruit* → is match if starts with Apple or contains Fruit
Parent -operator (^) Match whatever follows with parent row’s field value. Match is always false for parentless rows.
e.g. ^!*Apple|^!*Fruit → is match if parent value does not end with Apple or parent value does not end with Fruit
Border cases:
<empty value> Ignored and not saved.
* = “anything” → match if field has any non-empty value
!* = “not anything” → match if field is empty



Send Feedback


Related Topics

Manage your CUSTOMTOOLS script add-ins with help of the CUSTOMTOOLS Administration Tool