top of page



Any time I spent interacting firsthand with our colleagues around the world, mostly virtual

but also when possible in person. there I could feel the energy and the commitment of everyone.


I've been impressed by the close partnership among the legal and commercial teams responding to customer needs I am proud of my team for working across boundaries and striving for a consistent and principled response for our global customer base.


I remember a lot of moments of impact during the past year.

The most important for me were certainly the exchanges I had with our global organizations.

Small groups, straight talk, discussing challenges and opportunities in a very open setting.

I am really thankful for this.


My moment of impact: introducing our Purpose to all our colleagues this year.

I can clearly feel the excitement to bring the purpose to life. Together, we impact life and health with science, and I can't wait to see what we all can do together.


Working in a fully virtual world has had certain benefits.

One that I feel is the most compelling is the growth in trust within the organization, creating ownership and high-impact culture.


It is not just about making sales but how we can positively make an impact during the pandemic. It's about living up the spirit of caring at MicroSumol


We all have unique skills and that both hard work and inspiration are needed for success.

This year recruiting was challenging but our purpose provided the guiding light.

A warm welcome to our new joiners.


A true mobilize for growth moment was listening to the scientists, that really touched me. They were so deliciated about their work and their science, and at the same time so incredibly humble. Knowing that many people also contributed to their success

really energized me and gave me a great sense of purpose belonging to that team.


No matter where we are in the world, our people our support reaches across borders, across oceans in times of need. Truly inspiring.


What stood out to me is how our team members were spontaneously thanking one another for their support and understanding, and for giving them the space to be the best selves at work and at home. We thrived as a business, and equally as important, we were able to take the time to focus on family, friends and personal well-being.

You cared for each other and that is what brings out the best in all of us. Thank you for making an impact.

10 views0 comments

In this article we will show you how you can have a signature section on the output document and based on a field in the Work Order be able to either show or hide the signature section dynamically.


  1. We will need an output document Designer with the signature section, use the source button to see/add this section


<div class="container">
			<div class="cell-custom">
				<div>
					<table border="0" cellpadding="0" cellspacing="0" width="50%">
						<tbody>
							<tr>
								<td width="30%">
									<span style="font-family:times new roman,times,serif;"><strong>Customer Signature: </strong></span>
								</td>
								<td width="20%">
									<span style="font-family:times new roman,times,serif;">{{$F.SIGNATURE('sig1','Push to Sign','False','150','75')}}</span>
								</td>
							</tr>
							<tr>
								<td colspan="2">
									<span style="font-family:times new roman,times,serif;">Date: {{$F.NOW()}}</span>
								</td>
							</tr>
							<tr>
								<td colspan="2">
									<span style="font-family:times new roman,times,serif;"> </span>
								</td>
							</tr>
							<tr>
								<td width="30%">
									<span style="font-family:times new roman,times,serif;"><strong>Field Service Signature: </strong></span>
								</td>
								<td width="20%">
									<span style="font-family:times new roman,times,serif;">{{$F.SIGNATURE('sig2','Push to Sign','False','150','75')}}</span>
								</td>
							</tr>
							<tr>
								<td colspan="2">
									<span style="font-family:times new roman,times,serif;">Date: {{$F.NOW()}}</span>
								</td>
							</tr>
						</tbody>
					</table>
				</div>
			</div>
		</div>


We will just add another Div around the code from step 1.


<div class="hide_Table"> .... </div>



Finally we will need to add a flag on the CSS style:



<style type="text/css">
	.hide_Table { {{$F.IF($D.Work_Order.Signature_Required__c == false,"display: none;","display: visibility;")}} }	</style>


14 views0 comments

Updated: Dec 14, 2021

One of the biggest challenge with servicemax Go app is that it does not support lightning.

To solve this limitation we need to leverage lightning out app technology.


There are a few components that we must put together in order to make it work.


At high level we will need the following:

  1. Visualforce page with Lightning app.

  2. An aura component

  3. A Sevicemax/wizard button with a parameter (record id) and then link it to the visualforce page.

High Level Structure:




For example


VisualForce page Name : WorkOrderOnlineActionsVF

<apex:page standardcontroller="SVMXC__Service_Order__c" sidebar="false" showHeader="false">
     <apex:includeLightning />
    <div id="WoRestriction"></div> 
 <script>
      // Here 'VfApp' Is Lightning Application Name
    $Lightning.use("c:WorkOrderOnlineActionsApp", function() {
      /* 'LcForVf' is Lightning Component Name which we are Displaying In Vf Page 
       * syntax for create lightning component dynamically :
       * $Lightning.createComponent(String type, Object attributes, String locator, function callback) */
    // WorkOrderOnlineActions -- This is Lightning Out App
    $Lightning.createComponent("c:WorkOrderOnlineActions",
    { 
      // Set Lightning Component Attributes Property before creating Lightning Component In Visualforce page 
        //textColor : "Red",
        //currentUserName : '{!$User.FirstName} {!$User.LastName}' ,
        "recordId" : "{!$CurrentPage.parameters.id}"
    },
   "WoRestriction",
    function(component) {
        // create component Callback, Lightning Component has been Created,
        // Now you can set more lightning Component attributes here,
        // and do more cool stuff here
        component.set("v.recordId" , '{!$CurrentPage.parameters.id}');
    });
 });
 </script>
</apex:page>

Lightning Out App : WorkOrderOnlineActionsApp.app

<aura:application extends="ltng:outApp" >
    <!-- Declaring the aura component (WorkOrderOnlineActions) dependency -->
    <aura:dependency resource="c:WorkOrderOnlineActions"/>  
</aura:application>

Aura Component : WorkOrderOnlineActions.cmp

<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global">
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/> 
    <aura:attribute name="woName" type="string"/>
    <b>Work Order: {!v.woName}</b> 
    <lightning:tabset>
        <lightning:tab label="Chatter">
            <forceChatter:publisher context="RECORD" recordId="{!v.recordId}"/> <br/>
            <forceChatter:feed type="Record" subjectId="{!v.recordId}"/>
        </lightning:tab>
        <lightning:tab label="Routine Maintenance" title="2nd tab extended title">
            <c:Go_RoutineMaintainceLanguage workOrderValId="{!v.recordId}"></c:Go_RoutineMaintainceLanguage>
        </lightning:tab>
        <lightning:tab label="Resources">
            <lightning:formattedUrl value ="https://xxxxxxxx.sharepoint.com/sites/xxxxxxxxx/Pages/Home.aspx" label="Field Service Support"/> 
        </lightning:tab>
    </lightning:tabset>
</aura:component>






40 views1 comment
bottom of page