Программный просмотр GLOBALS с помощью ObjectScript или VisM

Мне поручено получить список всех УЗЛОВ в глобальных данных, в частности, всех данных, которые выглядят как ^BACKTR("INDX","COMPANY",,,) :

1:  ^BACKTR("INDX","COMPANY",1,63543,5870)  =   ""
2:  ^BACKTR("INDX","COMPANY",1,63572,9792)  =   ""
3:  ^BACKTR("INDX","COMPANY",1,63573,9904)  =   ""
4:  ^BACKTR("INDX","COMPANY",1,63650,20950) =   ""
5:  ^BACKTR("INDX","COMPANY",1,63651,21058) =   ""

Мне нужны только узлы, а не сами значения. Есть ли способ получить этот список программно? Я попытался экспортировать весь xml глобальных переменных с помощью этого кода в VB.net с помощью элемента управления VisM:

AxVisM1.Code = "do $system.OBJ.Export(""BACKTR.GBL"",""C:\Users\Support\Desktop\global.xml"")"

однако при этом создается XML-файл, включающий все узлы BACKTR. Мне нужны только узлы типа ^BACKTR("INDX", "COMPANY",,,)

Есть ли синтаксис объектного скрипта, который я могу использовать для вывода этого списка? Или я должен прибегнуть к использованию XML? Мне просто нужен синтаксис объектного скрипта для него, так как я все равно могу выполнить код в VisM


person Malcolm Salvador    schedule 04.04.2016    source источник


Ответы (2)


К сожалению, невозможно экспортировать любую часть данных в глобальном масштабе, как вы хотите. Вы можете просто объединить любые данные в любой пустой глобальный и экспортировать его.

person DAiMor    schedule 04.04.2016

Можете ли вы запустить два кода объектных скриптов? (скопируйте во временный глобальный файл, затем экспортируйте)

merge ^BACKTRTMP=^BACKTR("INDX","COMPANY")
do $system.OBJ.Export("BACKTRTMP.GBL","C:\Users\Support\Desktop\global.xml")

затем вы можете избавиться от временного глобального позже

kill ^BACKTRTMP
person Mike M    schedule 06.04.2016