Рефераты | Рефераты по информатике, программированию | MIDAS. Практическое применение | страница реферата 26 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Как уже говорилось, если DocID становится равным 0, сервер закрывает документ.

    Сумма документа запрашивается с сервера:

    procedure TDMDoc.RecalcDocSum;

    begin

     with cdsBody do // Свежие изменения посылаются на сервер

      if ChangeCount > 0 then

       ApplyUpdates(-1);

     with cdsTitle do

     begin

      if not (State in [dsEdit, dsInsert]) then

       Edit;

      FieldByName('Summa').asCurrency := GetDocSum;

     end;

    end;

    function TDMDoc.GetDocSum: Currency;

    var

     AServer: IrdmDocDisp;

    begin

     AServer := IrdmDocDisp(scDoc.GetServer);

     Result := AServer.DocSum;

    end;

    Поле Summa в клиентском наборе данных – вычисляемое, при этом его тип (свойство FieldKind) установлен в fkInternalCalc, что позволяет работать с этим полем, как с обычным полем данных, используя методы Edit и Post. Значение для него создается не в обработчике OnCalcFields, как требуется для типа fkCalculated, а непосредственно при редактировании записи. Хотя такой способ хорошим не назовешь, руководство VCL рекомендует использовать OnCalcFields, принципиальных различий нет, internalCalc-поля вычисляются только при вызове Post, однократно. Второй способ создания поля - сделать calculated Fields на сервере, и установить у них ProviderFlags = []; в этом случае поля на клиенте будут иметь тип fkData (данные записи), и с ними также можно работать, как с обычными полями данных.

    Для показа значения поля "Поставщик" удобно воспользоваться процедурой из модуля DMCommon:


    Рекомендуем скачать другие рефераты по теме: зимнее сочинение, шпаргалки по уголовному.



    Предыдущая страница реферата | 19  20  21  22  23  24  25  26  27  28  29 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •