a!localVariables( local!projectdata:rule!totaltimesheet(),
local!projectid, local!updateCounter: 0, local!employee: a!refreshVariable( refreshOnVarChange: local!updateCounter ), { a!dateField( label: "Date", labelPosition :"JUSTIFIED", value: ri!timeline.taskdate, saveInto:ri!timeline.taskdate,
), a!sectionLayout( label: "", contents: { a!gridLayout( /*label: "Grid view of an employee Details",*/ labelPosition: "ABOVE", totalCount: count(ri!timeline), headerCells: { /*a!gridLayoutHeaderCell(label: "Employee Name"),*/ a!gridLayoutHeaderCell(label: "Project Name"), a!gridLayoutHeaderCell(label: "Task Name"), a!gridLayoutHeaderCell(label: "Description"), a!gridLayoutHeaderCell(label: "Hours"), a!gridLayoutHeaderCell(label: "Status"), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight:2),*/ a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight:2), a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight:2), a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight:2), a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight:2), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: ri!timeline, expression:a!gridRowLayout( contents: { /*a!textField(*//* */ /*value: loggedInUser(),*/ /*saveInto: {fv!item.employerName, a!save(ri!timeline.employerName, save!value)},*/ /*refreshAfter: "UNFOCUS",*/ /*required: true,*/ /*readOnly: true *//* *//* */ /*),*/ a!dropdownField( label: "project Name ", placeholderLabel: " ", choiceLabels: rule!CrochetDSR_Get_ProjectName().projectname, choiceValues: rule!CrochetDSR_Get_ProjectName().projectid, value: fv!item.projectid, saveInto: fv!item.projectid, required: true ), /*a!dropdownField(*/ /*label: "task",*/ /*placeholderLabel: " ",*/ /*choiceLabels: rule!CrochetDSR_Get_MilestoneTaskName(projectid:local!projectid).taskname,*/ /*choiceValues: rule!CrochetDSR_Get_MilestoneTaskName(projectid:local!projectid).taskname,*/ /*value: fv!item.taskname,*/ /*saveInto: fv!item.taskname,*//* */ /*required: true*/ /*) ,*/ a!textField( label: "Description ", value: fv!item.taskname, saveInto: fv!item.taskname, required: true ), a!textField( label: "Description ", value: fv!item.description, saveInto: fv!item.description, required: true ), /*a!dateField(*/ /*label: "task date ",*/ /*value: fv!item.taskdate,*/ /*saveInto: fv!item.taskdate,*/ /*required: true */ /*),*/ a!textField( label: "Hours ", value: fv!item.noofhours, saveInto: fv!item.noofhours, required: true ), a!dropdownField( label: "Status ", placeholderLabel: " ", choiceLabels: {"Done","Pending"}, choiceValues: {"Done","Pending"}, value: fv!item.Status, saveInto: fv!item.Status, required: true ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "REMOVE" ), altText: "Remove", link: a!dynamicLink( value: fv!index, saveInto: { a!save( ri!timeline, remove( ri!timeline, save!value ) ) } ) ) ) } ) ), /*selectionvalue: ri!selectedRowIndex,*/ /*selectionsaveinto: ri!selectedRowIndex,*/ /*selectable: true,*/ selectionrequired: false, addRowLink: a!dynamicLink( label: "Add Timesheet", saveInto: { a!save( target: ri!timeline, value: append( ri!timeline, 'type!{urn:com:appian:types:DSR}DSR_TimeSheetLineItem'( employerName: loggedInUser(), ) ) ) } ), height: "AUTO", spacing: "DENSE", borderstyle: "STANDARD", rowHeader: 1 ), a!columnsLayout( columns: { a!columnLayout( contents: {} ), a!columnLayout( contents: {} ), a!columnLayout( contents: { a!textField( label: "Total Hours ", labelPosition :"ADJACENT", value: sum(ri!timeline.noofhours), saveInto: {ri!timeline.Totalhours, a!save(ri!timeline.Totalhours, save!value)}, readOnly: true ), } ) } ), a!buttonLayout( primaryButtons: { a!buttonWidgetSubmit( label: "Submit", value: ri!timeline, /*saveInto: {a!save(ri!timeline.timesheetid,ri!pid),*/ /*ri!submitbutton,*/ /*a!writeToDataStoreEntity(*/ /*dataStoreEntity: cons!CROCHETDSR_GET_TIMESHEET,*/ /*valueToStore: ri!timeline,*/ /*)*//**/ /*},*/ showWhen: if( rule!APN_isEmpty1( ri!timeline ), false(), true() ), style: "PRIMARY", confirmHeader: { if( rule!APN_isEmpty1( ri!timeline ), "Please add at least one row", {} ) }, confirmMessage: { if( rule!APN_isEmpty1( ri!timeline ), "Please add at least one row", {} ) } ) }, secondaryButtons: { a!buttonWidget( label: "Cancel", value: true, saveInto: ri!cancel, submit: true, style: "NORMAL", validate: false ) } ) } ), }
)
Discussion posts and replies are publicly visible
I don't think this has anything to do with the sum function. The error above says that it cannot index "taskdate" within the variable ri!timeline. What is the type of your rule input for timeline? Does it have a field called "taskdate"?
its displaying sum functions too
The error here is the same though - it's saying that the property "noofhours" doesn't existing in your rule input. My guess is that your CDT "DSR_TimeSheetLineItem" doesn't have those properties (or maybe they're spelled differently).
no peter i have configured noofhours into the cdt
a!columnsLayout( columns: { a!columnLayout( contents: { a!textField( label: "Total Hours ", labelPosition :"ADJACENT", value: sum(ri!timeline.noofhours), saveInto: {ri!timeline.Totalhours, a!save(ri!timeline.Totalhours, save!value)}, readOnly: true ), } ) } ),
FYI, the "noofhours" field in your CDT is type Text, which is not a valid parameter for the Sum() function.
In the interface where you're getting the error, what is the current value of ri!timeline? If it's NULL, then you will probably not be able to successfully call ri!timeline.noofhours.
You could rewrite that line of code more like this and see if it helps:
sum(property(ri!timeline, "noofhours", 0)),
now its not saved into cdt
a!textField( label: "Total Hours ", labelPosition :"ADJACENT", value: sum(property(ri!timeline, "noofhours", 0)), saveInto: {ri!timeline.Totalhours, a!save(ri!timeline.Totalhours, save!value)}, readOnly: true ),