Показать сообщение отдельно
Старый 04.06.2004, 16:09   #1  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Обновление связанных форм
Наверное я не понимаю сам процесс - ну никак не удается добиться правильной работы.
Если упростить задачу до минимума, то выглядит она так:
есть две таблицы:
TmpDelivery
- DeliveryId
- Var
TmpDeliveryOrder
- SalesId
- DeliveryId

Есть форма Delivery, состоящая из двух гридов, заполняемых значениями из этих датасурсов.
Необходимо, чтобы при изменении в поле 2-го грида значения DeliveryId
происходило изменение поля Var таблицы TmpDelivery для записи TmpDelivery.DeliveryId == DeliveryId
И обновление первой формы.

Делаю так:
init () - заполнение обеих таблиц значениями
setDeliveryId датасурса TmpDeliveryOrder:
PHP код:
edit DeliveryId setDeliveryId(boolean setTmpDeliveryOrder _TmpDeliveryOrderDeliveryId  _deliveryId)
{
TmpDelivery  _TmpDelivery;

  if (
set)
    {
    
DeliveryId _deliveryId;
// изменение Var таблицы TmpDelivery
    
TmpDelivery_ds.executeQuery();
    }
  else
   
DeliveryId _TmpDeliveryOrder.DeliveryId;
return 
DeliveryId;

И для StringEdit'a второй формы в качестве метода указываю setDeliveryId

Ну не понимаю я почему, после правильной обработки измененного значения DeliveryId на TmpDelivery_ds.executeQuery(); управление снова передается setDeliveryId с установленным set (true)/
В результате происходит повторное изменение значения таблицы.
Почему!!!