1. SP17081992 2 06.02.19 10:25 Сейчас в теме

Алгоритм десериализации табличного документа

Из табличного документа получено файл JSON с помощью сериализации и отправлено в другую программу.

Нужна из другой программы (не 1С) получить таблицу из этого JSON файла, а для этого нужна алгоритм десериализации табличного документа.
Ответы
Избранное Подписка Сортировка: Древо
2. SedovSU@mail.ru 292 06.02.19 13:28 Сейчас в теме
Скажите есть же возможность чтения JSON файлов? он вам не подходит?

Вот тут есть некое описание
https://infostart.ru/public/551972/
http://v8.1c.ru/o7/201410json/
4. SP17081992 2 06.02.19 16:03 Сейчас в теме
(2) Из файла могу читать данные, но таб. док сохраняется в файле не зная каким алгоритмом и не могу из файла получить таб. док. Для этого нужна алгоритм сериализации/десериализации таб. дока.
3. SedovSU@mail.ru 292 06.02.19 13:28 Сейчас в теме
Чтение похоже на чтение файла xml - все достаточно схоже
5. nikita0832 173 06.02.19 17:12 Сейчас в теме
ТабДок перегоняете в таблицу значений, а таблицу значений сериализуете в JSON.

Функция УпаковатьТаблицуВJSON(Таблица) Экспорт
		
	Запись = Новый ЗаписьJSON;
	Запись.УстановитьСтроку();
	МассивКолонок = Новый Массив;
	Для Каждого Колонка Из Таблица.Колонки Цикл
		МассивКолонок.Добавить(Колонка.Имя);
	КонецЦикла;
	
	Запись.ЗаписатьНачалоМассива();
	Для Каждого Строка ИЗ Таблица Цикл
		Запись.ЗаписатьНачалоОбъекта();
		Для Каждого Колонка ИЗ МассивКолонок Цикл
			Запись.ЗаписатьИмяСвойства(Колонка);
			Если ТипЗнч(Строка[Колонка]) <> Тип("Число") и ТипЗнч(Строка[Колонка]) <> Тип("Булево") Тогда 
				Запись.ЗаписатьЗначение(Строка(Строка[Колонка]));
			Иначе
				Запись.ЗаписатьЗначение(Формат(Строка[Колонка],"ЧН=; ЧГ="));
			КонецЕсли;
		КонецЦикла;
		Запись.ЗаписатьКонецОбъекта();
	КонецЦикла;
	Запись.ЗаписатьКонецМассива();
	Строка = Запись.Закрыть();
	Возврат Строка;
Конецфункции
Показать
6. SP17081992 2 11.02.19 21:32 Сейчас в теме
(5) В этом случии потеряется группировка таб дока
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 135 000 руб. до 135 000 руб.
Полный день

Программист 1С
Норильск
зарплата от 50 000 руб. до 80 000 руб.
Полный день

Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

Программист 1С
Ставрополь
зарплата от 40 000 руб. до 60 000 руб.
Полный день