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

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

Материал из Химсофт Вики
 
(не показана 31 промежуточная версия этого же участника)
Строка 9: Строка 9:
*<code>b</code> – название, понятное для пользователя.
*<code>b</code> – название, понятное для пользователя.


==МДЗначение(a; 'b'; [c])==
==<span id="md-value"></span>МДЗначение(a; 'b'; [c])==


Значения, которые необходимо вывести.  
Значения, которые необходимо вывести.  
Строка 24: Строка 24:
===Пример 1===
===Пример 1===


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


<syntaxhighlight lang="json">
"<span style="background-color: yellow">Заказчик</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">6623000680</span>",<br>
      "ОГРН": "1026601367539",
::"<span style="background-color: lightgray">КПП</span>": "<span style="background-color: lightgray">662343001</span>"<br>
      "ИНН": "6623000680",
:<nowiki>}</nowiki><br>
      "КПП": "662343001"    
<nowiki>}</nowiki><br>
    }
 
  }
''настройка может выглядеть следующим образом:''
 
['<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: 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">KPP</span>':=МДЗначение(<span style="background-color: lime">{Organization}</span>; '<span style="background-color: lightgray">КПП</span>'; <span style="background-color: lightgray">[Заказчик для ФГИС -> КПП]</span>)]
 
===Пример 2===
 
''Для вывода информации следующей структуры''
 
"<span style="background-color: yellow">Результаты исследований_испытаний_измерений</span>": {
:"<span style="background-color: lime">Рез-т измерения</span><span style="background-color: aqua">1</span>": {
::"<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>",
:},
:"<span style="background-color: lime">Рез-т измерения</span><span style="background-color: aqua">2</span>": {
::"<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>",
:}
}
}
</syntaxhighlight>


настройка может выглядеть следующим образом:
''настройка может выглядеть следующим образом:''
 
<span style="background-color: aqua">['n_pok':=0]</span><br>
['<span style="background-color: yellow">ResearchInfo</span>':=МДОбъект(0; '<span style="background-color: yellow">Результаты исследований_испытаний_измерений</span>')]<br>
[for Значения ФГИС]<span style="background-color: aqua">['n_pok':={n_pok} + 1]</span>
:['<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>)]
::['<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>)]
::['<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>)]
[endfor]
 
'''''Примечание:''' настройку структуры такого вида, который перечислен в примере 1 и 2 лучше прописывать в прямоугольнике, который выводится только один раз (не разворачивается в запросе).''
 
==МДМассив(a;’b’)==


<syntaxhighlight>
Раздел, у которого планируется вывод значений в виде списка без дополнительных комментариев.
['Customer':=МДОбъект(0; 'Заказчик')]
  ['Organization':=МДОбъект({Customer}; 'Юридическое лицо')]
          ['OGRN':=МДЗначение({Organization}; 'ОГРН'; [Заказчик для ФГИС -> ОГРН])]
          ['INN':=МДЗначение({Organization}; 'ИНН'; [Заказчик для ФГИС -> ИНН])]
          ['KPP':=МДЗначение({Organization}; 'КПП'; [Заказчик для ФГИС -> КПП])]


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


===Пример 2===
Аргументы (фактические параметры):
*<code>a</code> – идентификатор раздела, к которому будут привязаны выводимые значения;
*<code>b</code> – название перечисленных значений, понятное для пользователя.
 
===Пример 3===
 
''Для вывода информации следующей структуры''
 
"<span style="background-color: yellow">Даты анализа</span>": {
:"10.10.2026",
:"15.10.2026",
:"18.10.2026",
}
 
''настройка может выглядеть следующим образом:''


==МДМассив(a;’b’)==
['<span style="background-color: lime">Data</span>':=МДМассив(0; '<span style="background-color: yellow">Даты анализа</span>')]<br>
[for Даты анализа]<br>
:['<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>
[endfor]

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