Вход | Регистрация
 

Как реализовать двусторонний обмен между 1с и сайтом через json массивы и rest api?

Как реализовать двусторонний обмен между 1с и сайтом через json массивы и rest api?
Я
   Tarzan_Pasha
 
28.06.19 - 19:35
У веб-проектов, которые я делаю обычно реактивные морды. На фронтэнде редакторы разных форм, а бэкэнд написан на php (laravel + mysql) и размещается на обычной виртуальной машине VPS.
Такие примерно как и современная 1с, только работают они быстрее
https://drive.google.com/file/d/1yVpd38fMwrnTH4XKgr4ICJuJPG_3kw5Q/view?usp=sharing
https://i.imgur.com/Llgsvv1.png

А что нужно для того, чтобы этот бэкэнд подменить базой 1с?  То есть  мне нужно как-то сделать так, чтобы  к 1с я мог обращаться через Апи написанные мною же и чтобы в зависимости от названия АПИ и ее параметров 1с отдавала мне те или иные данные.

За счет чего это достигается?
Обычная файловая версия 1с ведь не подойдет?  

Понятно, что я должен написать функции на стороне 1с, чтобы они отдавали справочники, документы в зависимости от входящих параметров, но как организовать это? Для этого какой софт нужно разворачивать и какой сервер? И под линукс это дело можно развернуть?

Я просто застрял в ту эпоху, когда были только sql и файловые версии 1с и все было на обычных формах - неуправляемых. А для веба использовалась специальная компонента, написанная на вижуал бейсике с кучей багов. Сейчас то как вы это делаете?

Плюс вопрос:  Разрешает ли 1с использовать себя через веб-формы, размещенные в интернете так, чтобы пользователи могли зарегистрироваться на сайте, храниться в базе на сайте, но все товары и заказы использовали 1-пользовательской базы 1с?
То есть на сайте много пользователей и отдельный учет по ним, а в 1с аналитики по пользователям уже нет - там просто заказы, товары, а пользователи идут как контрагенты.


И вообще как считаете, такое дело может пользоваться спросом?
 
 
   palsergeich
 
1 - 28.06.19 - 19:37
(0) Да подойдет, но как бы сказать файловая версия в один момент принимает только данные от одного соединения, остальные в очереди будут.
Востребованость? ХЗ, не ты первый с этой идеей и готовые решения есть, даже на мисте недели 2 назад рекламилось.
   Сергиус
 
2 - 28.06.19 - 19:42
(0)Механизм веб или http сервисов для этого используется. Соответственно нужен веб-сервер(Апач или IIS). На файловой точно также можно развернуть, единственно конечно вопрос в  скорости работы связки Ответ/Запрос. Если будет получать какие-то сложные выборки из 1с, то конечно будет не мгновенно. А так все вполне рабочее.
   Tarzan_Pasha
 
3 - 28.06.19 - 20:01
(2)а если не файловая, то обязательно MS SQL сервер или можно под Linux развернуть на Postgre SQL Или Mysql ?
   palsergeich
 
4 - 28.06.19 - 20:02
(3) можно под Linux развернуть на Postgre SQL
   Tarzan_Pasha
 
5 - 28.06.19 - 20:05
теперь надо у Мани спросить как на этом сделать деньги
   Сияющий в темноте
 
6 - 28.06.19 - 20:07
Можно вообще rest api опубликовать и попробовать через него,но это очень нелегкий путь.
   Tarzan_Pasha
 
7 - 28.06.19 - 20:09
(6)так я это бы и хотел. а что это дает? избавляет от необходимости ставить платформу?
   Garykom
 
8 - 28.06.19 - 20:12
(0) Открой для себя ODATA.
   Garykom
 
9 - 28.06.19 - 20:13
   PiotrLoginov
 
10 - 29.06.19 - 00:21
Не въехал пока, о чем речь в (0).  Время позднее...  Наверное, что-то такое, о чем рассказывал Лазаренко http://catalog.mista.ru/public/883068/
   Tarzan_Pasha
 
11 - 29.06.19 - 21:30
(10)хорошие вещи он говорит. Но откликов мало поскольку большинство 1с-ников боятся выйти из зоны комфорта и о бучиться программированию под веб.
   Юрий Лазаренко
 
12 - 29.06.19 - 22:48
(11) Большинству 1Сников это никогда и не потребуется. Это очень узкий рынок, войти в который довольно сложно. И времени на вхождение потребуется много.
   Tarzan_Pasha
 
13 - 30.06.19 - 10:32
(12)да бросьте вы.. что сложного то?  это как помимо 1с поставить еще word...  Написать обмен между веб и 1с.
   palsergeich
 
14 - 30.06.19 - 11:11
(13) дело не в этом.
А зачем в связке web - 1с - СУБД собственно 1с.
   АгентБезопаснойНацио
 
15 - 30.06.19 - 11:14
(14) лицензия 1с...
   Юрий Лазаренко
 
16 - 30.06.19 - 11:30
(13) Ну-ну )
   Tarzan_Pasha
 
17 - 30.06.19 - 11:58
(14)Как зачем?  Такую конфигурацию как УТ11 или ЗУП или БП3.0 за год не напишешь. Плюс регулярные обновления. Считай Бэкэнд уже готов.
Веб нужен лишь для реализации дополнительного функционала (эл. подпись, хранения доп. настроек и данных пользователя, платежи онлайн и т.п. ) он расширяет возможности написанной конфигурации и позволяет работать без проблем через интернет при этом с более высокой скоростью, чем это на клиенте с Управляемыми формами. 1с нужна конечно же. Но при этом достаточно лицензии на 1 пользователя 1с.  Остальное всё будет реализовывать веб-интерфейс и дополнительная СУБД.
   Юрий Лазаренко
 
18 - 30.06.19 - 13:04
(17) "Но при этом достаточно лицензии на 1 пользователя 1с" - широко распространенное заблуждение.
   Garykom
 
19 - 30.06.19 - 13:29
(17) Фронт сложнее в написании чем бэк.

Это только 1С прикололась и совместила с упрощением для учетных систем.
   ДенисЧ
 
20 - 30.06.19 - 13:42
(19) Зависит от фронта и бека.
Я могу на фронте нарисовать кнопку "Уничтожить америцу". А на беке запустится процедура взлома доступа к ракетным шахтам и пуску оных ракет...
   Tarzan_Pasha
 
21 - 30.06.19 - 14:33
(19)ну чем сложнее то? Плюс для фронта есть готовые визуалные компоненты, например Ext JS или Vuetify.  Все компоненты есть. нужно только соединить их как предполагает макет и связать с данными, поставляемые бэкэндом.
   Tarzan_Pasha
 
22 - 30.06.19 - 14:33
(18)ну а в чем нарушение? как могут за это оштрафовать?
   Aleksey
 
23 - 30.06.19 - 14:43
(22) В соответствии с действующим Лицензионным соглашением, использование программных или аппаратных средств, уменьшающих количество пользователей, которые имеют непосредственный доступ к "1С:Предприятию 8", не уменьшает количества требуемых лицензий. Организация должна приобрести такое количество клиентских лицензий, которое будет не меньше числа пользователей, в действительности одновременно работающих с системой "1С:Предприятие 8".
(с) http://v8.1c.ru/predpriyatie/questions_licence.htm#mvv

Т.е. по сути работа без лицензии. Так что штрафавать рублем будут
   Aleksey
 
24 - 30.06.19 - 14:52
Т.е. если не цичтывать админитративку, то как минимум Ст. 146 УК РФ – Нарушение авторских и смежных прав Чаще всего часть 2: «Незаконное использование объектов авторского права или смежных прав, а равно приобретение, хранение, перевозка контрафактных экземпляров произведений или фонограмм в целях сбыта». Наказывается штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо обязательными работами на срок до четырехсот восьмидесяти часов, либо исправительными работами на срок до двух лет, либо принудительными работами на срок до двух лет, либо лишением свободы на тот же срок.
   Tarzan_Pasha
 
25 - 30.06.19 - 16:59
(23)(24)всё это шляпа, потому что неограниченное количество пользователей работает с нашей системой - Веб-сервисом. А веб-сервис обращается к 1с от имени одного пользователя. То есть пользователи веб-сервиса работают с веб-сервисом. А веб-сервис работает с 1с.
   Tarzan_Pasha
 
26 - 30.06.19 - 17:01
+ это так же как если я купил 1с и сам вношу в нее данные и формирую отчеты из этой 1с, а ко мне подходят сотрудники, которые сами не имеют доступа к 1с базе но я для них вношу туда в базу всё, что они принесут на бумажном носители и потом формирую отчеты и рассылаю им на емейл.
   Tarzan_Pasha
 
27 - 30.06.19 - 17:05
это то же самое, Что я куплю доступ к APi у какого-нибудь сервис-провайдера, например, для получения данных об организациях, о гос закупках и в свою базу буду считывать эти данные, обновлять их ежедневно. А потом буду продавать доступы к кабинетам в своем онлайн сервисе. Я что в этом случае должен провайдеру платить за каждого зарегавшегося у меня клиента? смешно
   Юрий Лазаренко
 
28 - 30.06.19 - 17:43
(25) А это ещё одно широко распространенное заблуждение.
   Aleksey
 
29 - 30.06.19 - 17:49
(25) Даже мысли небыло спорить с тобой. Я просто оставил это здесь
   Tarzan_Pasha
 
30 - 30.06.19 - 18:46
(28)(29)да и я не хотел бы спорить. Просто знаю закон. И хотел методом дискуссии придти к правильному выводу.
 
 
   Юрий Лазаренко
 
31 - 30.06.19 - 18:47
(30) Надо знать лицензионное соглашение 1С
   Tarzan_Pasha
 
32 - 30.06.19 - 19:03
(31)но оно же не может требовать от нас того чего не имеет права требовать. понимаете? если мы подключим к ней несколько пользователей, то это нарушение. Если же мы подключим к ней посредника, который будет обеспечивать один лишь сеанс обращения к базе, то это уже не нарушение соглашения.
   Юрий Лазаренко
 
33 - 30.06.19 - 19:17
(320 Нарушение, потому что работа идет не через посредника. Если так размышлять, то и роутер можно считать посредником.
   Aleksey
 
34 - 30.06.19 - 19:42
(32) Законом запрещено правообладателю определять порядок доступа и количество необходимых лицензий?
На что вы ссылаетесь говоря "оно же не может требовать от нас того чего не имеет права требовать"? Почему вы считаете требования (23) незаконным?
   rsv
 
35 - 30.06.19 - 19:47
(0) «Я просто застрял в ту эпоху, когда были только sql и файловые версии 1с и все было на обычных формах - неуправляемых»
А сейчас что то по другому ? Нет форм в 1с или она для работы в серверном варианте не требует рсубд ?
   rsv
 
36 - 30.06.19 - 19:50
(35) вопрос в (0) скорее - как не использовать функционал форм движка 1с но при этом данные в таблицы колотить и получать
   Tarzan_Pasha
 
37 - 30.06.19 - 19:55
(34)А потому что там два предложения которые не вытекают одно из другого. их нужно рассматривать по отдельности:

1)использование программных или аппаратных средств, уменьшающих количество пользователей, которые имеют непосредственный доступ к "1С:Предприятию 8", не уменьшает количества требуемых лицензий.

- Мы не используем программы или аппаратные средства, уменьшающие количества пользователей, которые имеют непосредственный доступ к 1с:предприятию 8"  поскольку наши пользователи заводятся и хранятся в базе данных сайта и они не имеют непосредственного доступа к "1с-предприятиею 8".


2)Организация должна приобрести такое количество клиентских лицензий, которое будет не меньше числа пользователей, в действительности одновременно работающих с системой "1С:Предприятие 8".

- наши пользователи не будут работать с системой 1с:предприятие 8". они будут работать с сайтом, которые предоставляют им копию информации, находящейся в базе 1с.

(35)имелось ввиду то что появились другие технологии - тонкий клиент и т.д и т.п. но не буду отклоняться от темы. это не важно уже.
(36)да. как получать доступ к данным 1с и желательно не используя платформы 1с. Но последнее - это не обязательно. Сейчас выяснили, что нужно просто публиковать приложение для возможности доступа к Rest Api.
   Юрий Лазаренко
 
38 - 30.06.19 - 20:52
(37) Эта тема перетиралась уже десяток раз. Делали запрос в 1С, получили ответ. При работе через http-сервисы лицензии должны быть куплены.
   Tarzan_Pasha
 
39 - 30.06.19 - 21:12
(38)дело в том, что мне знакома позиция 1с. Но я ставлю под сомнение законность их требования. http-сервисы - это одно. Но когда данные конечным пользователем берутся из базы данных сайта, построенного на другой СУБД, имеющего свои АПИ для извлечения данных, то ничего 1с с этим сделать не имеет права юридически.  Пусть сайт дублирует данные базы 1с.  
Имею я права выгрузить из своей 1с данные в разработанном мною формате на внешний носитель? Имею
Имею я права загрузить данные из этого насителя в другую СУБД? Имею.
Имею ли я права разместить эту СУБД в вебе и раздавать к ней доступ? Имею.

1с может лишь запретить нескольким пользователям извлекать данные в реальном времени из себя по протоколу http, к примеру. А запретить извлекать данные из сторонней Субд она не имеет права.
   Tarzan_Pasha
 
40 - 30.06.19 - 21:14
(38)Битрикс24, и 1с Битрикс же работают по такому же принципу - настраивается синхронизация данных между 1с и сайтом и с настроенной частотой происходит обмен между сайтом и 1с. Число пользователей интернет магазина может быть огромным. а 1с может быть однопользовательской.
   palsergeich
 
41 - 30.06.19 - 21:15
(39) По этой схеме, конечно без проблем.
   Юрий Лазаренко
 
42 - 30.06.19 - 21:46
(39) Так тебе надо "загрузить данные из этого насителя в другую СУБД" или "бэкэнд подменить базой 1с"? Если загрузить, то какой смысл что-то писать, если все это уже давно написано, тем же Битриксом, например?
   Garykom
 
43 - 30.06.19 - 21:51
В последних 1С все очень просто и банально ибо есть json и http-сервисы.

Не понимаю проблемы (0) кроме того что пхп и лара лишние.
   Garykom
 
44 - 30.06.19 - 21:58
Кстати в тему JOB: Будущее рынка 1С


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

Т.е. просто описывается какой нужен rest api чтобы клиент (как фронт) мог работать а что там позади крутится глубоко пофиг, разные фреймворки готовые под java и прочие c# c golang.
И пофиг какая база данных.

Но под это дело нужна какая то иная модель лицензирования что конечно усложняет.
   Garykom
 
45 - 30.06.19 - 22:00
Просто пришлось ваять фронт на html/css/js ибо спец заболел и это реально ужас.
Бэк то легко наваял даже в куче вариантов апи чтобы выдавал.

Какая все таки классная штука УФ для своих задач.
   Tarzan_Pasha
 
46 - 01.07.19 - 09:19
(44)ну вот. типа того и нужно.  ну а пхп и лара или на их месте может быть java - это для дополнительного функционала, который нет смысла класть в 1с. Расширение за пределами базы 1с так сказать.

(45)конечно если нет определенного уровня навыков, то фронт покажется неприятной штукой. Но по факту то на таком уровне как пришлось делать вам - это очень просто. к тому же лучше использовать готовые компоненты где не понадобится даже css и html.  Но для этого нужно будет знать фреймворк vuetify к примеру.
   Юрий Лазаренко
 
47 - 01.07.19 - 10:30
(46) "ну вот. типа того и нужно"
Тогда зачем там промежуточная СУБД на сайте?


Список тем форума
Рекламное место пустует  Рекламное место пустует
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.