Click or drag to resize

Product Class

Products are the different items in the enterprise, which can be purchased, stored, sold and depreciated. Entity: Gen_Products
Inheritance Hierarchy

Namespace:  Aloe.EnterpriseOne.Model.General.Products
Assembly:  Aloe.EnterpriseOne.Model (in Aloe.EnterpriseOne.Model.dll) Version: 20.1.3.5
Syntax
public class Product : EnterpriseOneEntityObject, IConversionRatioProvider<MeasurementUnit>, 
	IConversionRatioToBaseProvider<MeasurementUnit>

The Product type exposes the following members.

Constructors
  NameDescription
Public methodProduct
Initializes a new instance of the Product class with specific ObjectTransaction
Top
Properties
  NameDescription
Public propertyABCClass
Product importance classification, where A are the most important and C - the least important products. Usually used as user filtering condition when previewing results of the procurement planning process. [Required] [Default("B ")] [Filter(eq)]
Public propertyActive
True if the product is active, false - not to list in combo boxes for choosing in new documents. [Required] [Default(true)] [Filter(eq)]
Public propertyAllowVariableMeasurementRatios
Allow variable (dynamic) measurement ratios for each transaction. If specified, each store transaction could specify different measurement ratio between the used measurement unit and the base measurement unit. [Required] [Default(false)] [Filter(eq)]
Public propertyBaseMeasurementCategory
The base measurement category for quantities of this product. [Required] [Filter(multi eq)]
Public propertyBaseUnit
Gets the base measurement unit of this product.
Public propertyCargoType
Specifies what type of cargo this product is. Required when generating transportation requisitions. null means unspecified. [Filter(multi eq)]
Public propertyCatalogDescriptionHtml
Full HTML description of the product. Usually used for display on product catalogs, web pages, etc.
Public propertyChangingAttributes
Gets the attributes that are currently changing. Can be used in attribute change event handler to prevent stack overflow.
(Inherited from EditableDomainObject.)
Public propertyCodeAndName
Gets a string consisted of the PartNumber and Name separated by a colon - "{PartNumber}: {Name.CurrentString}".
Public propertyCodes
List of ProductCode child objects, based on the General.Products.ProductCode.Product back reference
Public propertyCostingCurrency
Specifies the currency to use for cost calculations for the product. When null, the base currency for the enterprise company should be used. [Filter(multi eq)]
Public propertyCostingMethod
Specifies the costing method for the product. null means to use the Enterprise Company default. Currently supported methods are: EXP - Explicitly specify lot; AVG - Average cost.
Public propertyCreationTime
Date and time when the Product was created. [Filter(ge;le)] [ReadOnly]
Public propertyCreationUser
Login name of the user, who created the Product. [Filter(like)] [ReadOnly]
Public propertyCustomProperties
Gets the custom properties of the object.
(Inherited from EnterpriseOneEntityObject.)
Public propertyDefaultStoreBins
List of ProductDefaultStoreBin child objects, based on the Logistics.Inventory.ProductDefaultStoreBin.Product back reference
Public propertyDescription
The description of the product.
Public propertyDimensions
List of ProductDimension child objects, based on the General.Products.ProductDimension.Product back reference
Public propertyDistributionChannels
List of ProductDistributionChannel child objects, based on the Crm.Marketing.ProductDistributionChannel.Product back reference
Public propertyDocumentAmounts
List of ProductDocumentAmount child objects, based on the General.Products.ProductDocumentAmount.Product back reference
Public propertyEnterpriseCompany
When not null, specifies that the product is specific to a given enterprise company and may be used only in documents from this enterprise company. [Filter(multi eq)]
Public propertyExpiryPeriodDays
Total default expiry period for the product (in days) from the date of production to the date of expiry.
Public propertyExtendedProperties
Extended properties contain temporary (not persisted) values in the object instance.
(Inherited from EntityObject.)
Public propertyFlushingMethod
Consumption method for work orders. M=Manual, using Consuption Journals, F=Forward (on release), B=Backward (on finish). [Required] [Default("M")]
Public propertyGuaranteePeriodDays
Default guarantee period length in days. 0 means no guarantee. Should be non-null for serviced products and null for the others.
Public propertyId
The unique Id of the entity object
(Inherited from EntityObject.)
Public propertyIntrastatCommodityCode
Product code from the Intrastat Combined nomenclature. Used when creating Intrastat declarations. [Filter(multi eq)]
Public propertyIntrastatSupplementaryUnit
Additional measurement unit from the Intrastat Combined nomenclature. Used when creating Intrastat declarations. [Filter(multi eq)]
Public propertyIsFeatured
Specifies whether the product should be presented at the title space in promotional materials, web pages, etc. [Required] [Default(false)] [Filter(eq)]
Public propertyIsGhost
Returns true when the object is a ghost object
(Inherited from EntityObject.)
Public propertyIsLoaded
Gets a value indicating whether the associated data for this domain object is loaded.
(Overrides EntityObjectIsLoaded.)
Public propertyIsSerialized
True if the parts use/require serial numbers. [Required] [Default(false)] [Filter(eq)]
Public propertyItemString
Gets or sets the value of a data attribute
(Inherited from DomainObject.)
Public propertyItemIDataAttribute
Gets or sets the value of a data attribute
(Inherited from DomainObject.)
Public propertyLineDiscounts
List of LineDiscount child objects, based on the Crm.LineDiscount.Product back reference
Public propertyLots
List of Lot child objects, based on the Logistics.Inventory.Lot.Product back reference
Public propertyLotsIssue
Determines the method by which the lots are automatically issued. The method determines the sequence of the lots: in the order of receipt (FIFO), in the order inverse of receipt (LIFO) or in the order of expiration (FEFO).
Public propertyManufacturingPolicy
Manufacturing policy controls the procurement planing system actions for this product. Allowed values are MTS=Make-To-Stock; MTO=Make-To-Order; ATO=Assemble-To-Order. [Required] [Default("MTS")]
Public propertyMeasurementUnit
Default measurement unit, when creating new documents with this product. [Required] [Filter(multi eq)]
Public propertyMinimalSalesPricePerLot
Minimal allowed price for sales of this product. The price is for one standard lot and in the costing currency of the product. The minimum is enforced upon planning and/or releasing a document. null means that there is no minimal sales price enforcement. [Currency: CostingCurrency]
Public propertyMinimalSalesQuantityBase
Minimal base quantity of this product that has to be specified in any sale.
Public propertyName
Name of the item. [Required] [Filter(eq;like)]
Public propertyNoEvents
Turns on "No events" mode and returns a class, that will turn it off when Disposed. See remarks for more info.
(Inherited from DomainObject.)
Public propertyObjectState
Gets the state of the domain object.
(Overrides EditableDomainObjectObjectState.)
Public propertyOriginCountry
Country from which the product originates (in which the product is produced/cultivated ...). Primarily used for Intrastat reporting. [Filter(multi eq)]
Public propertyPartNumber
Unique part number of the product. [Required] [Filter(multi eq;like)] [ORD]
Public propertyPictures
List of ProductPicture child objects, based on the General.Products.ProductPicture.Product back reference
Public propertyPlanningDemandTimeFenceDays
Period in the future, in which changes to the MPS are not accepted due to the high cost of changing. Demand for the period is calculated based entirely on the customer orders. Abbr. - DTF (null = Default of 30 days).
Public propertyPlanningHorizonDays
Number of days in the future for which to plan the demand and supply (null = Default of 180 days).
Public propertyPlanningTimeFenceDays
Period in the future inside of which changes to the MPS are carefully evaluated to prevent costly schedule disruption. Demand for the period between DTF and PTF is calculated as the bigger of customer orders and sales forecast. Abbr. - PTF. (null = Default of 90 days).
Public propertyPrices
List of ProductPrice child objects, based on the Crm.ProductPrice.Product back reference
Public propertyProductCurrency
Gets the product currency which is the CostingCurrency. When CostingCurrency is null the base currency of the enterprise company is used.
Public propertyProductGroup
The product group, under which the product is categorized. [Required] [Filter(multi eq)]
Public propertyProductType
The type of the product. This also defines whether the product is stocked. null=no specific product type and the product is stocked. [Required] [Filter(multi eq)]
Public propertyPurchaseMeasurementUnit
Default measurement unit to use, when creating new purchase documents with this product. [Filter(multi eq)]
Public propertyPurchaseProductPrices
List of PurchaseProductPrice child objects, based on the Logistics.Procurement.PurchaseProductPrice.Product back reference
Public propertyRepository
Provides access to ProductsRepository repository methods
Public propertyScrapRate
Default scrap rate for the recipe, when this product is used as ingredient. [Required] [Default(0)]
Public propertySerialNumbers
List of SerialNumber child objects, based on the Logistics.Inventory.SerialNumber.Product back reference
Public propertyShortName
Short name of the product. Used for space-constrained devices, like mobile phones, fiscal printers, etc. [Filter(eq;like)]
Public propertyShowInCatalog
Specifies whether to show the product in catalogs, referring to the product group of the product. false=Do not show; true=Show. [Required] [Default(false)] [Filter(multi eq)]
Public propertyStandardCostPerLot
Standard cost for one standard lot of the product in the currency, specified by Costing_Currency_Id. [Currency: ProductCurrency] [Required] [Default(0)]
Public propertyStandardLotSizeBase
The size of a standard lot, expressed in the base measurement unit of the product. Used for Standard_Cost and Standard_Price. [Unit: BaseMeasurementCategory.BaseUnit] [Required] [Default(1)]
Public propertyStandardPricePerLot
Standard sales price (used if no special price is defined) for one standard lot of the product in the currency, specified by Costing_Currency_Id. [Currency: ProductCurrency] [Required] [Default(0)]
Public propertySupplySchemaId
The supply schema to use for the distribution of the product among warehouses. [Filter(multi eq)]
Public propertyTransaction
The EnterpriseOne transaction to which this object is attached.
(Inherited from EnterpriseOneEntityObject.)
Public propertyUpdateTime
Date and time when the Product was last updated. [Filter(ge;le)] [ReadOnly]
Public propertyUpdateUser
Login name of the user, who last updated the Product. [Filter(like)] [ReadOnly]
Public propertyUseLots
Specifies whether the use of lots for this product in store documents is required or is unallowed or is allowed while not required. [Required] [Default("A")]
Public propertyValuationGroup
Valuation group of the product. Used in reconciliations when compensating pluses and minuses. Equal plus and minus amounts within a valuation group are allowed to be compensated with each other for zero net fiscal effect. [Filter(multi eq)]
Public propertyVariants
List of ProductVariant child objects, based on the General.ProductVariant.Product back reference
Top
Methods
  NameDescription
Public methodDelete
Deletes the domain object.
(Overrides EntityObjectDelete.)
Public methodDuplicateObject
Creates a copy of the object.
(Inherited from EntityObject.)
Public methodEquals(Object)
Determines whether the specified Object, is equal to this instance.
(Inherited from EntityObject.)
Public methodEquals(EntityObject)
Indicates whether the current object is equal to another object of the same type.
(Inherited from EntityObject.)
Public methodExecuteBusinessRules
Executes all business rules for the object for the specified BusinessEvent. The validation fails are saved in the event.
(Inherited from EditableDomainObject.)
Public methodGetAggregateParent
Gets the aggregate parent of this entity object. If this is the aggregate root the return value is null.
(Inherited from EntityObject.)
Public methodGetAggregateRoot
Gets the aggregate root entity object. If the entity does not have aggregate parent reference aggregate root is this entity object.
(Inherited from EntityObject.)
Public methodGetDefaultRecipe
Gets the active recipe for the specified date and store.
Public methodGetHashCode
Returns a hash code for this instance.
(Inherited from EntityObject.)
Public methodGetProductDistributionChannelOrDefault
Gets the product distribution channel, which was valid for the specified date and distribution channel.
Public methodGetRatioFromStandardLotToUnit
Gets the conversion ratio from the standard lot of the product to the specified unit.
Public methodGetRatioOrDefault
Gets the conversion ratio for conversion from the specified unit to the specified unit. Returns Zero when the ratio is not available.
Public methodGetRatioToBaseOrDefault
Gets the conversion ratio from the specified unit to the base unit for this provider. Returns Zero if the ratio is not available.
Public methodGetRelatedObjectsForValidation
Gets the related objects which would need validation upon validation of this object.
(Inherited from EntityObject.)
Public methodGetStandardUnitCost
Gets the standard unit cost of the product in the specified measurement unit and currency.
Public methodGetStandardUnitPrice
Gets the standard unit price of the product in the specified measurement unit and currency.
Public methodGetUnitPrice
Gets the unit price of the product in the specified measurement unit and currency.
Public methodIssueWarning(String)
Issues a warning with the specified message.
(Inherited from EditableDomainObject.)
Public methodIssueWarning(ExpressionFuncString, Object)
Issues a warning with the specified message. The message can contain standard string placeholders.
(Inherited from EditableDomainObject.)
Public methodMatchesFilter(DataAccessFilter)
Returns true if this entity object matches the specified filter.
(Inherited from EnterpriseOneEntityObject.)
Public methodMatchesFilter(DataAccessFilter, IBufferRow)
Matches the filter against the specified row and returns the result of the match.
(Inherited from EnterpriseOneEntityObject.)
Public methodRefresh
Refreshes this instance with data from data source. Only objects with ObjectState equal to Unchanged are refreshed.
(Inherited from EntityObject.)
Public methodToString
Returns a String that represents this instance.
(Inherited from EntityObject.)
Public methodToString(String)
Returns a String that represents this instance.
(Inherited from EntityObject.)
Public methodTryGet
Tries to get the specified attribute and returns it or null, when it is not found.
(Inherited from DomainObject.)
Top
Extension Methods
  NameDescription
Public Extension MethodFillAggregateMissingDefaults
Recalculates the default values for all objects in the aggregate.
(Defined by EntityObjectExtensions.)
Public Extension MethodFillMissingDefaults
Executes the late default expression defined in each attribute (if any) if the current value is null or equal to a constant default.
(Defined by EntityObjectExtensions.)
Public Extension MethodFormatString
Converts the object to string based on the format specified.
(Defined by FormatStringExtensions.)
Public Extension MethodGetCurrentQuantityBase
Gets the stored quantity of the product.
(Defined by CurrentBalanceExtensions.)
Public Extension MethodGetExtensibleDataObject
Gets the extensible data object related to the entity object. Can return null if such ExtensibleDataObject doesn't exist.
(Defined by ExtensibleDataObjectExtensions.)
Public Extension MethodGetLotsAvailability
Loads the available lots in order of their issue. The order is determined in the product definition. See LotsIssue.
(Defined by LotsManagement.)
Public Extension MethodGetOrCreateExtensibleDataObject
Returns an ExtensibleDataObject related to the entity object. If such object doesn't exist the object is created in the same transaction.
(Defined by ExtensibleDataObjectExtensions.)
Public Extension MethodGetRatioMeasurementUnit
Gets the conversion ratio for convertion from the specified unit to the specified unit. Throws exception if the ratio is not available.
(Defined by IConversionRatioProviderExtensions.)
Public Extension MethodGetRatioThroughBaseMeasurementUnit
Gets the conversion ratio from the source to the destination unit. The ratio is calculated through the base unit.
(Defined by ConversionRatioToBaseProviderStaticMethods.)
Public Extension MethodGetRatioThroughBaseOrDefaultMeasurementUnit
Gets the conversion ratio from the source to the destination unit. The ratio is calculated through the base unit. If the ratio is not available, Zero is returned.
(Defined by ConversionRatioToBaseProviderStaticMethods.)
Public Extension MethodIsConvertibleMeasurementUnit
Verifies if there is a conversion ratio for convertion from the specified unit to the specified unit.
(Defined by IConversionRatioProviderExtensions.)
Public Extension MethodIsConvertibleToBaseMeasurementUnit
Checks if there is a conversion ratio for convertion from the specified unit to the base unit for this provider.
(Defined by ConversionRatioToBaseProviderStaticMethods.)
Public Extension MethodRecalculateMasterAttributes
Recalculates the values of a master attributes in a master-detail relationship.
(Defined by EntityObjectExtensions.)
Public Extension MethodRecalculateMissingValues
Recalculates the missing values using the first reactive expression of the attributes.
(Defined by EntityObjectExtensions.)
Top
See Also