|
как преобразовать таблицу значенйи в json на платформе 8.3.6 | ☑ | ||
---|---|---|---|---|
0
Sova112
18.02.16
✎
21:43
|
ТЗСтрока = setRulesParam.Добавить();
пишу вот так вот, говорит неврный тип ТЗСтрока.module ="invoices"; ТЗСтрока.subject = 2; ТЗСтрока.unit = 35; ТЗСтрока.right = "sign"; ТЗСтрока.value = 1; Запись = Новый ЗаписьJSON; ЗаписатьJSON(Запись, setRulesParam, Новый НастройкиСериализацииJSON); Запись.Закрыть(); |
|||
1
mikeA
18.02.16
✎
23:37
|
тз в json не сериализуется
сделай из неё массив тогда пролезет типы там вроде все примитивные у тебя если разбирать на том конце будет тоже 1С, можно запихнуть тз в хранилище значений с максимальным сжатием и передавать хранилище через xml. json тут не нужен - и так всё ужато. и ограничений на передаваемые типы гораздо меньше. |
|||
2
Ma3eIIa
19.02.16
✎
01:41
|
(1) можно массив со соответствием или структурой. вот тебе и тз
|
|||
3
mikeA
19.02.16
✎
12:47
|
(2) так будут названия колонок в каждой строке. лучше двухмерный массив
|
|||
4
Славен
19.02.16
✎
13:14
|
(3) структуру , ключи названия колонок, значение массив = получаем тз
|
|||
5
Sova112
19.02.16
✎
23:50
|
а как сделать такую структуру на основе ТЗ?
|
|||
6
Ma3eIIa
19.02.16
✎
23:57
|
(3) почему же ? делаем структуру (шапка,строкиТЧ) где в шапке массив колонок. в строки тч массив структур с ключем имя реквизита. а значение значение колонки
|
|||
7
Lexey_
19.02.16
✎
23:58
|
(5) если (4), то обойти все колонки, выгружая каждую в массив и вставляя массив в структуру
|
|||
8
Ma3eIIa
19.02.16
✎
23:59
|
Типа так
МассивКолонок = Новый массив(); МассивКолонок.Добавить("Колонка1"); МассивСтроТЧ = Новый массив(); МассивСтроТЧ.Добавить(Новый Структура("Колонка1, ЗначениеКолонки", 123)); Структура("Шапка,СтрокиТЧ",МассивКолонок, МассивСтроТЧ); Как то так |
|||
9
Ma3eIIa
20.02.16
✎
00:13
|
(5)
//Разбор СтруктураПередачиДанных = Новый Структура(); МассивШапка = Новый Массив(); Для каждого СТрКолонка Из ТЗ.Колонки Цикл МассивШапка.Добавить(СТрКолонка.Имя); КонецЦикла; СтруктураПередачиДанных.Вставить("Шапка", МассивШапка); МассивСтрок = Новый Массив(); Для каждого Стр Из ТЗ Цикл СтруктураСтроки = Новый Структура(); Для каждого СТрКолонка Из ТЗ.Колонки Цикл СтруктураСтроки.Вставить(СТрКолонка.Имя,Стр[СТрКолонка.Имя]); КонецЦикла; МассивСтрок.Добавить(СтруктураСтроки); КонецЦикла; СтруктураПередачиДанных.Вставить("СтрокаТЧ", МассивСтрок); //Сбор МассивШапка = СтруктураПередачиДанных["Шапка"]; МассивСтрок = СтруктураПередачиДанных["СтрокаТЧ"]; ТЗсбор = Новый ТаблицаЗначений; Для каждого Колонка Из МассивШапка Цикл ТЗсбор.Колонки.Добавить(Колонка); КонецЦикла; Для каждого ТекСтрока Из МассивСтрок Цикл новСтр = ТЗсбор.Добавить(); Для каждого СТрКолонка Из ТЗсбор.Колонки Цикл новСтр[СТрКолонка.Имя] = ТекСтрока[СТрКолонка.Имя]; КонецЦикла; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |