• Sharp BE
  • NEWBIE
  • 30 Points
  • Member since 2017

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 11
    Questions
  • 6
    Replies
Google chart not presenting data
We are creating a visualforce page which contains a Google chart displaying entered data. 2 colums are currently added (2 budget fields) and the rows are the correct API.

With the following code I'm not getting anything out of my graph. Can someone help me out what I'm doing wrong here?

Visualforce page:
<apex:page Controller="BudgetGraphController">
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
        // Load Google Chart
      google.charts.load('current', {'packages':['line']});
      google.charts.setOnLoadCallback(drawChart);

      var bdgtData; //Variable to store data
      // Call remote action method
      BudgetGraphController.getBudgetData(function(result, event){
          bdgtData = result; //get data from Apex controller
          },{escape:true});
      
      // Draw Google chart
      function drawChart() {
          //Create the data table
      var data = new google.visualization.DataTable();
      data.addColumn('number', 'Budget Engineering');
      data.addColumn('number', 'Budget Project Management');

		//Add datatable rows
        for(i = 0; i< bdgtData.length; i++){
            data.addRow([bdgtData[i].Budget_Engineering__c, bdgtData[i].Budget_Project_Management__c]);
        }

        var options = {
          title: 'Project Budget',
          curveType: 'function',
          legend: { position: 'bottom' }
        };

        var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));

        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="curve_chart" style="width: 900px; height: 500px"></div>
  </body>
</apex:page>
Apex Controller:
global with sharing class BudgetGraphController {
     
    @RemoteAction
    global static List<Budget__c> getBudgetData(){
        List<Budget__c> bdgtGroupList = [Select Budget_Engineering__c, Budget_Project_Management__c From Budget__c];
        return bdgtGroupList;
    }
}


 
Could someone help me out with kickstarting me with writing an Apex Class which acts as a controller for a Highchart class in a Visualforce page.

The graph will be displayed in a customer object "Project__c" and will need to visualize it's associated budget allocation from the Project Manager. 
X-Axis will represent a field called "Timing_c" and the Y-Axis will represent 3 diffrent currency fields.

How do I need to start with this data table? Is there any tutorial guiding me how to kickstart this programming? I really want to learn this, but not sure where to start.

Thanks in advance!

Visualforce page in its current state:
<apex:page Controller="BudgetGraphController">
        <head>
            <apex:stylesheet value="{!URLFOR($Resource.dataTable, '/dataTable/jquery.dataTables.min.css')}"/>
        <apex:includeScript value="{!URLFOR($Resource.dataTable, '/dataTable/jquery-1.12.4.js')}"/>
        <apex:includeScript value="{!URLFOR($Resource.dataTable, '/dataTable/jquery.dataTables.min.js')}"/>
        <script src="https://code.highcharts.com/highcharts.js"></script>
        <script src="https://code.highcharts.com/modules/xrange.js"></script>
        <script src="https://code.highcharts.com/modules/exporting.js"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
        <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"/>
        <link rel="stylesheet" href="/resources/demos/style.css"/>
     
    </head>
   <body width="100%">
    <apex:pageBlock title="Project Budget">
       <apex:pageBlockSection >
       </apex:pageBlockSection>
        <div id="container" style="width:100%;height:500px">
<script>
document.addEventListener('DOMContentLoaded', function () {
        var myChart = Highcharts.chart('container', {
            chart: {
                type: 'spline'
            },
            title: {
                text: 'Project Budget Visualization'
            },
            xAxis: {
                categories: ['Apples', 'Bananas', 'Oranges']
            },
            yAxis: {
                title: {
                    text: 'Budget (€)'
                }
            },
            series: [{
                name: 'Jane',
                data: [1, 0, 4]
            }, {
                name: 'John',
                data: [5, 7, 3]
            }]
        });
    });
            </script>
     </div>
            </apex:pageBlock>
    </body>
</apex:page>

 
Dear, 

I'm currently trying to validate if our user's proper upload files true a flow.

When our users will upload a file, the file name will be collected in a text collection variable. The file upload module is limited to only receive .pdf files. 

Whereof in the end flow makes a comparison between the text collection and the string ".pdf". With running the flow, it makes a strange decision.

User-added image

The text collection {!FileNames} equals [2.pdf], compares it with ".pdf". but the conditions weren't met. 

Could someone help me out what I'm doing wrong here? Isn't flow comparing the extension of the files? Or....? 

Thanks in advance!!!
Hi, 

Is there any way you can guarantee that a user uploads a file thru a Flow? 

We currently have a screen component which provides the users with a dropdown option to verifiy the response of the customer. With that we also want to upload the signed off document by the customer. 

With the current File Upload component I don't see a direct option to also validate that a file is really uploaded. Working around with Text Collection variables to store the file names and compare it with "null" doesn't seem to work.

Many thanks in advance!
Hi all, 

Currently we are working with some Visualforce pages where we have a visualization with checkboxes which high level milestones are achieved within a project. 

The initial set-up was created with a Visualforce page embedded in an seperate tab within a Project record (custom object).
Now I want to upgrade this Visualforce page to be more easier to be more user friendly. 

Each time an user updates the checklist they need to click on the "Save" button which is integrated in the Visualforce page. Would it be possible to create a Lightning Component of this set-up so each time that a value changes the record updated automatically only that particular field? So that the user is not required to press the "save" button. 

Converting it to a Lightning Component would be a more visual thing, as embedded Visualforce pages are somewhat not matching with the overall style.

Current Visualforce code:
<apex:page standardController="Project__c" extensions="RPIRequestExtension" sidebar="false" showHeader="false" showChat="false" lightningStylesheets="true">
    
    <apex:form >
    <apex:pageBlock >
        <apex:pageBlockButtons >
            <apex:commandButton action="{!save}" value="Save"/>
        </apex:pageBlockButtons>
        
        <script>function setFocusOnLoad() {}</script>
    
    <style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;border:none;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:3px 20px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:3px 20px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg .tg-fwlz{font-weight:bold;font-size:12px;background-color:#bbdaff;text-align:center;vertical-align:center}
.tg .tg-41g0{font-weight:bold;font-size:12px;background-color:#bbdaff;text-align:center}
.tg .tg-baqh{text-align:center;vertical-align:top}
.tg .tg-mtwr{background-color:#bbdaff;vertical-align:top}
.tg .tg-0e45{font-size:11px;left-margin:-30px}
.tg .tg-0e49{font-size:11px;vertical-align:top;background-color:#fcfdff}
.tg .tg-yw4l{vertical-align:top}
.tg .tg-c7d0{background-color:#bbdaff}
.tg .tg-q19q{font-size:11px;vertical-align:top}
</style>
<center><table class="tg" style="undefined;table-layout: fixed; width: 712px">
<colgroup>
<col style="width: 41px"></col>
<col style="width: 245px"></col>
<col style="width: 63px"></col>
<col style="width: 21px"></col>
<col style="width: 100px"></col>
<col style="width: 200px"></col>
</colgroup>
  <tr>
    <th class="tg-031e"></th>
    <th class="tg-yw4l"></th>
    <th class="tg-031e"></th>
    <th class="tg-yw4l"></th>
    <th class="tg-yw4l"></th>
  </tr>
  <tr>
    <td class="tg-41g0">N/A</td>
    <td class="tg-41g0" colspan="2">Scoping</td>
    <td class="tg-c7d0"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Scope_document_approved_n_a__c}"/></td>
    <td class="tg-0e45">Scope document approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Scope_document_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Project_team_assigned_n_a__c}"/></td>
    <td class="tg-0e45">Project team assigned</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Project_team_assigned__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.High_level_planning_approved_n_a__c}"/></td>
    <td class="tg-0e45">High level planning approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.High_Level_Planning_Approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Project_i_n_a__c}"/></td>
    <td class="tg-0e45">Project invoice in finance file</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Project_invoice_in_finance_file__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-41g0" colspan="2">Concept</td>
    <td class="tg-c7d0"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Product_onboarding_n_a__c}"/></td>
    <td class="tg-0e45">Product onboarding</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Product_onboarding__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.CAPEX_request_approved_n_a__c}"/></td>
    <td class="tg-0e45">CAPEX request approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.CAPEX_request_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-q19q">CAPEX nr.</td>
    <td class="tg-baqh"><apex:inputField value="{!Project__c.CAPEX_nr__c}" style="min-width:100px;max-width:100px;height:17px;text-align:left"/></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Change_request_approved_n_a__c}"/></td>
    <td class="tg-0e45">Change request approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Change_request_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-q19q">CR nr.</td>
    <td class="tg-baqh"><apex:inputField value="{!Project__c.CR_nr__c}" style="min-width:100px;max-width:100px;height:17px;text-align:left"/></td>
  </tr>

  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Validation_plan_approved_n_a__c}"/></td>
    <td class="tg-0e45">Validation plan approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Validation_report_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.All_major_equipment_ordered_n_a__c}"/></td>
    <td class="tg-0e45">All major equipment ordered</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.All_major_equipment_ordered__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Build</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.CVP_approved_n_a__c}"/></td>
    <td class="tg-q19q">CVP approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.CVP_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Production_line_installed_n_a__c}"/></td>
    <td class="tg-q19q">Production line installed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_line_installed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.I_OQ_protocols_prepared_n_a__c}"/></td>
    <td class="tg-q19q">I/OQ protocols prepared</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.I_OQ_protocols_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Commercial_PQ_packaging_materials_n_a__c}"/></td>
    <td class="tg-q19q">Commercial/PQ packaging materials</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Commercial_PQ_pack_materials_ordered__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Production_capacity_planned_I_OQ_PQ_n_a__c}"/></td>
    <td class="tg-q19q">Production capacity planned (I/OQ &amp; PQ)</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_capacity_planned_I_OQ_PQ__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Prep-To-Start</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Training_executed_n_a__c}"/></td>
    <td class="tg-q19q">Training executed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Training_executed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.IOQ_report_n_a__c}"/></td>
    <td class="tg-q19q">IOQ report signed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.IOQ_report_signed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.SOP_WRKI_certified_n_a__c}"/></td>
    <td class="tg-q19q">SOP/WRKI certified</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.SOP_WRKI_certified__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Start-up</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Validation_report_signed_n_a__c}"/></td>
    <td class="tg-q19q">Validation report signed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Validation_report_signed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox value="{!Project__c.Production_hand_over_approved_n_a__c}"/></td>
    <td class="tg-q19q">Production hand-over approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_hand_over_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
</table></center>
    </apex:pageBlock>
    </apex:form>
</apex:page>

 RPIRequestExtension which performs the saves and reloads the pages.
public class RPIRequestExtension {
    ApexPages.StandardController stdCtrl;
    public RPIRequestExtension(ApexPages.StandardController std)
    {
       stdCtrl=std;
    }

    public PageReference save()
    {
        stdCtrl.save();
        return null;
    }
}

Thanks for your feedback!

 
Hi all, 

I was just implementing Quip from a test in Trailhead directly into our production org. 
With installing the Quip connect from the app exchange and placing the "Quip Documents" component in our page lay-out. The component gives me the following error:
"Your Quip-account on currently linked with another Salesforce org. Do you want to link this org with your Quip-account *button*".

Hitting the link button will make the component invisible. After reloading the page the component will show back up with the same error. 

Did anyone had the same issue? Or already solved this one? 

Thanks in advance!
Hi all,

Currently I'm trying to migrate our Classic Visualforce page into Lightning but i'm having some troibles with the CSS styling we had included on our apex:inputfield(s). 

With adding the lightningStylesheets="true" in the apex:page the width of the apex:inputfields are ignored. What is a possible workaround here?
Is the browser default values overwriting my custom CSS styling? This is holding us back from fully migrating into Lightning. 

Thanks for the help!
 
<apex:page standardController="Quotation__c" extensions="RPIRequestExtension" sidebar="false" showHeader="false" showChat="false" lightningStylesheets="true">
    <apex:form >
    <apex:pageBlock >
        <apex:pageBlockButtons >
            <apex:commandButton action="{!save}" value="Save" onclick="tempDisableBeforeUnload = true;"/>
        </apex:pageBlockButtons>

<script>function setFocusOnLoad() {}</script>

<style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;border-color:#ccc;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#fff;border-top-width:1px;border-bottom-width:1px;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;border-color:#ccc;color:#333;background-color:#f0f0f0;border-top-width:1px;border-bottom-width:1px;}
.tg .tg-baqh{text-align:center;vertical-align:top;width:100px}
.tg .tg-b63h{text-align:center;background-color:#ecf4ff;vertical-align:top;width:100px}
.tg .tg-c57o{background-color:#ecf4ff;vertical-align:top}
.tg .tg-calz{font-weight:bold;background-color:#ecf4ff;text-align:center;vertical-align:top;width:100px}
.tg .tg-n1j6{background-color:#ecf4ff;text-align:right;vertical-align:center;font-size:12px}
</style>
<center><table class="tg" style="undefined;table-layout: fixed">
<colgroup>
<col style="width: 211px"></col>
<col style="width: 111px"></col>
<col style="width: 111px"></col>
<col style="width: 111px"></col>
<col style="width: 111px"></col>
<col style="width: 111px"></col>
<col style="width: 111px"></col>
</colgroup>
  <tr>
    <th class="tg-c57o"></th>
    <th class="tg-calz">Scope</th>
    <th class="tg-calz">Concept</th>
    <th class="tg-calz">Build</th>
    <th class="tg-calz">Prep-to-start</th>
    <th class="tg-calz">Start-up</th>
    <th class="tg-calz">Aftercare</th>
  </tr>
  <tr>
    <td class="tg-n1j6">Phase Time (In weeks)   </td>
    <td class="tg-b63h"><apex:inputField value="{!Quotation__c.Length_of_scope_phase__c}" style="width:75px;text-align:center" /></td>
    <td class="tg-b63h"><apex:inputField value="{!Quotation__c.Length_of_concept_phase__c}" style="width:75px;text-align:center" /></td>
    <td class="tg-b63h"><apex:inputField value="{!Quotation__c.Length_of_build_phase__c}" style="width:75px;text-align:center" /></td>
    <td class="tg-b63h"><apex:inputField value="{!Quotation__c.Length_of_prep_to_start_phase__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-b63h"><apex:inputField value="{!Quotation__c.Length_of_startup_phase__c}"  style="width:75px;text-align:center"/></td>
    <td class="tg-b63h"><apex:inputField value="{!Quotation__c.Length_of_aftercare_phase__c}"  style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Project Management   </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PM_EST_SCOPE__c}" style="width:75px;text-align:center" /></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PM_EST_CONC__c}" style="width:75px;text-align:center" /></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PM_EST_BUILD__c}" style="width:75px;text-align:center" /></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PM_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PM_EST_START__c}"  style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PM_EST_AFTER__c}"  style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Serialization Coordinator </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SECO_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SECO_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SECO_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SECO_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SECO_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SECO_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Serialization Engineer </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SE_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SE_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SE_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SE_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SE_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.SE_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">HSE </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.HSE_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.HSE_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.HSE_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.HSE_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.HSE_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.HSE_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Validation </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.VAL_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.VAL_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.VAL_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.VAL_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.VAL_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.VAL_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Incoming Inspection </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.INC_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.INC_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.INC_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.INC_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.INC_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.INC_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr> 
    <tr>
    <td class="tg-n1j6">Quality </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.QA_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.QA_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.QA_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.QA_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.QA_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.QA_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Project Engineering </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ENG_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ENG_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ENG_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ENG_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ENG_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ENG_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Technicians </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.TEC_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.TEC_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.TEC_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.TEC_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.TEC_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.TEC_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Customer Care </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.CC_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.CC_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.CC_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.CC_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.CC_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.CC_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Artwork </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ART_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ART_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ART_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ART_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ART_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.ART_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Business Support </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.BSO_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.BSO_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.BSO_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.BSO_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.BSO_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.BSO_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Warehouse </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.WAR_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.WAR_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.WAR_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.WAR_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.WAR_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.WAR_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
<tr>
    <td class="tg-n1j6">Operators </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.OP_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.OP_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.OP_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.OP_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.OP_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.OP_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">Production Supervising </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PS_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PS_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PS_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PS_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PS_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.PS_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
  <tr>
    <td class="tg-n1j6">IT </td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.IT_EST_SCOPE__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.IT_EST_CONC__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.IT_EST_BUILD__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.IT_EST_PREP__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.IT_EST_START__c}" style="width:75px;text-align:center"/></td>
    <td class="tg-baqh"><apex:inputField value="{!Quotation__c.IT_EST_AFTER__c}" style="width:75px;text-align:center"/></td>
  </tr>
</table></center>
</apex:pageblock>
</apex:form>
</apex:page>

 
Hi all,

We are currently preparing our live org to do the full transistion to Lightning. 
Thereby I'm currently exploring if all the current functions we have in place in Classic are also functioning in Lightning. 

Now I came with a issue that we have with an embedded VisualForce page which is integrated in the record page of custom object. As I'm opening the details of that record page my cursos will automaticly jump to the first cell which is presented in the VisualForce page. The annoying on this issues is that this visualforce page is at the very bottom of each page and thereby scrolls down each time we are opening it. 

Is there someone who knows a solutions for this kind of issue, that openining the record page won't trigger the cursor to go straight to the first cell?

Thanks! 
Hi all,

Currently I'm trying to figure out how I can populate a custom field (Project__c.Last_Modified_Date_VF__c) with a Date/Time value when a embedded visual force page is edited and saved with the embedded "save" button.

I've tried it with the onclick function in VisualForce and with a Workflow. But both won't budge the custom field.

Anyone else has another work around?

Thanks for your support!

Nick Kuppens 
 
<apex:page standardController="Project__c" extensions="RPIRequestExtension" sidebar="false" showHeader="false" showChat="false">
<script>
    
window.onbeforeunload = function() {
  return "Have you saved your data?";
}

    </script>
    <apex:form >
    <apex:pageBlock >
        <apex:pageBlockButtons >
            <apex:commandButton action="{!save}" value="Save" onclick="{!Project__c.Last_Modified_Date_VF__c=NOW()}"/>
        </apex:pageBlockButtons>
    <style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;border:none;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:3px 20px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:3px 20px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg .tg-fwlz{font-weight:bold;font-size:12px;background-color:#bbdaff;text-align:center;vertical-align:center}
.tg .tg-41g0{font-weight:bold;font-size:12px;background-color:#bbdaff;text-align:center}
.tg .tg-baqh{text-align:center;vertical-align:top}
.tg .tg-mtwr{background-color:#bbdaff;vertical-align:top}
.tg .tg-0e45{font-size:11px;left-margin:-30px}
.tg .tg-0e49{font-size:11px;vertical-align:top;background-color:#fcfdff}
.tg .tg-yw4l{vertical-align:top}
.tg .tg-c7d0{background-color:#bbdaff}
.tg .tg-q19q{font-size:11px;vertical-align:top}
</style>
<center><table class="tg" style="undefined;table-layout: fixed; width: 712px">
<colgroup>
<col style="width: 41px"></col>
<col style="width: 245px"></col>
<col style="width: 63px"></col>
<col style="width: 21px"></col>
<col style="width: 100px"></col>
<col style="width: 200px"></col>
</colgroup>
  <tr>
    <th class="tg-031e"></th>
    <th class="tg-yw4l"></th>
    <th class="tg-031e"></th>
    <th class="tg-yw4l"></th>
    <th class="tg-yw4l"></th>
  </tr>
  <tr>
    <td class="tg-41g0">N/A</td>
    <td class="tg-41g0" colspan="2">Scoping</td>
    <td class="tg-c7d0"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Scope document approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Scope_document_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Project team assigned</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Project_team_assigned__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">High level planning approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.High_Level_Planning_Approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-41g0" colspan="2">Concept</td>
    <td class="tg-c7d0"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Product onboarding</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Product_onboarding__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">CAPEX request approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.CAPEX_request_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-q19q">CAPEX nr.</td>
    <td class="tg-baqh"><apex:inputField value="{!Project__c.CAPEX_nr__c}" style="width:100px;text-align:left"/></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Change request approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Change_request_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-q19q">CR nr.</td>
    <td class="tg-baqh"><apex:inputField value="{!Project__c.CR_nr__c}" style="width:100px;text-align:left"/></td>
  </tr>

  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Validation plan approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Validation_report_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">All major equipment ordered</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.All_major_equipment_ordered__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Build</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">CVP approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.CVP_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Production line installed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_line_installed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">I/OQ protocols prepared</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.I_OQ_protocols_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Commercial/PQ packaging materials</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Commercial_PQ_pack_materials_ordered__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Production capacity planned (I/OQ &amp; PQ)</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_capacity_planned_I_OQ_PQ__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Prep-To-Start</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Training executed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Training_executed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">IOQ report signed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.IOQ_report_signed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">SOP/WRKI certified</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.SOP_WRKI_certified__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Start-up</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Validation report signed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Validation_report_signed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Production hand-over approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_hand_over_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
</table></center>
    </apex:pageBlock>
    </apex:form>
</apex:page>

 
Hi all,

I'm trying to set up a test class to test my RPIRequestExtension to get it into live my live org to implement my VisualForce pages.

Could you guys please help me?

ApexClass
public class RPIRequestExtension {
    ApexPages.StandardController stdCtrl;
    public RPIRequestExtension(ApexPages.StandardController std)
    {
       stdCtrl=std;
    }

    public PageReference save()
    {
        stdCtrl.save();
        return null;
    }
}

TestClass
@isTest 
public class TestRPIRequestExtension {
    static testMethod void testMethode() {

       RPIRequestExtension(ApexPages.StandardController std)
    {
       stdCtrl=std;
    }
        
}

Thanks!
Hi guys,

Currently i'm looking into the implementation of a fill-in able table that is integrated an linked with 1 opportunity/record page. 
The table will need to be aproximatly the same as the image beneath:

User-added image

- Would it be able to create a VF template where i can link to from my opportunity page (each opportunity has his new VF page)?
- The VF would contain +/- 180 custom fields that need to be filled in on bulk and/or manual.
    - Do I need to create all these 180 custom field in SF? Are there other ways to not overconsume fields?

Could you guys please help me how I should tackle this one?
We need these variables to get a proper view on the incoming workload in our copmany. So reports will be generated on the based of these fields!

Thanks for your help!
Dear, 

I'm currently trying to validate if our user's proper upload files true a flow.

When our users will upload a file, the file name will be collected in a text collection variable. The file upload module is limited to only receive .pdf files. 

Whereof in the end flow makes a comparison between the text collection and the string ".pdf". With running the flow, it makes a strange decision.

User-added image

The text collection {!FileNames} equals [2.pdf], compares it with ".pdf". but the conditions weren't met. 

Could someone help me out what I'm doing wrong here? Isn't flow comparing the extension of the files? Or....? 

Thanks in advance!!!
Hi, 

Is there any way you can guarantee that a user uploads a file thru a Flow? 

We currently have a screen component which provides the users with a dropdown option to verifiy the response of the customer. With that we also want to upload the signed off document by the customer. 

With the current File Upload component I don't see a direct option to also validate that a file is really uploaded. Working around with Text Collection variables to store the file names and compare it with "null" doesn't seem to work.

Many thanks in advance!
Hi all, 

I was just implementing Quip from a test in Trailhead directly into our production org. 
With installing the Quip connect from the app exchange and placing the "Quip Documents" component in our page lay-out. The component gives me the following error:
"Your Quip-account on currently linked with another Salesforce org. Do you want to link this org with your Quip-account *button*".

Hitting the link button will make the component invisible. After reloading the page the component will show back up with the same error. 

Did anyone had the same issue? Or already solved this one? 

Thanks in advance!
Hi all,

We are currently preparing our live org to do the full transistion to Lightning. 
Thereby I'm currently exploring if all the current functions we have in place in Classic are also functioning in Lightning. 

Now I came with a issue that we have with an embedded VisualForce page which is integrated in the record page of custom object. As I'm opening the details of that record page my cursos will automaticly jump to the first cell which is presented in the VisualForce page. The annoying on this issues is that this visualforce page is at the very bottom of each page and thereby scrolls down each time we are opening it. 

Is there someone who knows a solutions for this kind of issue, that openining the record page won't trigger the cursor to go straight to the first cell?

Thanks! 
Hi all,

Currently I'm trying to figure out how I can populate a custom field (Project__c.Last_Modified_Date_VF__c) with a Date/Time value when a embedded visual force page is edited and saved with the embedded "save" button.

I've tried it with the onclick function in VisualForce and with a Workflow. But both won't budge the custom field.

Anyone else has another work around?

Thanks for your support!

Nick Kuppens 
 
<apex:page standardController="Project__c" extensions="RPIRequestExtension" sidebar="false" showHeader="false" showChat="false">
<script>
    
window.onbeforeunload = function() {
  return "Have you saved your data?";
}

    </script>
    <apex:form >
    <apex:pageBlock >
        <apex:pageBlockButtons >
            <apex:commandButton action="{!save}" value="Save" onclick="{!Project__c.Last_Modified_Date_VF__c=NOW()}"/>
        </apex:pageBlockButtons>
    <style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;border:none;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:3px 20px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:3px 20px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg .tg-fwlz{font-weight:bold;font-size:12px;background-color:#bbdaff;text-align:center;vertical-align:center}
.tg .tg-41g0{font-weight:bold;font-size:12px;background-color:#bbdaff;text-align:center}
.tg .tg-baqh{text-align:center;vertical-align:top}
.tg .tg-mtwr{background-color:#bbdaff;vertical-align:top}
.tg .tg-0e45{font-size:11px;left-margin:-30px}
.tg .tg-0e49{font-size:11px;vertical-align:top;background-color:#fcfdff}
.tg .tg-yw4l{vertical-align:top}
.tg .tg-c7d0{background-color:#bbdaff}
.tg .tg-q19q{font-size:11px;vertical-align:top}
</style>
<center><table class="tg" style="undefined;table-layout: fixed; width: 712px">
<colgroup>
<col style="width: 41px"></col>
<col style="width: 245px"></col>
<col style="width: 63px"></col>
<col style="width: 21px"></col>
<col style="width: 100px"></col>
<col style="width: 200px"></col>
</colgroup>
  <tr>
    <th class="tg-031e"></th>
    <th class="tg-yw4l"></th>
    <th class="tg-031e"></th>
    <th class="tg-yw4l"></th>
    <th class="tg-yw4l"></th>
  </tr>
  <tr>
    <td class="tg-41g0">N/A</td>
    <td class="tg-41g0" colspan="2">Scoping</td>
    <td class="tg-c7d0"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Scope document approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Scope_document_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Project team assigned</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Project_team_assigned__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">High level planning approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.High_Level_Planning_Approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-41g0" colspan="2">Concept</td>
    <td class="tg-c7d0"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Product onboarding</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Product_onboarding__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">CAPEX request approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.CAPEX_request_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-q19q">CAPEX nr.</td>
    <td class="tg-baqh"><apex:inputField value="{!Project__c.CAPEX_nr__c}" style="width:100px;text-align:left"/></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Change request approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Change_request_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-q19q">CR nr.</td>
    <td class="tg-baqh"><apex:inputField value="{!Project__c.CR_nr__c}" style="width:100px;text-align:left"/></td>
  </tr>

  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">Validation plan approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Validation_report_approved__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-0e45">All major equipment ordered</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.All_major_equipment_ordered__c}"/></td>
    <td class="tg-031e"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Build</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">CVP approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.CVP_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Production line installed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_line_installed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">I/OQ protocols prepared</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.I_OQ_protocols_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Commercial/PQ packaging materials</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Commercial_PQ_pack_materials_ordered__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Production capacity planned (I/OQ &amp; PQ)</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_capacity_planned_I_OQ_PQ__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Prep-To-Start</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Training executed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Training_executed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">IOQ report signed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.IOQ_report_signed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">SOP/WRKI certified</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.SOP_WRKI_certified__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-41g0"></td>
    <td class="tg-fwlz" colspan="2">Start-up</td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
    <td class="tg-mtwr"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Validation report signed</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Validation_report_signed__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
  <tr>
    <td class="tg-0e49"><apex:inputCheckbox /></td>
    <td class="tg-q19q">Production hand-over approved</td>
    <td class="tg-baqh"><apex:inputCheckbox value="{!Project__c.Production_hand_over_approved__c}"/></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
    <td class="tg-yw4l"></td>
  </tr>
</table></center>
    </apex:pageBlock>
    </apex:form>
</apex:page>

 
Hi guys,

Currently i'm looking into the implementation of a fill-in able table that is integrated an linked with 1 opportunity/record page. 
The table will need to be aproximatly the same as the image beneath:

User-added image

- Would it be able to create a VF template where i can link to from my opportunity page (each opportunity has his new VF page)?
- The VF would contain +/- 180 custom fields that need to be filled in on bulk and/or manual.
    - Do I need to create all these 180 custom field in SF? Are there other ways to not overconsume fields?

Could you guys please help me how I should tackle this one?
We need these variables to get a proper view on the incoming workload in our copmany. So reports will be generated on the based of these fields!

Thanks for your help!