SaveValidationRun(Run: IValidationExecRun; ExecData: IValidationExecData): Integer;
Run - данные расчета валидации.
ExecData - данные о расчете валидации.
Метод SaveValidationRun производит сохранение данных расчета валидации.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «OBJ_RUBRICATOR». В базе показателей должен существовать фильтр валидации с идентификатором «OBJ_Validation».
Sub Main;
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
RubInst: IRubricatorInstance;
ValiRun: IValidationExecRun;
ValiData: IValidationExecData;
ArrVali: Array[1] Of Integer;
i: integer;
ObjVal: IMetabaseObject;
v: IValidationFilter;
Sett: IValidationExecuteSettings;
Begin
MB := MetabaseClass.Active;
RubDesc := MB.ItemById("OBJ_RUBRICATOR");
RubInst := RubDesc.Open(Null) As IRubricatorInstance;
ObjVal := MB.ItemByIdNamespace("OBJ_Validation", RubDesc.Key).Edit;
v := ObjVal As IValidationFilter;
Sett := New ValidationExecuteSettings.Create;
ValiRun := v.Execute(Sett);
ValiData := RubInst.GetValidationExecData(-1, DictionaryGetDataOptions.Create);
ValiData.Name := "Выполнение валидации";
ArrVali[0] := ObjVal.Key;
//У записи о расчете задаются рассчитанные валидации
ValiData.ValidationKey := ObjVal.Key;
ValiData.Validations := ArrVali;
//Запись о расчете сохраняется в БД
(ValiData As IRubricatorRecord).Save;
//По этому новому расчету сохраняются данные
i := RubInst.SaveValidationRun(ValiRun, ValiData);
Debug.WriteLine("Ключ расчета валидации " + i.ToString);
End Sub Main;
После выполнения примера будет рассчитана валидация, данные расчета будут сохранены. В окно консоли будет выведен ключ расчета валидации.
См. также: