Показать сообщение отдельно
  #32  
Старый 17.10.2013, 14:09
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Я поймал волну. Осталось совсем чуть-чуть. Вопрос:
Как реализовать вызов из диалога другого диалога? Ведь в той же 1c можно вызвать справочник товаров или клиентов, для заполнения соответствующих полей основного документа? Получается Основная форма -> Диалог оформления Документа -> Диалог выбора клиента (или товаров, или ещё Бог знает чего) Это ж как нужно пробрасывать DataSet'ы с главной формы?)

И отклоняясь от темы. Насколько адекватно создавать одинаковые ADOTable на разных формах с одной и той же Таблицей внутри? Или ADOQuery с одним и тем же запросом. Вообще у меня сложилось впечатление, что ADOTable =(тождественно) ADOQuery(Select * from TableName)

P.S.
Есть одна новость по поводу первичной задачи "добавлять" с возможностью отмены и при этом ещё Master-Detail связь держать.
Если организовать вот такой алгоритм: (при этом LockType оставить ltOptimistic):
Код:
procedure TFormMain.dxBarLargeButton1Click(Sender: TObject);
begin
  Connection.BeginTrans;
  try
    with TFormTicketDialog.Create(Self) do
      try
        Execute(Tickets)
      finally
        Free;
      end;
    Connection.CommitTrans;
  except
    on E: Exception do
      Connection.RollbackTrans;
  end;
end;
, то ID этого билета можно получить (заPOSTив билет) ещё до выполнения строки
Код:
Connection.CommitTrans;
, т.е. с возможностью отмены.

Только тогда на mrOK нужно повесть CommitTrans, а на mrCancel RollbackTrans. Вместо Post и Cancel. Я прав?
Ответить с цитированием