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

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

Материал из Химсофт Вики
 
(не показано 7 промежуточных версий этого же участника)
Строка 26: Строка 26:
''Для вывода информации следующей структуры''
''Для вывода информации следующей структуры''


<span style="background-color: yellow">"Заказчик"</span>: {<br>
"<span style="background-color: yellow">Заказчик</span>": {<br>
:<span style="background-color: lime">"Юридическое лицо"</span>: {<br>
:"<span style="background-color: lime">Юридическое лицо</span>": {<br>
::<span style="background-color: lightgray">"ОГРН"</span>: "<span style="background-color: lightgray">1026601367539</span>",<br>
::"<span style="background-color: lightgray">ОГРН</span>": "<span style="background-color: lightgray">1026601367539</span>",<br>
::<span style="background-color: lightgray">"ИНН"</span>: "<span style="background-color: lightgray">6623000680</span>",<br>
::"<span style="background-color: lightgray">ИНН</span>": "<span style="background-color: lightgray">6623000680</span>",<br>
::<span style="background-color: lightgray">"КПП"</span>: "<span style="background-color: lightgray">662343001</span>"<br>
::"<span style="background-color: lightgray">КПП</span>": "<span style="background-color: lightgray">662343001</span>"<br>
:<nowiki>}</nowiki><br>
:<nowiki>}</nowiki><br>
<nowiki>}</nowiki><br>
<nowiki>}</nowiki><br>
Строка 36: Строка 36:
''настройка может выглядеть следующим образом:''
''настройка может выглядеть следующим образом:''


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


===Пример 2===
===Пример 2===


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


"<span style="background-color: yellow">Результаты исследований_испытаний_измерений</span>": {
"<span style="background-color: yellow">Результаты исследований_испытаний_измерений</span>": {
Строка 58: Строка 57:
}
}


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


<syntaxhighlight lang="pascal">
<span style="background-color: aqua">['n_pok':=0]</span><br>
['n_pok':=0]
['<span style="background-color: yellow">ResearchInfo</span>':=МДОбъект(0; '<span style="background-color: yellow">Результаты исследований_испытаний_измерений</span>')]<br>
['ResearchInfo':=МДОбъект(0; 'Результаты исследований_испытаний_измерений')]
[for Значения ФГИС]<span style="background-color: aqua">['n_pok':={n_pok} + 1]</span>
[for Значения ФГИС]['n_pok':={n_pok} + 1]
:['<span style="background-color: lime">ResearchInfoDetails</span>':=МДОбъект(<span style="background-color: yellow">{ResearchInfo}</span>; '<span style="background-color: lime">Рез-т измерения</span>'+ <span style="background-color: aqua">{n_pok}</span>)]
    ['ResearchInfoDetails':=МДОбъект({ResearchInfo}; 'Рез-т измерения'+ {n_pok})]
::['<span style="background-color: lightgray">Name</span>':=МДЗначение(<span style="background-color: lime">{ResearchInfoDetails}</span>; '<span style="background-color: lightgray">Наим. пок</span>'; <span style="background-color: lightgray">[Значения ФГИС -> Показатель]</span>)]
    ['Name':=МДЗначение({ResearchInfoDetails}; 'Наим. пок'; [Значения ФГИС -> Показатель])]
::['<span style="background-color: lightgray">Rez</span>':=МДЗначение(<span style="background-color: lime">{ResearchInfoDetails}</span>; '<span style="background-color: lightgray">Результат</span>'; <span style="background-color: lightgray">[Значения ФГИС -> Результат]</span>)]
    ['Rez':=МДЗначение({ResearchInfoDetails}; 'Результат'; [Значения ФГИС -> Результат])]
[endfor]
[endfor]
</syntaxhighlight>


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


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


<syntaxhighlight lang="json">
"<span style="background-color: yellow">Даты анализа</span>": {
{
:"10.10.2026",
  "Даты анализа": {
:"15.10.2026",
    "10.10.2026",
:"18.10.2026",
    "15.10.2026",
    "18.10.2026",
  }
}
}
</syntaxhighlight>


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


<syntaxhighlight lang="pascal">
['<span style="background-color: lime">Data</span>':=МДМассив(0; '<span style="background-color: yellow">Даты анализа</span>')]<br>
['Data':=МДМассив(0; 'Даты анализа')]
[for Даты анализа]<br>
[for Даты анализа]
:['<span style="background-color: lightgray">Zap_json</span>':=МДЗначение(<span style="background-color: lime">{Data}</span>; <span style="background-color: lightgray"><nowiki>''</nowiki></span>; <span style="background-color: lightgray">[Даты анализа -> Значение]</span>)]<br>
    ['Zap_json':=МДЗначение({Data}; ''; [Даты анализа -> Значение])]
[endfor]
[endfor]
</syntaxhighlight>

Текущая версия от 10:09, 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]