Ниже приведен пример использования операции GetRdsElements для получения истории изменения элементов справочника НСИ. В запросе передается моникёр открытого экземпляра справочника. В ответе приходит информация об истории изменений элементов. Каждая запись истории содержит: наименование элемента в соответствующий период, значения всех атрибутов, дату начала и окончания периода действия.
{
"GetRdsElements" :
{
"tRds" :
{
"id" : "S1!M!S!N3"
},
"tArg" :
{
"parent" :
{
"key" : ""
},
"filter" :
{
"levels" : "-1",
"includeRoot" : "false",
"onlySelected" : "false",
"includeParents" : "true",
"includeParentsWithSiblings" : "true"
},
"pattern" :
{
"attributes" : "*",
"attributeValuesOnly" : "false",
"extendedAttributeValuesOnly" : "true",
"getSelectState" : "true",
"getParentKey" : "true",
"getHasChildren" : "true",
"getLevel" : "true",
"getHasSelectedChildren" : "true",
"getHistory" : "true",
"getImageIndex" : "true"
}
}
}
}
{
"GetRdsElementsResult" :
{
"els" :
{
"e" :
{
"@hc" : "0",
"@l" : "1",
"n" : "Факт 1",
"ea" :
{
"it" :
[
{
"@v" : "2"
},
{
"@v" : "Факт 1"
},
"",
{
"@v" : "64"
},
{
"@v" : "2"
},
{
"@v" : "2020-01-01"
},
{
"@v" : "2020-02-01"
}
]
},
"k" : "2",
"h" : "0",
"o" : "0",
"p" : "4294967294",
"hist" :
{
"it" :
[
{
"n" : "Факт 1",
"ea" :
{
"it" :
[
{
"@v" : "2"
},
{
"@v" : "Факт 1"
},
"",
{
"@v" : "64"
},
{
"@v" : "2"
},
{
"@v" : "2020-01-01"
},
{
"@v" : "2020-02-01"
}
]
},
"inDate" : "2020-01-01",
"outDate" : "2020-02-01"
},
{
"n" : "Факт",
"ea" :
{
"it" :
[
{
"@v" : "2"
},
{
"@v" : "Факт"
},
"",
{
"@v" : "64"
},
{
"@v" : "3"
},
{
"@v" : "2020-02-01"
},
{
"@v" : "2020-03-01"
}
]
},
"inDate" : "2020-02-01",
"outDate" : "2020-03-01"
},
{
"n" : "Данные",
"ea" :
{
"it" :
[
{
"@v" : "2"
},
{
"@v" : "Данные"
},
"",
{
"@v" : "64"
},
{
"@v" : "4"
},
{
"@v" : "2020-03-01"
},
{
"@v" : "2999-12-31"
}
]
},
"inDate" : "2020-03-01",
"outDate" : "2999-12-31"
}
]
}
}
},
"id" :
{
"id" : "S1!M!S!N3"
}
}
}
public static GetRdsElementsResult GetHistoryElements(RdsId moniker)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операции
//Параметры выполнения операции
var tGet = new GetRdsElements()
{
tArg = new GetRdsElementsArg()
{
parent = new ElKey
{
key = string.Empty
},
filter = new ElsFilter
{
includeRoot = false,
includeParents = true,
includeParentsWithSiblings = true,
onlySelected = false,
levels = -1
},
pattern = new ElsPattern // Шаблон получения данных
{
getParentKey = true,
getHasChildren = true,
getHasSelectedChildren = true,
getLevel = true,
getSelectState = true,
getHistory = true,
attributes = "*",
attributeValuesOnly = false,
extendedAttributeValuesOnly = true
},
},
tRds = moniker
};
// Получаем историю изменения элементов
var tResult = somClient.GetRdsElements(tGet);
return tResult;
}
См. также: