@nopik

Передача данных из приложения в 1С?

Возможно ли настроить произвольную конфигурацию 1С для получения данных от REST сервера?
Нагуглена куча ссылок на внутренний обмен между 1С и 1С, или передачу данных из 1С посредством OData.
А возможно-ли то же самое - но наоборот? Т.е. указать адрес сервера, а 1С сама получит объекты обмена и заберет их.
В идеале хотелось бы определить на сервере готовые диалоговые(или HTML) формы и какие-то стандартные для 1С элементы обмена для передачи таблиц, изображений, содержимого полей, состояний удаленной системы и т.п.
Нужно отображать ход и результаты лабораторных испытаний в 1С с возможностью управления процессом в реальном времени и передачи выбранных полей в виде каких-то стандартных типов приходно-расходных транзакций (такие в 1С вообще есть???) и документов. По COM я могу передать 1С список любых объектов - но не знаю, как объяснить ей - куда их засунуть.
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 4
@Dementor
программист, архитектор, аналитик
nopik, прочел вопрос и комментарии, пришел к выводу, что вы просто не поняли, что такое 1С.

Начать нужно с того, что фирма "1С" использует бренд "1С" для созданной ею платформы "1С:Предприятие", в котором можно описывать требуемую логику хранения и обработки данных на языке "1С", а готовые для эксплуатации решения называются "конфигурациями 1С" (УТ, УП, УХ и остальные буквы). Если приводить аналоги, то платформа 1С - это JVM, язык 1С - это Java, а конфигурации 1С - это программы, которые могут быть написаны на базе Sping Boot (в 1С - это БСП) или J2EE (более старые решения типа УПП).

Нагуглена куча ссылок на внутренний обмен между 1С и 1С, или передачу данных из 1С посредством OData.

OData - это стандартный интерфейс платформы, который позволяет получить веб-доступ ко всей функциональности конкретного решения. Обмен данными происходит в две стороны - можно реализовать сложные CRUD-операции.

А возможно-ли то же самое - но наоборот? Т.е. указать адрес сервера, а 1С сама получит объекты обмена и заберет их.

Конечно может! Можем даже расширить абстракции - Операционная Система может забирать данные, серверное железо может забирать данные, Интернет может забирать данные, Вселенная может забирать данные.

Компьютерные технологии только в фильмах Джеймса Кэмерона обладают самосознанием, а в реальной жизни выполняют ровно то, на что их программируют программисты. Хотите реализовать "получит объекты обмена и заберет их" - напишите код, который будет подобное делать (или убедитесь в существовании уже написанного).

В идеале хотелось бы определить на сервере готовые диалоговые(или HTML) формы

Кто вас ограничивает? Изучайте JavaScript и другие веб-технологии, и реализуйте любые веб-формы согласно вашего полета фантазии.

В поставке "1С:Предприятия" есть собственный веб-клиент, для работы с которым необходим работающий веб-сервер (IIS, Apache) и установленная компонента для работы с веб-серверами (раз читали про OData, то должны знать). Это позволяет получить доступ к данным конкретной базы 1С через браузер, но только при условии, что конфигурация 1С написана в режиме совместимости с веб-клиентом (т.е. только новые конфигурации и даже среди них далеко не все).

какие-то стандартные для 1С элементы обмена для передачи таблиц, изображений, содержимого полей, состояний удаленной системы и т.п.

Уже пошли какие-то фантазии. Решения 1С в вебе могут работать со стандартными для веба "элементами обмена для передачи" - это типы JSON и XML - т.е. строки с числами плюс двоичные данные в формате base64

Нужно отображать ход и результаты лабораторных испытаний в 1С с возможностью управления процессом в реальном времени и передачи выбранных полей в виде каких-то стандартных типов приходно-расходных транзакций (такие в 1С вообще есть???) и документов.

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

в виде каких-то стандартных типов приходно-расходных транзакций (такие в 1С вообще есть???)

Из перечисленных терминов в 1С есть только "стандартные типы" - это числа, строки, булево, даты и ряд более сложных типов для работы с функциональностью платформы (работа с ОС, работа с архивами, работа с криптографией и так далее). Про понятие "приходно-расходные транзакции" никогда не слышал. В торговом документообороте есть понятие "приходно-расходных документов", которые еще называют "приходники" и "расходники", которые реализованные в некоторых конфигурациях 1С с торговым и бухгалтерским уклоном (те самые буквы - УТ, УП, УХ). "Транзакция" - это термин из теории баз данных, который позволяет как единую операцию выполнить несколько действий, которые должны одновременно или записаться или отклонится - платформа 1С реализовывает свои варианты транзакций и позволяет программистам описывать собственные для групповых обработок.

По COM я могу передать 1С список любых объектов - но не знаю, как объяснить ей - куда их засунуть. С кодом для COM проблем нет - он есть и будет любой (при чем тут вообще Delphi - непонятно) - но для него нужна, как минимум, Windows. API моего сервера тоже есть - с ним тоже никаких проблем.

Во первых, использование Windows и COM - это для пиратов, или очень богатых; обычные бизнесы, которым нужна стабильная работа и которые не хотят проблем, используют Linux.
Во вторых, по COM вы никуда и ничего не можете передать. Вы с помощью COM создаете справочники, документы и записи регистров, заполняете их вашими данными и записываете в базу. Исключением будут вызовы функций конфигураций, но тут вам и думать не нужно - просто передавайте как параметры ваши "список любых объектов", а их обработку внутри функции уже описал программист конфигурации.

И я ничего не хочу делать под 1С, для 1С или средствами 1С

Выше куча текста про то, как хотите делать веб-порталы и обработку данных " под 1С, для 1С или средствами 1С", а теперь даете заднюю??? Определитесь чего хотите!!!

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

А вы в этой схеме каким боком? Десятки тысяч (сотни тысяч?) пользователей документооборота 1С ежедневно работают в своих базах и получают все что им там нужно. Или вы тот самый "вымогатель", который хочет встроится в "схему"?

отсюда и вопрос: может ли это... изделие... получать данные извне не специфично к конфигурации как УТ, УП, УХ и остальные буквы, а универсально

Универсально - это и есть через открытые API - OData в вебе и COM на Windows. Все остальные варианты уже специфичны для конкретных конфигураций.

Есть, в принципе, клиент на NativeAPI - но простому пользователю, без редактирования конфигурации (так же как и на COM) доступа к нему нет - а если все таки есть - то скажите, где.

Не существует никаких "клиент на NativeAPI"! NativeAPI - это технология (описание API) для написаний внешних компонент для работы в адресном пространстве работающей базы 1С, как собственных библиотек. Примеры компонент написанных на технологии NativeAPI есть в стандартных торговых конфигурациях - это работа со сканерами штрихкодов, с электронными весами и принтерами чеков.

Если есть документ, описывающий как 1С может запросить объекты с сервера не 1С - то скажите, как он называется.

И наконец-то кольцо замкнулось и мы вернулись к тому с чего начали - у базы 1С, конфигурации 1С, кода 1С, сервера 1С и так далее нет никакой свободы воли - это все платформа для запуска написанного программистами кода. Если кому-то требуется запросить данные с внешнего сервера, то он пишет код или ищет уже готовый, кем-то другим написанный (на гитхабе или инфостарте).
Ответ написан
Комментировать
@kalapanga
1С - это последнее, что пришло бы в голову, для того, чтобы " отображать ход и результаты лабораторных испытаний с возможностью управления процессом в реальном времени". Но выбор инструмента разработки - это Ваше дело.
А возможно-ли то же самое - но наоборот?
Да, в 1С есть средства для выполнения http-запросов. Не найти этого в интернете надо суметь.
1С сама получит объекты обмена и заберет их
Что значит сама? Что запрограммируете, то и будет делать. Надо писать код.
хотелось бы определить на сервере...
Это и будет API Вашего сервера. Вы придумываете и реализуете, что и в каком виде будет отдавать Ваш сервер в ответ на тот или иной запрос.
куда их засунуть
По работе через COM читайте документацию. Есть целая книжка с примерами на Delphi. Всё тоже легко находится.
Ответ написан
Комментировать
@nopik Автор вопроса
С кодом для COM проблем нет - он есть и будет любой (при чем тут вообще Delphi - непонятно) - но для него нужна, как минимум, Windows. API моего сервера тоже есть - с ним тоже никаких проблем. Проблемы как всегда, исключительно с 1С. И я ничего не хочу делать под 1С, для 1С или средствами 1С - нужно дать возможность потребителю, имеющему документооборот в 1С взять то, что он захочет не прибегая к услугам вымогателей - отсюда и вопрос: может ли это... изделие... получать данные извне не специфично к конфигурации как УТ, УП, УХ и остальные буквы, а универсально. Есть, в принципе, клиент на NativeAPI - но простому пользователю, без редактирования конфигурации (так же как и на COM) доступа к нему нет - а если все таки есть - то скажите, где. Если есть документ, описывающий как 1С может запросить объекты с сервера не 1С - то скажите, как он называется.
Вопрос был как 1С получить данные с REST сервера, а не наоборот.
Ответ написан
fosihas
@fosihas
Автоматизации учета на 1С.
Возможно ли настроить произвольную конфигурацию 1С для получения данных от REST сервера?


https://v8.1c.ru/platforma/integraciya/

выбирайте что вам нравится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы