I have been banging my head up against the wall on this. So my existing code works. WHat im attempting to add is when I click the save button if Checkbox1 is not selected it verifies the data in DataCardValue8_1 exist on SP list "Parts" in column "Part". If it exist follow the original code(patch) if it does not display error "Part does not exist". If Checkbox1 is selected follow original code. I have made so many changes with various outcomes. the best I have had is where almost everything works. The only issue is if the part didnt exist it just did nothing.
Here is OG code:
If(Checkbox1.Value,
Patch(
'Material Handling',
Defaults('Material Handling'),
{
Title: DataCardValue8_1.Text,
QTY: Value(DataCardValue10_1.Text),
'700#': DataCardValue17.Text,
'711#': DataCardValue19.Text,
WO: DataCardValue18.Text,
'Deliver To?': DataCardValue11_1.Selected,
Requestor: DataCardValue12_1.Text,
Reason: DataCardValue13_1.Selected,
Comments: TextInput1.Text,
DeliverTo: DataCardValue16_1.Text,
RESTOCK: Checkbox1.Value
}
);
Reset(DataCardValue8_1);
Reset(DataCardValue10_1);
Reset(DataCardValue13_1);
Reset(DataCardValue14_1);
Reset(Checkbox1);
Notify("Your order has been submitted successfully"),
If(
IsBlank(DataCardValue12_1.Text),
Notify("Requestor is required.", NotificationType.Error),
Len(DataCardValue8_1.Text) < 8 || Len(DataCardValue8_1.Text) > 14,
Notify("Part # should be between 8 and 12 characters.", NotificationType.Error),
Len(DataCardValue10_1.Text) = 0,
Notify("QTY is required.", NotificationType.Error),
!(IsBlank(DataCardValue18.Text)) && Len(DataCardValue18.Text) <> 8,
Notify("WO number should be either blank or exactly 8 characters.", NotificationType.Error),
IsBlank(DataCardValue17.Text) && IsBlank(DataCardValue18.Text),
Notify("Please fill in either WO or 700#.", NotificationType.Error),
IsBlank(
LookUp(
BrowseGallery1.AllItems,
Title = DataCardValue8_1.Text &&
(
WO = DataCardValue18.Text ||
'700#' = DataCardValue17.Text
)
)
) &&
IsBlank(
LookUp(
BrowseGallery1_1.AllItems,
Title = DataCardValue8_1.Text &&
(
WO = DataCardValue18.Text ||
'700#' = DataCardValue17.Text
)
)
) &&
IsBlank(
LookUp(
BrowseGallery1_2.AllItems,
Title = DataCardValue8_1.Text &&
(
WO = DataCardValue18.Text ||
'700#' = DataCardValue17.Text
)
)
),
Patch(
'Material Handling',
Defaults('Material Handling'),
{
Title: DataCardValue8_1.Text,
QTY: Value(DataCardValue10_1.Text),
'700#': DataCardValue17.Text,
'711#': DataCardValue19.Text,
WO: DataCardValue18.Text,
'Deliver To?': DataCardValue11_1.Selected,
Requestor: DataCardValue12_1.Text,
Reason: DataCardValue13_1.Selected,
Comments: TextInput1.Text,
DeliverTo: DataCardValue16_1.Text
}
);
Reset(DataCardValue8_1);
Reset(DataCardValue10_1);
Reset(DataCardValue13_1);
Reset(DataCardValue14_1);
Notify("Your order has been submitted successfully"),
Set(varShowPopup, true)
))
Here is 1 of about 100 different attempts:
If(
IsBlank(DataCardValue8_1.Text),
Notify("Part # is required.", NotificationType.Error),
Len(DataCardValue8_1.Text) < 8 || Len(DataCardValue8_1.Text) > 14,
Notify("Part # should be between 8 and 14 characters.", NotificationType.Error),
Len(DataCardValue10_1.Text) = 0,
Notify("QTY is required.", NotificationType.Error),
!(IsBlank(DataCardValue18.Text)) && Len(DataCardValue18.Text) <> 8,
Notify("WO number should be either blank or exactly 8 characters.", NotificationType.Error),
IsBlank(DataCardValue17.Text) && IsBlank(DataCardValue18.Text),
Notify("Please fill in either WO or 700#.", NotificationType.Error),
If(
Checkbox1.Value, // If the checkbox is selected, use the original code
Patch(
'Material Handling',
Defaults('Material Handling'),
{
Title: DataCardValue8_1.Text,
QTY: Value(DataCardValue10_1.Text),
'700#': DataCardValue17.Text,
'711#': DataCardValue19.Text,
WO: DataCardValue18.Text,
'Deliver To?': DataCardValue11_1.Selected,
Requestor: DataCardValue12_1.Text,
Reason: DataCardValue13_1.Selected,
Comments: TextInput1.Text,
DeliverTo: DataCardValue16_1.Text,
RESTOCK: Checkbox1.Value
}
);
Reset(DataCardValue8_1);
Reset(DataCardValue10_1);
Reset(DataCardValue13_1);
Reset(DataCardValue14_1);
Reset(Checkbox1);
Notify("Your order has been submitted successfully"),
Set(varShowPopup, true),
If(
!IsBlank(LookUp('Parts', Part = DataCardValue8_1.Text)),
Patch(
'Material Handling',
Defaults('Material Handling'),
{
Title: DataCardValue8_1.Text,
QTY: Value(DataCardValue10_1.Text),
'700#': DataCardValue17.Text,
'711#': DataCardValue19.Text,
WO: DataCardValue18.Text,
'Deliver To?': DataCardValue11_1.Selected,
Requestor: DataCardValue12_1.Text,
Reason: DataCardValue13_1.Selected,
Comments: TextInput1.Text,
DeliverTo: DataCardValue16_1.Text,
RESTOCK: Checkbox1.Value
}
);
Reset(DataCardValue8_1);
Reset(DataCardValue10_1);
Reset(DataCardValue13_1);
Reset(DataCardValue14_1);
Reset(Checkbox1);
Notify("Your order has been submitted successfully"),
Set(varShowPopup, true)
)
)
)