Categorie: reference
Bijgewerkt: 2026-04-08
actionfield workflow actionfield1041
ActionField1041
Beschrijving: Change ArticleGroup on Article. Custom: Nee
Propertiesbewerken
| Property | Type | Accessor |
|---|---|---|
| Article | Article | Root |
| ArticleGroupContext | Context | Optional |
XMLbewerken
<Workflow Name="ActionField1041" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
<Description>Change ArticleGroup on Article.</Description>
<Properties>
<Property Name="Article" Type="Article" Accessor="Root" Direction="In" />
<Property Name="ArticleGroupContext" Type="Context" Accessor="Optional" Direction="In" Default="1" Comment="Only ArticleGroups of this context are selectable (Default 1-Standard)" />
<Property Name="ArticleGroup" Type="ArticleGroup" Accessor="Internal" />
<Property Name="ArticleInventoryMethodUpdatedArticleGroup" Type="Boolean" Accessor="Internal" />
<Property Name="Articles" Type="List[Article]" Accessor="Internal" />
<Property Name="Batches" Type="List[Batch]" Accessor="Internal" />
<Property Name="ChangeInventoryMethod" Type="RequestResult" Accessor="Internal" />
<Property Name="CopyObjectFeatures" Type="RequestResult" Accessor="Internal" Default="Yes" />
<Property Name="ObjectFeatureCount" Type="Int64" Accessor="Internal" />
<Property Name="OldArticleGroup" Type="ArticleGroup" Accessor="Internal" Default="${Article.ArticleGroup}" />
<Property Name="UseOwnInventoryMethod" Type="Boolean" Accessor="Internal" Default="${Article.UseOwnInventoryMethod}" />
</Properties>
<Execution>
<UserContent Name="Pre" />
<SystemDialog Name="DialogSelectArticleGroup" DialogName="SelectDomainObject">
<Parameter Name="EntityName" Direction="In" Value="ArticleGroup" />
<Parameter Name="SelectionListConfiguration" Direction="In" Value="Default" />
<Parameter Name="SqlWhereClause" Direction="In" Value="AgContext = ${ArticleGroupContext}" />
<Parameter Name="DomainObject" Direction="Out" OutputProperty="${ArticleGroup}" />
</SystemDialog>
<When Name="Article.UseOwnInventoryMethod = false" Condition="${Article.UseOwnInventoryMethod} == False && ${Article.RegisterStock} == True">
<When Name="inventory method will be changed" Condition="${Article.InventoryMethod} != ${ArticleGroup.InventoryMethod?}">
<Question Name="Change Inventory Method As well" Type="YesNoCancel" MessageCode="2120" OutputProperty="${ChangeInventoryMethod}">
<Parameter Name="ArticleGroup" Direction="In" Value="${ArticleGroup}" />
<Parameter Name="NewMethod" Direction="In" Value="${ArticleGroup.InventoryMethod?}" />
<Parameter Name="OldMethod" Direction="In" Value="${Article.InventoryMethod}" />
</Question>
<Choose Name="Change?">
<When Name="Still Changing" Condition="${ChangeInventoryMethod} == Yes">
<AddToList Name="Add Article to Articles" List="${Articles}" Item="${Article}" />
<WorkflowCall Name="Article_CheckCreateBatches" WorkflowName="Article_CheckCreateBatches">
<Parameter Name="Articles" Direction="In" Value="${Articles}" />
<Parameter Name="NewInventoryMethod" Direction="In" Value="${ArticleGroup.InventoryMethod?}" />
<Parameter Name="OldInventoryMethod" Direction="In" Value="${Article.InventoryMethod?}" />
<Parameter Name="OriginalDomainObject" Direction="In" Value="${Article}" />
</WorkflowCall>
<WorkflowCall Name="ActionField1088_Article_ChangeInventoryMethod" WorkflowName="Article_ChangeInventoryMethod">
<Parameter Name="DomainObject" Direction="In" Value="${Article}" />
<Parameter Name="InventoryMethod" Direction="In" Value="${ArticleGroup.InventoryMethod?}" />
<Parameter Name="UseAutoAnswerInventoryMethod" Direction="In" Value="True" />
</WorkflowCall>
</When>
<Otherwise Name="Not Changing">
<Assign Name="UseOwnInventoryMethod becomes true" Property="${UseOwnInventoryMethod}" Value="True" />
</Otherwise>
</Choose>
</When>
</When>
<Transaction>
<GetCount Name="Count objectfeatures for article" Type="ObjectFeature" OutputProperty="${ObjectFeatureCount}">
<Filters>
<PropertyFilter PropertyName="Article" Operator="=" PropertyValue="${Article}" />
</Filters>
</GetCount>
</Transaction>
<When Name="HasFeatures" Condition="${ObjectFeatureCount} > 0">
<Question Name="AskCopyFeaturesFromArticleGroupToArticle" Type="YesNo" MessageCode="2370" OutputProperty="${CopyObjectFeatures}">
<Parameter Name="Article" Direction="In" Value="${Article}" />
<Parameter Name="FeatureCount" Direction="In" Value="${ObjectFeatureCount}" />
</Question>
</When>
<Transaction>
<Assign Name="Set new articlegroup" Property="${Article.ArticleGroup}" Value="${ArticleGroup}" />
<Assign Name="Set AddToBillOfMaterials" Property="${Article.AddToBillOfMaterials}" Value="${ArticleGroup.AddToBillOfMaterials?}" />
<When Name="ArticleGroup Changed and previous not Empty" Condition="${OldArticleGroup} != Empty && ${ArticleGroup} != ${OldArticleGroup}">
<WorkflowCall Name="ArticleGroup_UpdateInventoryMethodWhenAllArticlesHaveSameInventoryMethod" WorkflowName="ArticleGroup_UpdateInventoryMethodWhenAllArticlesHaveSameInventoryMethod">
<Parameter Name="ArticleGroup" Direction="In" Value="${OldArticleGroup}" />
</WorkflowCall>
</When>
<Assign Name="Set UseOwnInventoryMethod" Property="${Article.UseOwnInventoryMethod}" Value="${UseOwnInventoryMethod}" />
<GetList Name="Get batches" Type="Batch" OutputProperty="${Batches}" OrderBy="Id" OrderDirection="Ascending">
<Filters>
<PropertyFilter PropertyName="Article" Operator="=" PropertyValue="${Article}" />
</Filters>
</GetList>
<ForEach Name="Loop batches" In="${Batches}" As="Batch">
<Assign Name="Set articlegroup" Property="${Batch.ArticleGroup}" Value="${ArticleGroup}" Comment="command Article_CreateTempBatch is called before the assignment" />
</ForEach>
<WorkflowCall Name="Article_UpdateArticlegroupInventoryMethod" WorkflowName="Article_UpdateArticlegroupInventoryMethod">
<Parameter Name="Article" Direction="In" Value="${Article}" />
<Parameter Name="ArticleInventoryMethodUpdatedArticleGroup" Direction="Out" OutputProperty="${ArticleInventoryMethodUpdatedArticleGroup}" />
</WorkflowCall>
<When Name="Answer is Yes" Condition="${CopyObjectFeatures} == Yes">
<WorkflowCall Name="Article_CopyFeaturesFromArticleGroup" WorkflowName="Article_CopyFeaturesFromArticleGroup">
<Parameter Name="Article" Direction="In" Value="${Article}" />
</WorkflowCall>
</When>
</Transaction>
<UserContent Name="Post" />
<When Name="Change on Article" Condition="${ArticleInventoryMethodUpdatedArticleGroup} == True">
<Message Name="Changed To ArticleInventoryMethod" MessageCode="2116" />
</When>
</Execution>
</Workflow>