PutRow(Values: Array);
PutRow(Values: System.Array);
Values. Выгружаемая срока в виде одномерного массива значений.
Метод PutRow выполняет выгрузку строки в приемник данных.
Для выгрузки всех строк массива данных используйте метод IDtCustomConsumer.Put.
Для выполнения примера предполагается наличие модуля с идентификатором «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;
После выполнения примера строка данных будет выгружена в приемник с помощью пользовательского алгоритма.
Для выполнения примера предполагается наличие .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;
После выполнения примера строка данных будет выгружена в приемник с помощью пользовательского алгоритма.
См. также: