Встановлення статусів стану замовлення
Перейти до навігації
Перейти до пошуку
Кожне замовлення умовно поділяється на 16 етапів виконання замовлення. Будь-який із них може мати такі зумовлені стани -"не встановлено" (0),"потрібен" (1),"у роботі" (2),"завершено" (3).
Наведений нижче скрипт показує можливість встановлення кожного з етапів у певний стан шляхом зазначення коду (значення в дужках).
uses SysUtils; var zk: TZakaz; // объект заказа state_old, state_new: integer; // коды статуса (0 - не установлен, 1 - нужен, 2 - в работе, 3 - выполнен) id: TId32; // номер изменяемого состояния (1..16 - соответствуют номерам в списке) begin zk := gd.Zakazes.Items.GetById(1); // получаем объект заказа по номеру if assigned(zk) then // если заказ найден begin gd.Zakazes.ReloadNew2(zk, true); // загружаем заказ в полном виде из базы id := 6; // определяем номер устанавливаемого состояния state_new := 1; // задаем значение кода статуса state_old := zk.ZakazState.GetStateById(id); // получаем из заказа код статуса нашего состояния if (state_old <> state_new) then // если они отличаются begin zk.ZakazState.SetStateById(id, state_new); // установим новый статус gd.Zakazes.Items.Update(zk); // сохраним изменения в базу ShowMessage('Done'); // отрапортуем о завершении работы end else // если пытаемся поставить такой, который уже установлен ShowMessage('States are equal.'); // просто сообщим о недоразумении end else // а вот если заказ не нашелся ShowMessage('Order not assigned :('); // сообщаем о проблеме end.