IDtCustomConsumer.PutRow

Синтаксис Fore

PutRow(Values: Array);

Синтаксис Fore.NET

PutRow(Values: System.Array);

Параметры

Values. Выгружаемая срока в виде одномерного массива значений.

Описание

Метод PutRow выполняет выгрузку строки в приемник данных.

Комментарии

Для выгрузки всех строк массива данных используйте метод IDtCustomConsumer.Put.

Пример Fore

Для выполнения примера предполагается наличие модуля с идентификатором «CUSTOM_EXPORT», содержащего класс «MyDtCustomConsumer». Добавьте ссылки на системные сборки «Metabase», «Dt», «Dal».

Sub UserProc_cPutRow;
Var
    Consumer: IDtUserConsumerEx;
    Fields: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    v: Array;
Begin
//Массив экспортируемых значений
    v := New Variant[3];
    v[0] := "Греча"; v[1] := 10; v[2] := 313.12;
    Consumer := New DtUserConsumerEx.Create;
    Consumer.Metabase := MetabaseClass.Active;
    Consumer.ImplClass := "CUSTOM_EXPORT.MyDtCustomConsumer";
    Fields := Consumer.Fields;
    Field := Fields.Add;
    Field.DataType := DbDataType.String;
    Field.Name := "Наименование";
    Field := Fields.Add;
    Field.DataType := DbDataType.Integer;
    Field.Name := "Идентификатор";
    Field := Fields.Add;
    Field.DataType := DbDataType.Float;
    Field.Name := "Значение";
    Consumer.Open;
    Consumer.Clear;
    Consumer.PutRow(v);
    Debug.WriteLine("Число записанных строк: " + Consumer.WritingRowsCount.ToString);
    Consumer.Close;
End Sub UserProc_cPutRow;

После выполнения примера строка данных будет выгружена в приемник с помощью пользовательского алгоритма.

Пример Fore.NET

Для выполнения примера предполагается наличие .NET сборки с идентификатором «CUSTOM_EXPORT_NET», содержащей класс «MyDtCustomConsumer».

Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.Dal;

[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
    Consumer: IDtUserConsumerEx;
    Fields: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    v: Array;
Begin
//Массив экспортируемых значений
    v := New object[3];
    v[0] := "Греча"; v[1] := 10; v[2] := 313.12;
    Consumer := New DtUserConsumerEx.Create();
    Consumer.Metabase := Params.Metabase;
    Consumer.ImplClass := "CUSTOM_EXPORT_NET.MyDtCustomConsumer";
    Fields := Consumer.Fields;
    Field := Fields.Add();
    Field.DataType := DbDataType.ddtString;
    Field.Name := "Наименование";
    Field := Fields.Add();
    Field.DataType := DbDataType.ddtInteger;
    Field.Name := "Идентификатор";
    Field := Fields.Add();
    Field.DataType := DbDataType.ddtFloat;
    Field.Name := "Значение";
    Consumer.Open();
    Consumer.Clear();
    Consumer.PutRow(v);
    System.Diagnostics.Debug.WriteLine("Число записанных строк: " + Consumer.WritingRowsCount().ToString());
    Consumer.Close();
End Sub;

После выполнения примера строка данных будет выгружена в приемник с помощью пользовательского алгоритма.

См. также:

IDtCustomConsumer