Выгрузка любого запроса или таблицы значений в текст JSON

Публикация № 1191672

Администрирование - Администрирование данных 1С - Обработка справочников

JSON Запрос Таблица ТаблицаЗначений Выгрузка обмен http POST

Отчет позволяет выгрузить любые данные из 1С в JSON текст, выполнив произвольный запрос к данным.

Отчет позволяет выгрузить любые данные из 1С в JSON текст, выполнив произвольный запрос к данным, прямо на форме.

Сами функции позволяют использовать их в коде, чтобы легко получать JSON текст из любых произвольных запросов или таблиц значений.

Также в JSON можно выгружать просто любую таблицу значений. Запись идёт через 1С объект "ЗаписьJSON". 

Получившийся JSON текст можно использовать для обмена с сайтами через HTTP POST запросы.

Функции отчета подойдут для любых версий 1С, где есть этот объект, то есть после платформы 8.3.6. 

А визуальная часть будет работать на любой конфигурации с управляемыми формами. Отчет может быть подключен к дополнительным отчетам и обработкам в стандартные конфигурации.

Тестировалось на движке 1С: 8.3.8.1784, 8.3.13.1513, 8.3.16.1063 и на конфигурациях УТ 11.2.3.108, 11.4.6.166, БП 2.0.66.91, ЗУП 3.1.10.307

Кусочек кода из обработки:
 

//Функция Выполнения Запроса и конвертации его в JSON
Функция ЗапросВJsonСервер(ТекстЗапроса,ПараметрыЗапроса) 
    
    //Формируем ТЗвых из запроса
    ТЗвых = ЗапросВТЗ(ТекстЗапроса,ПараметрыЗапроса);
    
    //Это название массива для выгрузки в JSON
    ИмяТаблицы = "Товары"; 
    
    //Формируем текст JSON из ТЗвых
    ВыхТекст = ТЗвJSON(ТЗвых,ИмяТаблицы);
    
    Возврат ВыхТекст;    
КонецФункции    

 

Скачать файлы

Наименование Файл Версия Размер
Запрос или Таблица Значений в JSON
.erf 8,77Kb
07.02.20
12
.erf 1.0 8,77Kb 12 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. PLAstic 247 07.02.20 11:57 Сейчас в теме
И как передаётся инфа о типах колонок? О ссылочных сущностях? Или речь только о примитивных типах?
Как выгружается пустой результат?
5. user796054 14 07.02.20 15:10 Сейчас в теме
(1) Выгрузка в текст, подразумевает что туда куда это будет загружаться - нет таких сущностей. Типы колонок не имеют значения, когда это всеравно всё переходит в текст, который будет разбираться на той стороне. Ну если нужно передать например сущность, то в запросе просто выводить все необходимые поля по сущности - которые будут по сути примитивными типами.

Пустой результат будет что-то типа:
{ 
 "type": "ИмяТаблицы", 
 "data": []
} 
9. PLAstic 247 07.02.20 15:23 Сейчас в теме
(5) Проверь. Тега data вообще не будет. Если ничего не изменили в 8.3.15.
10. user796054 14 07.02.20 15:26 Сейчас в теме
(9) Будет, потому что начало и конец формируется в ручном режиме как текст.
Данный отчет - это просто наработки, которые легко использовать у себя в коде. Ну или кому надо быстро данные перевести из 1С в JSON - там можно и руками "заголовок" подправить как хочется.
20. PLAstic 247 10.02.20 10:09 Сейчас в теме
(10) Считаю, обработка даже вредна, т.к. зачем-то учит пользоваться потеговым сбором и разбором текстов вместо использования CериализатораXDTO или даже фабрик и схем XDTO, если обмен будет регулярным. Почитайте на эту тему, видимо, это следующий шаг для вас.
21. user796054 14 11.02.20 09:25 Сейчас в теме
(20) Да, вероятно это может быть следующим шагом, когда надо что-то одинаковое всегда выгружать и загружать.
Но потегового сбора текста тут нет. Вот основная директива, которая делает всю задачу перевода итогов запроса в текст JSON:
ЗаписатьJSON(ЗаписьJSON, ВхМассив);

Поэтому не очень понятно как тут можно использовать CериализаторXDTO. Разбора JSON тут нет. Сможете подсказать?
2. awk 697 07.02.20 12:44 Сейчас в теме
Ждем обработку с функциями Сложить(А,Б), Вычесть(А,Б)...

Жесть....
CyberCerber; TimurD; +2 Ответить
3. VmvLer 07.02.20 14:51 Сейчас в теме
(2) я бы в заголовок вставил еще "можно использовать в блокчейне"
сразу +100
CyberCerber; the1; awk; +3 Ответить
4. awk 697 07.02.20 15:05 Сейчас в теме
(3) Ну и одобрено РПЦ... Тогда +100 к морали :)
6. user796054 14 07.02.20 15:15 Сейчас в теме
(4) РПЦ не одобрено, как и Ваш троллинг. Никто не претендует на какую-то уникальность или сложность, но в качестве готовой функции для простейшей выгрузки в JSON формат данных из 1С - почему бы и не воспользоваться. Если есть способ проще и быстрее, как выгрузить любые данные из 1С в JSON - пишите.
14. awk 697 07.02.20 15:39 Сейчас в теме
(6) ОК.

Тогда дарю всем:

Функция ЗначениеВСтрокуJSON(Значение) Экспорт
	Значение1 = Значение;
	Если ТипЗнч(Значение) = Тип("ТаблицаЗначений") Тогда
		Значение1 = ОбщегоНазначения.ТаблицаЗначенийВМассив(Значение);
	КонецЕсли;
	Запись = Новый ЗаписьJSON;
	Запись.УстановитьСтроку();
	ЗаписатьJSON(Запись, Значение1,,"ПростаяФункцияПреобразованияJSON", ЭтотОбъект);
	Возврат Запись.Закрыть();
	
КонецФункции


Функция СтрокаВЗначениеJSON(Строка, ПрочитатьВСоответствие=Ложь) Экспорт
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(Строка);
	Значение = ПрочитатьJSON(Чтение, ПрочитатьВСоответствие);
	Чтение.Закрыть();
	Возврат Значение;
КонецФункции


Функция ПростаяФункцияПреобразованияJSON(Свойство,Значение,ДополнительныеПараметры,Отказ) Экспорт
	Если ОбщегоНазначения.ЭтоСсылка(ТипЗнч(Значение)) Тогда
		Возврат XMLСтрока(Значение);
	КонецЕсли;
КонецФункции
Показать
purgin; CyberCerber; acanta; +3 Ответить
16. user796054 14 07.02.20 17:00 Сейчас в теме
(14) Что-то не увидел запроса к данным в вашем коде, и еще
ЗаписатьJSON(Запись, Значение1,,"ПростаяФункцияПреобразованияJSON", ЭтотОбъект); 

Как-то по ошибке вываливается.

Пока никак в качестве готовой функции для получения выгрузки данных использовать не получается. Но в целом конечно направление верное, подобным способом и сделана "конвертация" у меня, но ваш код пока не рабочий и не для запросов.
7. user796054 14 07.02.20 15:20 Сейчас в теме
(3) В этом и смысл, что можно быстро использовать где угодно, хоть в блокчейне. Иметь приличное количество таких небольших "обработок" - очень удобно, не думаешь над кодом, а думаешь над алгоритмом.

Можно строить дом из блоков, можно из кирпичей, а можно и из песка с глиной. Но проще работать с модулями, чем делать всё с нуля.
11. user796054 14 07.02.20 15:30 Сейчас в теме
(2)
Функция Сложить(Вх1,Вх2)
	Попытка
		Возврат Число(СтрЗаменить(СтрЗаменить(Вх1," ",""),Символы.НПП,""))+Число(СтрЗаменить(СтрЗаменить(Вх2," ",""),Символы.НПП,""));
	Исключение
		Возврат Ложь;
	КонецПопытки;
КонецФункции


Вторую не осилил, но думаю что повод ответить снова предоставил, ведь больше заняться нечем, кроме как оставлять комментарии не о чем.
8. acanta 73 07.02.20 15:22 Сейчас в теме
А системный раздел в рам диск уже не в моде?
12. user796054 14 07.02.20 15:32 Сейчас в теме
(8) Мода возвращается, особенно к тем, кому раньше она была не интересна.
13. Pixar0000 07.02.20 15:35 Сейчас в теме
выгрузка сама в себе - потом пилить со стороны приема это "разгребать" - JSON так не работает
15. user796054 14 07.02.20 16:17 Сейчас в теме
(13) Поясните как "так не работает" текстовый формат, который на самом простом уровне представляет легкочитаемые конструкции, которые так же легко десериализуются в разных языках. В данном случае, что сериализация, что обратный процесс максимально простой и универсальный. Не требующий сложного разбора. А разгребать, возможно потребуется, уже получившийся объект, но без этого никуда.

Придумайте как одинаковым способом будет удобнее выгрузить справочник или например регистр или может быть документ, так чтобы разгребать не надо было? Ну или хотя бы предложите, чтобы понимать куда двигаться и ради чего?
Оставьте свое сообщение

См. также

Универсальные инструменты 1С

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Универсальные обработки Прочие инструменты разработчика

Свободно распространяемый набор универсальных обработок и отчетов в виде расширения для разработки и поддержки, которое работает во ВСЕХ видах клиентских приложений и во всех операционных системах, которые поддерживает платформа 1С:Предприятие, кроме мобильных. Консоль запросов - консоль отчетов - консоль кода - редактор объектов базы данных - удаление помеченных объектов - поиск и удаление дублей - редактор констант - консоль заданий - групповая обработка справочников и документов - динамический список - поиск ссылок на объект - регистрация изменений для обмена данными - структура хранения базы - консоль HTTP запросов-консоль вебсервисов- консоль сравнения данных- информация о лицензиях- загрузка из табличного документа-файловый менеджер-все функции- навигатор по конфигурации-конструктор регулярных выражений-Выгрузка загрузка XML с фильтрами

1 стартмани

21.01.2020    14170    259    cprit    74       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

Полезные процедуры и функции для программиста

Статья Программист Нет файла v8 1cv8.cf Россия Абонемент ($m) Практика программирования Универсальные функции

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

1 стартмани

07.10.2019    19410    9    HostHost    27       

Лучшие программы за прошедший месяц Промо

Инфостарт подготовил ТОП-25 самых продаваемых и популярных на текущий момент программ. При формировании списка учитывается аналитика продаж и запросы клиентов за последний месяц.

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных Обмен через XML WEB Разработка

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    23859    25    riposte    63       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Проверка VAT номеров

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    8127    wtlz    1       

Использование подсистемы БСП "Заполнение объектов"

Статья Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    19869    10    ids79    23       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом

Инструменты и обработки Программист Пользователь Архив с данными v8 КА1 БП2.0 УТ10 УПП1 Windows Абонемент ($m) Печатные формы документов Универсальные функции Email

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    17786    13    stvorl    0       

Екатеринбург.Online: Голосование продолжается Промо

Продолжается голосование за доклады на INFOSTART MEETUP Екатеринбург.Online! Лучшие из них попадут в окончательную программу онлайн-митапа! Присоединяйтесь к голосованию и покупайте билеты - 3 000 рублей за 8 часов продуктивной пятницы!

3000

Работа с публикациями "Инфостарт"

Инструменты и обработки Программист Архив с данными v8 УУ Абонемент ($m) Практика программирования О сообществе WEB

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    14380    12    RocKeR_13    16       

HTTP Сервисы: Путь к своему сервису. Часть 1

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Практика программирования WEB

Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.

1 стартмани

15.07.2018    59516    24    dsdred    24       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Пример использования REST API Яндекс Диска

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    18152    30    MKFreeUser    14       

Обмен файловыми базами данных через Yandex диск

Инструменты и обработки no Приложение (exe) v8 Россия Windows Абонемент ($m) WEB

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    13434    6    slimper    1       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Конфигурация для просмотра публичных телеграм каналов

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) WEB

Просмотр и каталогизация в более удобном виде публичных телеграм каналов, групп и чатов.

1 стартмани

02.06.2018    13966    7    DO_WHILE_LOOP    7       

Автоматическое заполнение графиков в ЗУП 3.1

Инструменты и обработки Бухгалтер Архив с данными v8 v8::СПР ЗУП3.x Россия БУ Зарплата Учет рабочего времени Абонемент ($m) Обработка справочников

Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).

1 стартмани

05.05.2018    16806    19    notserioussam    2       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Внешние источники данных WEB

Внешняя обработка на управляемой форме для 1С версии 8.3 для доступа к сервисам Google Sheets c использованием протокола авторизации OAuth 2.0. Выполняет получение списка листов таблицы гугл, чтение таблицы гугл в табличный документ 1С и запись из табличного документа 1С в таблицу гугл. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

09.04.2018    29656    198    Ko1t    64       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Внешняя компонента для работы по Web-socket протоколу

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент WEB

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

5 стартмани

30.03.2018    18711    16    Ditron    66       

Построение маршрута доставки с расчётом расстояния для любой базы УФ

Инструменты и обработки Руководитель проекта Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Оптовая торговля Абонемент ($m) Универсальные обработки WEB

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    27133    40    KorotkovRV    16       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

А чё это вы здесь делаете, а?

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Разработчикам тиражных обработок близка и понятна проблема обратной связи с пользователем. Много важного и полезного можно почерпнуть, зная, что делает бухгалтер, который запустил обработку. В большом мире вэба сбор статистики на сайте дело привычное и даже обязательное. Эта статья покажет практику применения инструментов сбора статистики из мира веба для обработок на платформе 1С:Предприятие.

1 стартмани

21.01.2018    21063    30    infosoft-v    42       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример

Статья Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Если у вас возникает необходимость на форму влиять динамически и создавать элементы управляемой формы программно, а особенно хотите вывести программно (динамически) динамический список, вам будет интересна эта процедура. Процедура включает также возможность формирования своей командной панели (а-ля снятие галочки "Автозаполнение" у стандартной командной панели списка).

1 стартмани

19.01.2018    48343    66    rpgshnik    26       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования Универсальные функции

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    31156    25    agent00mouse    0       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Статья Программист Документ XML v8 1cv8.cf Абонемент ($m) Обмен через XML WEB

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    37943    51    sandybaev    23       

Сервер push сообщений “Push0k“ 18.05

Инструменты и обработки no Архив с данными v8 1cv8.cf Абонемент ($m) WEB

Аналог других “мессенджеров“. Позволяет практически все то же самое, что и другие решения. За исключением смайлов, эмодзи, голосовой и видео связи. Основное отличие от других решений, открыта и доступна для изменения серверная и клиентская часть месенджера. Общедоступной серверной части нет, за серверную часть отвечаете вы сами.

1 стартмани

19.12.2017    13790    13    PloAl    20