Имя: Пароль:
1C
 
Запрос на веб сервис в виде структуры. Можно ли получить в виде файла?
0 Radion
 
02.08.17
11:16
Запрос на веб сервис в виде структуры. Можно ли получить в виде файла?
2 Radion
 
02.08.17
11:24
(1)Преобразовать тип структуру в виде файла xml ? Спасибо.
3 Radion
 
02.08.17
11:49
Функция json(Объект)

            Тип = ТипЗнч(Объект);

            Если
                            Тип = Тип("Массив")
                    ИЛИ Тип = Тип("ТаблицаЗначений")
                    ИЛИ Тип = Тип("СписокЗначений")

                    Тогда

                    Количество = Объект.Количество();
                    Результат = "[";

                    Для н = 0 ПО Количество - 1 Цикл
                            Результат = Результат + json(Объект[н]) + ?(н < Количество - 1, ", ", "");
                    КонецЦикла;

                    Результат = Результат + "]";
                    Возврат Результат;

            ИначеЕсли
                            Тип = Тип("Структура")
                    ИЛИ Тип = Тип("Соответствие") Тогда
                    н = 0;
                    Количество = Объект.Количество();
                    Результат = "{";

                    Для Каждого Пара Из Объект Цикл
                            Результат = Результат + json(Пара.Ключ) + ": " + json(Пара.Значение) + ?(н < Количество - 1, ", ", "");
                            н = н + 1;
                    КонецЦикла;
                    Результат = Результат + "}";
                    Возврат Результат;

            ИначеЕсли Тип = Тип("СтрокаТаблицыЗначений") Тогда

                    Результат = "{";
                    Колонки = Объект.Владелец().Колонки;
                    Количество = Колонки.Количество();

                    Для н = 0 ПО Количество - 1 Цикл
                            Ключ = Колонки[н].Имя;
                            Результат = Результат + json(Ключ) + ": " + json(Объект[Ключ]) + ?(н < Количество - 1, ", ", "");
                    КонецЦикла;

                    Результат = Результат + "}";
                    Возврат Результат;

            ИначеЕсли Тип = Тип("ЭлементСпискаЗначений") Тогда
                    Возврат json(Объект.Значение);

            ИначеЕсли Тип = Тип("Строка") Тогда
                    Результат = Объект;

                    Результат = СтрЗаменить(Результат, "\",          "\\");
                    Результат = СтрЗаменить(Результат, "/",          "\/");
                    Результат = СтрЗаменить(Результат, """",         "\""");
                    Результат = СтрЗаменить(Результат, Символы.ВК,   "\r");
                    Результат = СтрЗаменить(Результат, Символы.Таб,  "\t");
                    Результат = СтрЗаменить(Результат, Символы.ПС,   "\n");

                    Возврат """" + Результат + """";

            ИначеЕсли Тип = Тип("Число") Тогда
                    Возврат Формат(Объект, "ЧРД=.; ЧН=0; ЧГ=0");

            ИначеЕсли Тип = Тип("Булево") Тогда
                    Возврат Формат(Объект, "БЛ=false; БИ=true");

            ИначеЕсли Тип = Тип("Дата") Тогда
                    Возврат json(Формат(Объект, "ДФ=yyyy-MM-ddThh:mm:ss"));

            ИначеЕсли
                            Объект = Неопределено
                    ИЛИ Объект = Null

                    Тогда Возврат "null";

            ИначеЕсли
                            Справочники.ТипВсеСсылки().СодержитТип(Тип)
                    Или Документы.ТипВсеСсылки().СодержитТип(Тип)

                    Тогда
                            Возврат json(Объект.УникальныйИдентификатор());

            Иначе
                    Возврат json(Строка(Объект));

            КонецЕсли;
    КонецФункции
4 Cyberhawk
 
02.08.17
11:50
ЯННП
5 h-sp
 
02.08.17
13:06
(2) фигней страдаете

СтрокаXML = ОбщегоНазначения.ЗначениеВСтрокуXML(Объект);
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.