A new function has been added to DsPData
to open the QueryDialog
using a sequence of Part
s.
New: extend public void queryDialog(Part[] parts) { if (proxy) { if (blockDataProxy == 0) { DsPDataProxyEnv env(this, parts=parts); proxy.queryDialog(env); return; } } dsOpenQueryDialog(parts); }
As of 16.0, preview image support has been implemented for core Part
s and is no longer exclusive to DsPart
s.
As a result, the global constant dsPreviewColumn
has been removed from cm.abstract.dataSymbol
.
A new constant of the column (called partPreviewColumn
) has been added and is registered in cm/core/init/corePartColumns.cm
.
In cm/abstract/dataSymbol/init.cm Removed: public const DsPreviewColumn dsPreviewColumn(); In cm/core/init/corePartColumns.cm Added: public const PartPreviewColumn partPreviewColumn();
For DsFreeformPicklistPart
, basePrice()
has now been implemented.
/** * Base Price. */ public double basePrice() { double base = item.?price(); if (PartSpecial special = getSpecial()) { // replace price with special price if (special.priceReplace) return special.amount; base = special.amount; } return base; }
Due to rising issues with list pricing in 16.0 Major, the following interfaces have been reverted to the 15.5 version:
customListPrice
function in AbsPart
upcharge
function in ProdPart
basePrice
function in AbsPart
basePrice
function in DsPart
upcharge
function accounting for option specials in SpecOption
These changes were originally added to account for the new core PartSpecial
s system.
Impact of changes:
QueryDialog
will not account for special pricing for now (expected 16.0 Patch 1)Those who may be affected include:
PartSpecial
and/or OptionSpecial
systemQueryDialog
AbsPart
/ProdPart
/DsPart
Anyone affected may need to:
The new core QueryDialog
does still account for special part numbers and descriptions as well as special option codes and descriptions. The fields for special pricing have been removed for the time being.
Link to Merge Request with changes
The following function on DsPart
account for PartSpecial
information now.
// adds specialFlattenableKey() to tail of key public str flattenableKey() {}
As of 16.0, preview image support has been implemented for core Part
s and is no longer exclusive to DsPart
s.
As a result, the following changes have been made to DsPart
:
dsPreviewColumn
has been removed from DsPart
s overridePartColumns()
functionpreviewImageUrl()
function overrides the core Part
version and now has an added default parameterOld: public PartColumn[] overridePartColumns() { return [PartColumn: dsPrdCatalogColumn, dsPreviewColumn, dsTagPartColumn ]; } New: public PartColumn[] overridePartColumns() { return [PartColumn: dsPrdCatalogColumn, dsTagPartColumn ]; } Old: extend public Url previewImageUrl() {} New: public Url previewImageUrl(bool generateIfNotFound=false) {} Added: public Image previewImage(sizeI size=cPartPreviewImageSize, bool generateIfNotFound=false, bool regenerate=false) {} Added: public bool allowRenderPreviewImage() {}
The public void queryDialog(Snapper snppr) {}
function has also been changed with the new QueryDialog
implementation. It no longer opens the old DsQueryDialog
implementation
but utilizes the new QueryDialog
.
The following has been changed in DsPData
:
// queryDialog function extend public void queryDialog(Snapper snppr) { if (proxy) { ... } Old: DsQueryDialog(anyFrameWindow, snppr); New: dsOpenQueryDialog(snppr); }
The code of DsSpecOption is now constructed based on the option code instead of the option valueS to fix a bug where the dropdown selection of options in sub-features of numeric order features is not populated in the calculation dialog.
DsPart
Added optional parameter to the constructor for partSourceId
.
Added new constructor for convenience.
Old: public constructor(Snapper snapper, DsPData data, double price, double qty=1) New: public constructor(Snapper snapper, DsPData data, double price, double qty=1, str partSourceId=null) New: public constructor(Snapper snapper, DsPData data, str articleCode, str description, double listPrice, double quantity=1, double inPrice=0, bool flattenable=true, bool group=false, partStyle style=psNone, str flattenableKey=null, bool allowOtherParent=true, str partSourceId=null)
Removed: private str _itemTagInfoKey;
_itemTagInfoKey
has been moved to ProdPart
in cm.abstract.part
.
User modifications to Ind. Tag are part of the flattenable key now when the user turns that setting on.
ItemTagInfo
Methods for managing Ind. Tags were moved to ProdPart
.
DsSpecOption
price
Removed: public double price;
DsRextileLengthPartColumn
is renamed to DsMaterialQtyPartColumn
MR: Rename Textile Length column to Material Quantity
Previous: public class DsTextileLengthPartColumn extends BasicPartInfoTreeColumn New: public class DsMaterialQtyPartColumn extends BasicPartInfoTreeColumn
With the new QueryDialog
, interface has been added to DataSymbol
to opt-in to utilize the new dialog. DataSymbol
s are defaulted to utilize the new QueryDialog
.
Any subclasses of DataSymbol
must opt-out if the new dialog is not to be utilized.
The acceptQuery
function is checked before adding the query context-menu item to a DataSymbol
and the openQueryDialog
function
is utilized to open a QueryDialog
for a DataSymbol
.
The acceptQuery
function returns true
and openQueryDialog
opens the new QueryDialog
.
The following interface has been added to DataSymbol
:
// QueryDialog helper functions Added: public bool acceptQuery() {} Added: public void openQueryDialog() {}