Здравствуйте. Имеется поле, в него вводится лот товара, после проверки он попадает в грид, который отображает корзину клиента. Необходимо сделать так, чтобы если цена лота составляет "0" руб, он не добавлялся. Функция проверки на данный момент:
function btnAddPartTableOnClick(Control) {
Control.IsEnabled = false;
try{
var SaveResult = DoSaveEditDatasetByChildGrid(BaseDBEdit, Self, null, SaveChanges);
Self.BringToFront();
if (SaveResult) {
AddToPartable();
}
} finally {
Control.IsEnabled = true;
}
}
Цена хранится в датасете ds_Orders, целочисленном поле TotalAmount. Я понимаю, что нужно изменить условие примерно так if(SaveResult && "Цена" !== 0), но как обратиться к значению датасета с нужным условием по синтаксису - в этом мой вопрос.
На всякий случай, ещё функция, малоли нужна будет.
function DoSaveEditDatasetByChildGrid(BaseDBEdit, EditWindow, GridWindow, SaveChangeFunc) {
var Dataset = BaseDBEdit.Dataset;
if(Dataset.State == dstInsert){
if (System.MessageDialog(RecordMustBeSavedBeforeContinueSave,
mdtWarning, (mdbYes + mdbNo), 0) != wmrYes) {
EditWindow.BringToFront();
return false;
}
var Data = {};
var Succesfull = true;
EditWindow.Notify(GridWindow, 'CHECK_DATA', Data);
if (Data.Result == undefined){
if (!CheckSetRequiredField(Dataset)) {
MessageBox('Необходимо заполнить обязательные поля');
Succesfull = false;
}
} else if (!Data.Result){
Succesfull = false;
EditWindow.BringToFront();
return false;
}
if (!Succesfull){
EditWindow.BringToFront();
return false;
}
SaveChangeFunc(BaseDBEdit, EditWindow);
Dataset.Edit();
SendNotify(EditWindow, MSG_OK);
}
if (GridWindow) {
GridWindow.Notify(EditWindow, MSG_SAVED, null);
}
return true;
}