Related Posts
- Получение логина и пароля техподдержки 1С из базы
- Класс для вывода отчета в Excel
- Счет-фактура для УПП
- Библиотека классов для создания внешней компоненты 1С на C#
- Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
- Прайс-лист с артикулом в отдельной колонке
Хорошая идея для небольших объемов данных: сверка, синхронизация маленьких таблиц и т.п.
Для выгрузки/загрузки полных объемов данных проще сохранить в источнике массивные данные в файл JSON и затем получить его в приемнике и обработать.
Сразу видно не читалиhttps://its.1c.ru/db/content/v8std/src/d810/i8100770.htm?_=1528299650
Для вашего примера достаточно OData без создания http-сервиса
А по http-сервисам вот:
П.С. Это больше на костыль похоже, причем на дыру в безопасности.
А я-то уж по заголовку решил, что любой запрос в OData преобразуется.
а насколько правильно использовать «ЗначениеВСтрокуВнутр» в 2018 году?
(4) Это типовая функция платформы. Все зависит от задачи.
Например в УПП есть регистр сведений СоответствиеОбъектовДляОбмена, где хранятся текстовые ссылки на объекты в другой базе.
(4)
А тамвнутри тот же XML, только заююченый )))
(6) Но 1С вот что пишет:
«Примечание:
Используется для сохранения функциональной совместимости с 1С:Предприятием 7.7. Использовать для других целей не рекомендуется. «
(6) значениевстрокувнутр < сериализация в JSON < сериализация в XML по скорости
(8)Подключение на прямую к базе < http-сервисов + преобразования… И?
Суть не в этом.
Данный пример просто опасен.
В любой параметр можно запихнуть код выполняющий вредное действие (создать пользователя, додать себе прав, удалить что либо, прочитать и т.д.). Вот что главное!
И кто то еще и скачает и воткнет сию разработку.
П.С. Я когда то тоже нечто подобное навоял. Создал HTTP-сервис и метод «Выполнятор» из названия не трудно догадаться, что это за выполнятор был.
Посылал целый кусок кода и параметры в JSON, в куске кода который передавал описывал в каком виде вернуть данные.
Крутая вещь я вам скажу! Так я думал… А потом спустя пару месяцев ночью проснулся и вздрогнул от того, что я натворил. Слава богу всего в 4-х местах успел только использовать.
Потом еще и статью почитал которую выше написалhttps://its.1c.ru/db/content/v8std/src/d810/i8100770.htm?_=1528299650
Так что ЗначениеВСтрокуВнутр это лишь цветочки…
(2) У вас отличный фундаментальный труд, на освоение которого нужно потратить от трех дней и больше, если есть возможность и время копать глубоко.
Тут конкретный узкоспециализированный пример, освоить который можно за час и оставшееся время посвятить уже решению задачи.
(9) Спасибо за комментарий. Вместе мы сделали код безопаснее.
Результ = «»;
Значение1 = СтрЗаменить(СтрСтр.Значение,»;»,»»); //запрет кода 1с с двумя и более операторами
Выполнить(«Результ = » + Значение1);
Теперь я не могу придумать вредоносный код с одним оператором. Который начинается «Результ =».
Скриншот исправил. Файл перезалил.
не нравится «выполнить()» — сделайте через «Запрос.Выполнить()»
моя нетленка в тему
(10)
Есть конкретно OData, ее использование позволит сделать данную задачу еще быстрее и без создания бреши в безопасности.
П.С. Можно потратить час сейчас и X-дней потом чиня последствия. Беречь время правильно, но правильно беречь время лучше!
(13) Вас понял, но я рассматривал это как пример организации http сервиса с post запросом/ответом в формате JSON для человека который начал с нуля.
(14)Вот вам и pos и get, пример простой, но полезный.
Мобильный клиент + HTTP Сервис + Расширение конфигурации
(11)Одну заплатку поставили, а сколько их еще будет?
Кто его знает, не хочу ломать голову, но вот вам замена «;»=Символ(59)
Специальный запуск долгих запросов или получение данных из баз в которые не должно было быть доступа…
(16)Это выполняемый код тут Символ(59) не прокатит в качестве разделителя операторов.
(17)Как я уже говорил не хочу ломать голову. Я лишь показал как можно протащить команду с «;»
Выполнить ее или записать куда то для выполнения это уже следующая стадия размышлений.
Показываю как текст команды протащить:
Показать
(18) красиво)
Тогда еще такую заплатку. Использовать нестандартную переменную запроса.
Запрос234а15а2 = Новый Запрос;