Steps customize report

Hi,
I’m trying to create a DCTL template in order to export in my document the flow of events steps that contain images.
If I use this code
>

<HasValueChecker property="stepContainers">
  <ParagraphBreak/>
  <ForEach ignoreLastSeparator="false" property="stepContainers">
  	<FlowOfEvent/>
  	<!-- wireframe -->
  	<FlowOfEventIterationBlock ignoreLastSeparator="false" includeExtensions="true" includeSteps="true">
  	
  		<HasValueChecker property="stateStepExtensions">
  			<ForEach ignoreLastSeparator="true" property="stateStepExtensions">
  				<ModelElementProperty property="state">
  					<Image alignment="center" keepWithNext="true" maxHeight="12000"/> <!-- maxHeight=12000 to make it can show 2 wireframe in portrait A4 paper -->
  					<ParagraphBreak/>
  					<ParagraphBreak/> <!-- 2 paragraph break to make sure a empty line can be shown between the images -->
  				</ModelElementProperty>
  			</ForEach>
  			
  			<Text alignment="center"> </Text>
  			<DefaultValueChecker flag="false" property="type">
  				<Property alignment="center" property="type"/>
  				<Text alignment="center"> </Text>
  			</DefaultValueChecker>
  			<Property alignment="center" property="name"/>
  			<ParagraphBreak/>
  		</HasValueChecker>
  	</FlowOfEventIterationBlock>
  </ForEach>
  
</HasValueChecker>

the steps are exported but I do not customize the results; if I use a cycle like this the I can customize the report but the images are not displayed in the exported document.

<ForEach property="stepContainers">
    <Property property="name"/>
    <TableBlock>
        <FlowOfEventIterationBlock> <!-- Walk through each step (row) in a scenario -->
            <TableRow>
                <TableCell>
                    <FlowOfEventIndent/> <!-- Apply proper indentation to the current step. You don't have to specify the level of indentation. It's automatically done for you -->
 
                    <Property property="index" foreColor="#848284" style="Table Contents"/> <!-- The step number. We set its foreColor to a lighter one to make it looks like how it looks in Visual Paradigm -->

                    <Text style="Table Contents"> </Text>
                    <ValueChecker property="type" operator="not equals" value="">
                        <ValueChecker property="type" operator="not equals" value="system">
                            <Property property="type" foreColor="#00B200" style="Table Contents"/> <!-- @type here refers to 'control labels' like if, then, elseif -->
                        </ValueChecker>
                        <ValueChecker property="type" operator="equals" value="system">
                            <Property property="type" foreColor="#CA6400" style="Table Contents"/> <!-- @type here refers to SYSTEM -->
                        </ValueChecker>
                    </ValueChecker>
                    <Property property="name" style="Table Contents"/> <!-- The content of step -->
               </TableCell>
            </TableRow>
        </FlowOfEventIterationBlock>
    </TableBlock>
</ForEach>

Anyone can help me?
Thanks
Best Regards
Sabrina

Reference to upper code:

When walking through the steps (rows), you may use following code to generate the wireframe image(s) :

<ForEach ignoreLastSeparator="true" property="stateStepExtensions">
	<ModelElementProperty property="state">
		<Image alignment="center" keepWithNext="true" maxHeight="12000"/> <!-- maxHeight=12000 to make it can show 2 wireframe in portrait A4 paper -->
	</ModelElementProperty>
</ForEach>
1 Like

Thanks a lot Peter, It is clear.
The problem is that if I use the image is printed in the document but I cannot customize any items(i.e. I cannot change the Scenario title or the index steps):
with this code

	<!-- Scenarios -->
	<HasValueChecker property="stepContainers">
		<ParagraphBreak/>
		<ForEach ignoreLastSeparator="false" property="stepContainers">
			<FlowOfEvent/>
			<!-- wireframe -->
			<FlowOfEventIterationBlock ignoreLastSeparator="false" includeExtensions="true" includeSteps="true">
			
	
				<HasValueChecker property="stateStepExtensions">
					<ForEach ignoreLastSeparator="true" property="stateStepExtensions">
						<ModelElementProperty property="state">
							<Image alignment="center" keepWithNext="true" maxHeight="12000"/> <!-- maxHeight=12000 to make it can show 2 wireframe in portrait A4 paper -->
							<ParagraphBreak/>
							<ParagraphBreak/> <!-- 2 paragraph break to make sure a empty line can be shown between the images -->
						</ModelElementProperty>
					</ForEach>
					
					<Text alignment="center"> </Text>
					<DefaultValueChecker flag="false" property="type">
						<Property alignment="center" property="type"/>
						<Text alignment="center"> </Text>
					</DefaultValueChecker>
					<Property alignment="center" property="name"/>
					<ParagraphBreak/>
				</HasValueChecker>
			</FlowOfEventIterationBlock>
		</ForEach>
		
	</HasValueChecker>

I have in output in the document:
Screenshot%20from%202019-05-17%2009-55-29

Instead in order to customize every step output, I read on VP documentation that I can use the iteration by printing every step as table rows:

<ForEach property="stepContainers">
 <Text>Customize Title</Text>
    <TableBlock>

        <FlowOfEventIterationBlock ignoreLastSeparator="false" includeExtensions="true" includeSteps="true"> <!-- Walk through each step (row) in a scenario -->
            <TableRow>
                <TableCell>
                    <FlowOfEventIndent/> <!-- Apply proper indentation to the current step. You don't have to specify the level of indentation. It's automatically done for you -->
 
                    <Property property="index" foreColor="#848284" style="Table Contents"/> <!-- The step number. We set its foreColor to a lighter one to make it looks like how it looks in Visual Paradigm -->

                  
                    <ValueChecker property="type" operator="not equals" value="">
                        <ValueChecker property="type" operator="not equals" value="system">
                            <Property property="type" foreColor="#00B200" style="Table Contents"/> <!-- @type here refers to 'control labels' like if, then, elseif -->
                        </ValueChecker>
                        <ValueChecker property="type" operator="equals" value="system">
                            <Property property="type" foreColor="#CA6400" style="Table Contents"/> <!-- @type here refers to SYSTEM -->
                        </ValueChecker>
                    </ValueChecker>
                 
			 
	
			<HasValueChecker property="stateStepExtensions">
					<ForEach ignoreLastSeparator="true" property="stateStepExtensions">
						<ModelElementProperty property="state">
							<Image alignment="center" keepWithNext="true" maxHeight="12000"/> <!-- maxHeight=12000 to make it can show 2 wireframe in portrait A4 paper -->
							<ParagraphBreak/>
							<ParagraphBreak/> <!-- 2 paragraph break to make sure a empty line can be shown between the images -->
						</ModelElementProperty>
					</ForEach>
					
					<Text alignment="center"> </Text>
					<DefaultValueChecker flag="false" property="type">
						<Property alignment="center" property="type"/>
						<Text alignment="center"> </Text>
					</DefaultValueChecker>
					<Property alignment="center" property="name"/>
					<ParagraphBreak/>
				</HasValueChecker>
					<Text alignment="center"> </Text>
					<DefaultValueChecker flag="false" property="type">
						<Property alignment="center" property="type"/>
						<Text alignment="center"> </Text>
					</DefaultValueChecker>
					<Property alignment="center" property="name"/>
					<ParagraphBreak/>
		
			
                <!--    <Property property="name" style="Table Contents"/>  The content of step -->
               </TableCell>
            </TableRow>
        </FlowOfEventIterationBlock>
    </TableBlock>
</ForEach>

but in this case the images are not printed even if I put the code as you have explained:

Screenshot%20from%202019-05-17%2009-54-30
I can modify the title, the index steps but I cannot print the image included in the step.
I would export the flow events steps with the images and customize them.
How can I do?
Thanks in advance
Best regards
Sabrina

Sorry for late reply.

Please try to use the following code to generate the rows & images:

<?xml version="1.0" encoding="UTF-8"?>
<ElementBaseInitiationBlock>
	<ForEach property="stepContainers">
		<Text>Customize Title</Text>
		<TableBlock>
			
			<FlowOfEventIterationBlock ignoreLastSeparator="false" includeExtensions="true" includeSteps="true"> <!-- Walk through each step (row) in a scenario -->
				<TableRow>
					<TableCell>
						<FlowOfEventIndent/> <!-- Apply proper indentation to the current step. You don't have to specify the level of indentation. It's automatically done for you -->
 							
 						<Property property="index" foreColor="#848284" style="Table Contents"/> <!-- The step number. We set its foreColor to a lighter one to make it looks like how it looks in Visual Paradigm -->
 						<ValueChecker property="type" operator="not equals" value="">
	 						<ValueChecker property="type" operator="not equals" value="SYSTEM">
 								<Property property="type" foreColor="#00B200" style="Table Contents"/> <!-- @type here refers to 'control labels' like if, then, elseif -->
 							</ValueChecker>
 							<ValueChecker property="type" operator="equals" value="SYSTEM">
 								<Property property="type" foreColor="#CA6400" style="Table Contents"/> <!-- @type here refers to SYSTEM -->
 							</ValueChecker>
 							<Text> </Text> <!-- space between Type & Name -->
 						</ValueChecker>
						<Property property="name"/>
						<ParagraphBreak/>
 							
 						<HasValueChecker property="stateStepExtensions">
 						 	<ForEach ignoreLastSeparator="true" property="stateStepExtensions">
	 							<ModelElementProperty property="state">
									<Image alignment="center" keepWithNext="true" maxHeight="12000"/> <!-- maxHeight=12000 to make it can show 2 wireframe in portrait A4 paper -->
									<ParagraphBreak/>
									<ParagraphBreak/> <!-- 2 paragraph break to make sure a empty line can be shown between the images -->
								</ModelElementProperty>
							</ForEach>
	 					</HasValueChecker>

					</TableCell>
				</TableRow>
			</FlowOfEventIterationBlock>
		</TableBlock>
	</ForEach>
</ElementBaseInitiationBlock>

More details
I tested on your code, the image can be generated, but the type/name of the rows are generated 3 and 2 times.

After change to generate the name after the first type, and remove the useless type/name. The problem is solved.

Thank you Peter,
the problem is still there; the difference with your code is that I put the image by means the command ‘+’, you put a wireframe object.
As you can see

in the second case the image is printed.
I don’t know how to solve my problem!
BR
Sabrina

Sorry for the late reply again. :pray:

sorry, I can’t get your meaning.

First, if you use my code without modification, can it show the text + image in the rows?
(I assume it works first…)

Then, what did you modify?
(I don’t understand: that I put the image by means the command ‘+’ )