Some ideas… probably not the best practice, but it should be a good start. This is evaluated when actionperformed event occurs on a button “submit” in my case. I am very new to python and had a decent background in C#. Python is the easiest thing ever to pick up… the new 3.x Python is even more friendly but 2.7 syntax is still easy to pick up. Please do point out any areas of concern in my example below… as I am learning as well. I hope this helps you with quick start.
Update_Record_Id = event.source.parent.Record_ID
#In Bound Info
Hauler_In = event.source.parent.getComponent('Group 3').getComponent('Group').getComponent('Text_Hauler_In').text
Driver_In = event.source.parent.getComponent('Group 3').getComponent('Group').getComponent("Text_Driver_In").text
Load_In = event.source.parent.getComponent('Group 3').getComponent('Group').getComponent("Text_Load_In").text
Seal_In = event.source.parent.getComponent('Group 3').getComponent('Group').getComponent("Text_Seal_In").text
Set_Point_In = event.source.parent.getComponent('Group 3').getComponent('Group').getComponent("Text_Set_Point_In").text
Temp_In = event.source.parent.getComponent('Group 3').getComponent('Group').getComponent("Text_Temp_In").text
#Check_In_User = event.source.parent.parent.getComponent('Group 3').getComponent('Group').getComponent("Text_Check_In_User").text
#Out Bound Update Info
Hauler_Out = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Text_Hauler_Out').text
Driver_Out = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Text_Driver_Out').text
Load_Out = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Text_Load_Out').intValue
Seal_Out = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Text_Seal_Out').intValue
Set_Point_Out = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Text_Set_Point_Out').intValue
Temp_Out = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Text_Temp_Out').intValue
Check_Out_User = event.source.parent.getComponent('Group 2').getComponent('Group').getComponent('Dropdown_User').selectedLabel
Comments = event.source.parent.getComponent('Text_Area_Comments').text
IsLocked = event.source.parent.getComponent('Toggle_Locked').selected
FuelLevel= event.source.parent.getComponent('Slider').value
#Status Update Info
Status_OnLoad = event.source.parent.Status
Status = event.source.parent.getComponent('Dropdown_Status').selectedStringValue
#check to see if status was already shipped, if so don't do anything
#if status was changed to shipped then update shipped time.
if Check_Out_User == '<Select One>':
system.gui.messageBox("Must Enter Who Checked In Trailer")
else:
if (Status_OnLoad not in ('Shipped_Empty', 'Shipped_Loaded')) and (Status in ('Shipped_Empty', 'Shipped_Loaded')):
Time_Out = app.MyScripts.MyNow()
system.db.runPrepUpdate("UPDATE Trailer_Log SET Time_Out=? WHERE Record_Id=?", [Time_Out, Update_Record_Id])
system.db.runPrepUpdate("UPDATE Trailer_Log SET Hauler_In=?, Driver_In=?, Load_In=?, Seal_In=?, Set_Point_In=?, Temp_In=?, Hauler_Out=?, Driver_Out=?, Load_Out=?, Seal_Out=?, Set_Point_Out=?, Temp_Out=?, Check_Out_User=?, Status=?, Locked=?, Fuel=? WHERE Record_Id=?", [Hauler_In, Driver_In, Load_In, Seal_In, Set_Point_In, Temp_In, Hauler_Out, Driver_Out, Load_Out, Seal_Out, Set_Point_Out, Temp_Out, Check_Out_User, Status, IsLocked, FuelLevel, Update_Record_Id])
#Update Trailer_Log
UA_Table_ID = Update_Record_Id
#Add Entry To Update_Audit
#Update_Audit info
UA_Comments = "<%s> %s" %(Status,Comments)
UA_Table_Name = 'Trailer_Log'
UA_Update_User = system.security.getUsername()
UA_Time = app.MyScripts.MyNow()
system.db.runPrepUpdate("INSERT INTO Update_Audit (Table_Name, Table_ID, Update_Time, Update_User, Comment) VALUES (?, ?, ?, ?, ?)", [UA_Table_Name, UA_Table_ID, UA_Time, UA_Update_User, UA_Comments])
system.gui.messageBox("Record Updated")
system.nav.closeParentWindow(event)