Перейти к содержанию

Функции для вывода метаданных в формате .json: различия между версиями

Материал из Химсофт Вики
Строка 46: Строка 46:
Для вывода информации следующей структуры
Для вывода информации следующей структуры


<syntaxhighlight lang="json">
 
{
"<span style="background-color: yellow">Результаты исследований_испытаний_измерений</span>": {
  "Результаты исследований_испытаний_измерений": {
:"<span style="background-color: lime">Рез-т измерения</span><span style="background-color: aqua">1</span>": {
    "Рез-т измерения1": {
::"<span style="background-color: lightgray">Наим. пок.</span>": "<span style="background-color: lightgray">Влажность</span>",
      "Наим. пок.": "Влажность",
::"<span style="background-color: lightgray">Результат</span>": "<span style="background-color: lightgray">15</span>",
      "Результат": "15",
:},
    },
:"<span style="background-color: lime">Рез-т измерения</span><span style="background-color: aqua">2</span>": {
    "Рез-т измерения2": {
::"<span style="background-color: lightgray">Наим. пок.</span>": "<span style="background-color: lightgray">Массовая концентрация диоксида серы</span>",
      "Наим. пок.": "Массовая концентрация диоксида серы",
::"<span style="background-color: lightgray">Результат</span>": "<span style="background-color: lightgray">49</span>",
      "Результат": "49",
:}
    }
  }
}
}
</syntaxhighlight>


настройка может выглядеть следующим образом:
настройка может выглядеть следующим образом:

Версия от 09:52, 14 октября 2026

МДОбъект(a;'b')

Раздел, у которого планируется вывод значений.

Функция возвращает идентификатор раздела в документе.

Аргументы (фактические параметры):

  • a – идентификатор другого раздела, либо 0, если раздел самый первый в структуре;
  • b – название, понятное для пользователя.

МДЗначение(a; 'b'; [c])

Значения, которые необходимо вывести.

Функция возвращает число:

  • 1 – ошибка записи (указан ошибочный идентификатор раздела);
  • 2 – удачная запись.

Аргументы (фактические параметры):

  • a – идентификатор раздела, к которому будут привязаны выводимые значения;
  • b – название перечисленных значений, понятное для пользователя;
  • c - значение переменной из запроса, которую необходимо выводить, либо константа.

Пример 1

Для вывода информации следующей структуры

"Заказчик": {

"Юридическое лицо": {
"ОГРН": "1026601367539",
"ИНН": "6623000680",
"КПП": "662343001"
}

}

настройка может выглядеть следующим образом:

['Customer':=МДОбъект(0; 'Заказчик')]

['Organization':=МДОбъект({Customer}; 'Юридическое лицо')]
['OGRN':=МДЗначение({Organization}; 'ОГРН'; [Заказчик для ФГИС -> ОГРН])]
['INN':=МДЗначение({Organization}; 'ИНН'; [Заказчик для ФГИС -> ИНН])]
['KPP':=МДЗначение({Organization}; 'КПП'; [Заказчик для ФГИС -> КПП])]

Пример 2

Для вывода информации следующей структуры


"Результаты исследований_испытаний_измерений": {

"Рез-т измерения1": {
"Наим. пок.": "Влажность",
"Результат": "15",
},
"Рез-т измерения2": {
"Наим. пок.": "Массовая концентрация диоксида серы",
"Результат": "49",
}

}

настройка может выглядеть следующим образом:

['n_pok':=0]
['ResearchInfo':=МДОбъект(0; 'Результаты исследований_испытаний_измерений')]
[for Значения ФГИС]['n_pok':={n_pok} + 1]
    ['ResearchInfoDetails':=МДОбъект({ResearchInfo}; 'Рез-т измерения'+ {n_pok})]
    ['Name':=МДЗначение({ResearchInfoDetails}; 'Наим. пок'; [Значения ФГИС -> Показатель])]
    ['Rez':=МДЗначение({ResearchInfoDetails}; 'Результат'; [Значения ФГИС -> Результат])]
[endfor]

Примечание: настройку структуры такого вида, который перечислен в примере 1 и 2 лучше прописывать в прямоугольнике, который выводится только один раз (не разворачивается в запросе).

МДМассив(a;’b’)

Раздел, у которого планируется вывод значений в виде списка без дополнительных комментариев.

Функция возвращает идентификатор раздела в документе.

Аргументы (фактические параметры):

  • a – идентификатор раздела, к которому будут привязаны выводимые значения;
  • b – название перечисленных значений, понятное для пользователя.

Пример 3

Для вывода информации следующей структуры

{
  "Даты анализа": {
    "10.10.2026",
    "15.10.2026",
    "18.10.2026",
  }
}

настройка может выглядеть следующим образом:

['Data':=МДМассив(0; 'Даты анализа')]
[for Даты анализа]
    ['Zap_json':=МДЗначение({Data}; ''; [Даты анализа -> Значение])]
[endfor]