-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdict.go
105 lines (101 loc) · 4.4 KB
/
dict.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package apipgu
// Типы запрашиваемого справочника (плоский / иерархический)
// для метода [Client.Dict].
const (
DictFilterOneLevel string = "ONELEVEL" // Плоский справочник
DictFilterSubTree string = "SUBTREE" // Иерархический справочник
)
// DictItem - элемент справочника.
//
// Подробнее см. "Спецификация API ЕПГУ версия 1.12",
// раздел "3. Получение справочных данных".
//
// Пример элемента справочника EXTERNAL_BIC:
//
// {
// "value": "044525974",
// "title": "044525974 - АО \"Тинькофф Банк\" г Москва",
// "isLeaf": true,
// "children": [],
// "attributes": [
// {
// "name": "ID",
// "type": "STRING",
// "value": {
// "asString": "044525974",
// "typeOfValue": "STRING",
// "value": "044525974"
// },
// "valueAsOfType": "044525974"
// },
// {
// "name": "NAME",
// "type": "STRING",
// "value": {
// "asString": "АО \"Тинькофф Банк\" г Москва",
// "typeOfValue": "STRING",
// "value": "АО \"Тинькофф Банк\" г Москва"
// },
// "valueAsOfType": "АО \"Тинькофф Банк\" г Москва"
// },
// {
// "name": "BIC",
// "type": "STRING",
// "value": {
// "asString": "044525974",
// "typeOfValue": "STRING",
// "value": "044525974"
// },
// "valueAsOfType": "044525974"
// },
// {
// "name": "CORR_ACCOUNT",
// "type": "STRING",
// "value": {
// "asString": "30101810145250000974",
// "typeOfValue": "STRING",
// "value": "30101810145250000974"
// },
// "valueAsOfType": "30101810145250000974"
// }
// ],
// "attributeValues": {
// "ID": "044525974",
// "CORR_ACCOUNT": "30101810145250000974",
// "BIC": "044525974",
// "NAME": "АО \"Тинькофф Банк\" г Москва"
// }
// }
//
// Пример элемента справочника TO_PFR:
//
// {
// "value": "087109",
// "title": "Клиентская служба «Замоскворечье, Якиманка» по г. Москве и МО",
// "isLeaf": true,
// "children": [],
// "attributes": [],
// "attributeValues": {}
// },
type DictItem struct {
Value string `json:"value"` // Код элемента справочника
ParentValue string `json:"parentValue,omitempty"` // Код родительского элемента
Title string `json:"title"` // Наименование элемента
IsLeaf bool `json:"isLeaf"` // [?] Признак наличия подчинённых элементов
Children []map[string]any `json:"children"` // Подчинённые элементы
Attributes []DictAttribute `json:"attributes"` // Дополнительные атрибуты элемента справочника [детально]
AttributeValues map[string]any `json:"attributeValues"` // Список значений дополнительных атрибутов элемента справочника [кратко]
}
// DictAttribute - дополнительный атрибут элемента справочника из структуры [DictItem].
type DictAttribute struct {
Name string `json:"name"` // [Не документировано]
Type string `json:"type"` // [Не документировано]
Value DictAttributeValue `json:"value"` // [Не документировано]
ValueAsOfType any `json:"valueAsOfType"` // [Не документировано]
}
// DictAttributeValue - значение дополнительного атрибута элемента справочника из структуры [DictAttribute].
type DictAttributeValue struct {
AsString string `json:"asString"` // [Не документировано]
TypeOfValue string `json:"typeOfValue"` // [Не документировано]
Value any `json:"value"` // [Не документировано]
}