Мельница данных  (17.11.2025)
Функция commonproperties

Функция commonproperties позволяет получить значения общих свойств списка объектов, включенных в ранее созданный буфер.

Принципы формирования списка общих свойств объектов и возврата их значений совпадают с принципами работы Инспектора объектов: Отображение свойств Инспектором объектов.

Возможности создания буфера и добавление в него объектов описаны в статьях Функция selectedbuffer, Функция selectionchanged.

Допустимые расширения:

Функция имеет параметр query, который должен представлять собой XML документ или объект JSON.

При использовании для параметра queryформата XML передаваемый XML документ должен иметь один элемент с атрибутами:

  • handle (обязательный) - идентификатор буфера;
  • propid (необязательный) - идентификатор свойства; если данный атрибут не передан или для него передано пустое значение, то будет возвращен полный набор полученных свойств, если данный атрибут будет передан, то будет возвращено значение только этого одного свойства.
  • publiconly (обязательный) - значение "0" будет означать, что в ответ будут включены все общие свойства набора объектов, значение "1" будет означать что в ответ будут включены только свойства с областью видимости "Видимо пользователям" (ScopescPublic).

Пример
Пример вызова функции с расширением .xml:
1https://techmill.ru/demo/commonproperties.xml?query=
2<query handle="221024" publiconly="1"/>
Запрос на общие свойства списка объектов, предварительно добавленных в буфер с идентификатором "221024". В ответ будет включены только свойства с областью видимости "Видимо пользователям".

При использовании для параметра query формата JSON его значение должно представлять собой объект JSON с одним полем query, значением которого должен быть объект с полями:

  • handle (обязательный) - идентификатор буфера
  • propid (необязательный) - идентификатор свойства; если данный атрибут не передан или для него передано пустое значение, то будет возвращен полный набор полученных свойств, если будет передан идентификатор свойства, то будет возвращено значение только этого одного свойства.
  • publiconly (обязательный) - значение "0" будет означать, что в ответ будут включены все общие свойства набора объектов, значение "1" будет означать что в ответ будут включены только свойства с областью видимости "Видимо пользователям" (Scope = scPublic).
Пример
Пример вызова функции с расширением .js:
1https://techmill.ru/demo/commonproperties.js?query=
2{
3  "handle": 221024,
4  "publiconly": 1
5}
Запрос на общие свойства списка объектов, предварительно добавленных в буфер с идентификатором "221024". В ответ будет включены только свойства с областью видимости "Видимо пользователям".

Возвращаемый ответ будет содержать следующие элементы (для документа XML) / поля (для объекта JSON):

  • ID - идентификатор свойства;
  • Value - значение свойства;
  • Value-N - для свойства с доменом ссылочного типа (объектов) будет возвращено Имя объекта-значения; для свойств других доменов значение будет пустым
  • Value-D - для свойства с доменом ссылочного типа (объектов) будет возвращено Наименование объекта-значения; для свойств других доменов значение будет пустым
  • Recieved - для свойства типа "Отложенное" (IsSuspended = True) будет возвращено значение "0" при этом значения элементов (для документа XML) / полей (для объекта JSON) Value, Vaule-N, Value-D будут пустыми, для прочих свойств будет возвращено значение "1"; в случае получения значения "0" значение такого свойства можно будет получить другим отдельным запросом на это свойство, например, при помощи функции cursor (Функция cursor).

В случае вызова функции с расширением .xml в качестве ответа будет возвращен XML-документ с одним корневым элементом (в примере - data, но имя элемента может быть любым), который будет включать в себя набор элементов второго уровня (в примере - row), соответствующих каждому свойству из полученного набора свойств. Каждый элемент второго уровня будет иметь подчиненные элементы третьего уровня с именами, соответствующими именам найденных свойств, и значениями, представляющими собой значения этих свойств:

Пример
Пример ответа в формате XML:
01<data eof="1">
02  <row>
03    <ID type="int64">69174</ID>
04    <Value>37543</Value>
05    <Value-N>Spain</Value-N>
06    <Value-D>Kingdom of Spain</Value-D>
07    <Recieved type="int">1</Recieved>
08  </row>
09  <row>
10    <ID type="int64">69175</ID>
11    <Value>37544</Value>
12    <Value-N>Italy</Value-N>
13    <Value-D>Italian Republic</Value-D>
14    <Recieved type="int">1</Recieved>
15  </row>
16  <row>
17    <ID type="int64">69176</ID>
18    <Value/>
19    <Value-N/>
20    <Value-D/>
21    <Recieved type="int">0</Recieved>
22  </row>
23  <row>
24    <ID type="int64">4503868</ID>
25    <Value>77</Value>
26    <Value-N/>
27    <Value-D/>
28    <Recieved type="int">1</Recieved>
29  </row>
30</data>

В случае вызова функции с расширением .js/.json в качестве ответа будет возвращен объект JSON с одним полем row, значениям которого будет массив объектов, соответствующих каждому свойству из полученного набора свойств.

Пример
Пример ответа в формате JSON:
01{"row":
02  [
03    {
04      "ID": 69174,
05      "Value": 37543,
06      "Value-N": "Spain",
07      "Value-D": "Kingdom of Spain",
08      "Recieved": 1
09    },
10    {
11      "ID": 69175,
12      "Value": 37544,
13      "Value-N": "Italy",
14      "Value-D": "Italian Republic",
15      "Recieved": 1
16    },
17    {
18      "ID": 69176,
19      "Value": "",
20      "Value-N": "",
21      "Value-D": "",
22      "Recieved": 0
23    },
24    {
25      "ID": 4503868,
26      "Value": 77,
27      "Value-N": "",
28      "Value-D": "",
29      "Recieved": 1
30    }
31  ]
32}