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

Как забирать по api из 1с данные на сайт?

Как забирать по api из 1с данные на сайт?
Я
   Tarzan_Pasha
 
28.12.21 - 14:11
Одной из моих должностных обязанностей является настройки обменов нашего самописного сайта и различными системами, включая 1с. ранее я обходился штатными функциями выгрузки 1с через файл обмена отправляемый по http,
но сейчас возникла необходимость получать остатки в реальном времени в связи с чем прошу помощи - подскажите где есть материал по данному вопросу.

Наспамьте ссылок на статейки про работу с 1c Api и с примерами. Чтоб вытаскивать остатки, цены, товары и т.д и т.п. оттуда.
   PuhUfa
 
1 - 28.12.21 - 14:14
(0) https://infostart.ru/1c/articles/842751/
И дальше сколько нагуглишь по данной теме
   vde69
 
2 - 28.12.21 - 14:14
odata
   Kassern
 
3 - 28.12.21 - 14:16
(0) можете поднять http сервис, сайт будет стучатся к нему для получения остатков. Главное 1ску не заDDoSте и лучше на внешку не пихать
   acht
 
4 - 28.12.21 - 14:17
(0) > Одной из моих должностных обязанностей

Так вот какая она, "своя работа, где я вынужден пахать за гроши, но при этом иметь надежду, Что все переменится к лучшему когда-нибудь.." (С) Почему люди не становятся программистами, а продолжают получать гроши?
   Kassern
 
5 - 28.12.21 - 14:19
(4) забавно, человек задается вопросом, почему люди работают за гроши, когда вот она эра технологий, все есть в инете и сам же задает банальный вопрос, ответ на который есть по кнопочке "Я" в первых 3-4 строчках выдачи...
   polosov
 
6 - 28.12.21 - 14:33
   Tarzan_Pasha
 
7 - 28.12.21 - 14:48
(5)если бы вы были веб-разработчиком то понимали бы что поисковая система работает неправильно и выдает распиаренные ресурсы в первую очередь где контент далеко не лучшего качества. Поэтому куда надежнее обсудить вопрос в it сообществе.
(4)а кто сказал что у меня такая работа? Я конечно по сравнению с теми вакансиями где платят по 500-600 т.р. действительно получаю гроши но побольше большинства здесь на форуме зарабатываю + являюсь совладельцем и это всяко лучше чем работать на дядю плюс с ростом проекта увеличивается и доход. но не будем обо мне...
   Tarzan_Pasha
 
8 - 28.12.21 - 14:48
(1)(2)понял. спасибо.
   polosov
 
9 - 28.12.21 - 14:52
(7) Если бы ты был хоть каким-нибудь разработчиком, то знал бы, что работа поисковой системы зависит от запроса. И у каждой поисковой системы есть документация, где можно посмотреть как правильно составлять запросы.
   Kassern
 
10 - 28.12.21 - 14:54
(7) за что вы так с ресурсом ИТС (выдает распиаренные ресурсы в первую очередь где контент далеко не лучшего качества)?
   Tarzan_Pasha
 
11 - 28.12.21 - 14:55
(9)и что? а как работает выдача по поисковому запросу? анализ текста и ключевых слов. так вот дорвейщики тебе таких страниц нагенерируют не имеющих отношения к теме что те будут в топе всегда. А полезный материал внизу. плюс на форуме можно пообсуждать, позадавать вопросы, услышать мнение а не читать голый текст который чаще пишется нанятыми копирайтерами ради раскрутки ресурса которые не смыслят в теме а лишь составляют текста на основе других статей и нередко устаревших.
   Обработка
 
12 - 28.12.21 - 14:56
(9) +1
"Задайте правильный вопрос!" (с) Профессор из фильма Я робот.
   polosov
 
13 - 28.12.21 - 14:58
(11) https://v8.1c.ru/platforma/integraciya/
Это третья ссылка по запросу "методы интеграции 1с и сайта"
   Asmody
 
14 - 28.12.21 - 14:59
(0) [необходимость получать остатки в реальном времени] - вы торгуете на бирже?
   DGorgoN
 
15 - 28.12.21 - 15:03
(0) Будет ну очень тормознуто но проще через http сервис. Я бы предложил бы вариант через пакетную отправка изменений остатков через план обмена.
   Обработка
 
16 - 28.12.21 - 15:04
Битрикс ведь решает эту проблему..
   ManyakRus
 
17 - 28.12.21 - 15:05
Тебе нужно просто поставить 1 галочку в конфигураторе "Публиковать стандартный интерфейс OData"
остальное сделают web-программисты - сам заберут данные из 1С, остальное уже не твоя проблема :-)
работы на 1 минуту :-)
   Обработка
 
18 - 28.12.21 - 15:08
(17) Не совсем согласен. Я как раз вчера разбирался. Там надо еще и это...

&НаСервере
Процедура ВключитьОДАТАНаСервере()
    Массив = Новый Массив;
    //Массив.Добавить(Метаданные.Справочники.Контрагенты);

    //Массив.Добавить(Метаданные.Справочники.Номенклатура);

    //Массив.Добавить(Метаданные.Справочники.ВидыНоменклатуры);

    Массив.Добавить(Метаданные.Справочники.Склады);
    Массив.Добавить(Метаданные.Справочники.int_Магазины);
    Массив.Добавить(Метаданные.РегистрыНакопления.ТоварыНаСкладах);
    // активируем  

    УстановитьСоставСтандартногоИнтерфейсаOData(Массив);
    
КонецПроцедуры

Может быть еещ что то высплыть
   Гаврилин Игор
 
19 - 28.12.21 - 15:10
(0) Исползуйте кролика! Мы недавно внедрили, обмены с сайтом летают. В будущем серверы очередей вытеснят старомодные обмены через файл.

https://infostart.ru/public/845345/
   ManyakRus
 
20 - 28.12.21 - 15:12
(18) правильно,
но это уже есть стандартная кнопка в типовых конфигурациях
   Kassern
 
21 - 28.12.21 - 15:12
(19) смысл кролика при небольшой нагрузке и объеме данных я не вижу. Это как пушкой по воробьям
   PLUT
 
22 - 28.12.21 - 15:14
(17) > остальное сделают web-программисты - сам заберут данные из 1С, остальное уже не твоя проблема :-)

смешно.

в (0) это его проблема :) он и есть web-программисты, который "остальное сделают"
   ManyakRus
 
23 - 28.12.21 - 15:14
(19) кролика на мясо
надо "в реальном времени", а не очередь за колбасой
   fisher
 
24 - 28.12.21 - 15:15
(19) Если бы он хотя бы репликацию транзакций поднимал, то может быть. Но я зуб даю что его "в реальном времени" закончится тупой отправкой моментальных снимков по расписанию. Поэтому кролики там будут как пятое колесо в телеге.
   ManyakRus
 
25 - 28.12.21 - 15:17
(22) точно, не угадал :-( кто из них кто
тогда REST api итак знают все веб-программисты(он же OData) 
в 1С вообще ничё делать не надо, только 1 галочку поставить :-)
   Tarzan_Pasha
 
26 - 28.12.21 - 15:18
(17)то есть никаких api на стороне 1с писать не надо? достаточно будет знания языка веб-разработки и можно вытаскивать любые данные без вмешательства в конфигурацию?
   Kassern
 
27 - 28.12.21 - 15:19
(17) а что насчет безопасности? Вот будет весело, если сервис будет на внешке и логин с паролем ломанут)
   Tarzan_Pasha
 
28 - 28.12.21 - 15:19
(19)кролик это хорошая тема. а по какому принципу получаем остаток товара? должно сгенерироваться какое-то событие оповещающее что остаток изменился?
   ManyakRus
 
29 - 28.12.21 - 15:19
(26) да
(27) надо логиниться по апи - типа безопасность
   Kassern
 
30 - 28.12.21 - 15:19
и кто будет виноват, в том, что какой-то вася, через одату данные в реальной базе ковырнул?)
 
 
   Tarzan_Pasha
 
31 - 28.12.21 - 15:20
(27)ну можно же через oauth сделать авторизацию. по токену.
   ManyakRus
 
32 - 28.12.21 - 15:20
(28) в REST запрос напишешь код товара который тебя интересует
и вернётся остаток по 1 товару
   Kassern
 
33 - 28.12.21 - 15:20
(31) да можно что угодно сделать, только подобные вещи надо держать в уме
   Tarzan_Pasha
 
34 - 28.12.21 - 15:21
(13)неудачники пользуются поиском. а нормальные люди обсуждают вопросы на форуме. Вон мне уже сколько годных проверенных рецептов дали. осталось только протестить.
   Kassern
 
35 - 28.12.21 - 15:21
а не просто вышвырнуть базу во внешку и включить одату
   ManyakRus
 
36 - 28.12.21 - 15:21
(31) это веб авторизуется в 1С,
а не наоборот,
в 1С нет токенов
   Tarzan_Pasha
 
37 - 28.12.21 - 15:22
(35)а скажите сама база дожна где находиться? в облаке? и ведь если база в облаке то хостеры не дают ее изменять. такие как рарусовцы. как тогда быть с публикацией?
   Kassern
 
38 - 28.12.21 - 15:22
(37) прочитать правила работы с облачными сервисами в плане разработки
   Tarzan_Pasha
 
39 - 28.12.21 - 15:22
(36)выходит на стороне 1с надо модуль писать? можно по ip адресу + логин + пароль
   Kassern
 
40 - 28.12.21 - 15:25
(39) (34) щас вам тут насоветуют по поводу безопасности)
   fisher
 
41 - 28.12.21 - 15:27
(39) Напиши oauth на стороне 1С. Будет тебе респект и уважуха.
   ManyakRus
 
42 - 28.12.21 - 15:32
(37) не надо её в облако,
а на любой сервер у которого есть свой внешний ip-адрес
   PLUT
 
43 - 28.12.21 - 15:32
(41) двойную c смс-ками и пушами
   ManyakRus
 
44 - 28.12.21 - 15:33
для 1С надо ещё установить IIS или apache
- это тоже не твоя проблема - должны сисадмины делать :-)
веб-сервер на любом компьютере у которого есть настоящий айпи
   Kassern
 
45 - 28.12.21 - 15:35
(41) только вот как это спасет от ddos атаки с 100500 различных устройств? И как рабочая база будет себя чувствовать, когда сотни тысяч различных устройств к ней долбятся?
   ManyakRus
 
46 - 28.12.21 - 15:36
(34) https://github.com/ManyakRus/OData
вот готовый код подключения к 1С с авторизацией, с ОДатой, С RESTом, с веб-мордой и др :-)
   ManyakRus
 
47 - 28.12.21 - 15:37
(45) ddod атака ни капли не помешает работе 1С :-)
т.к. веб-сервер IIS находится на отдельном компьютере,
даже если он зависнет и взорвётся это никак не повлияет на работу 1С :-)
   DGorgoN
 
48 - 28.12.21 - 15:39
(47) Ага. Вопрос в том что на сервер 1С придет 5 гугольёнов запросов.
   Kassern
 
49 - 28.12.21 - 15:42
(48) поэтому мы свои сервисы только на локалке используем, благо есть такая возможность для сайта. На внешку лишь мини сервис для мобильного приложения водителей, если и взломают/заддосят, то ничего страшного не будет.
   ManyakRus
 
50 - 28.12.21 - 15:43
(48) HTTP-флуд и ping-флуд и др. виды ddos атак не повлияют на 1С,
можно повлиять только если точно знать пароль и что делать для этого
но это будет уже не ddos атака а что-то другое
   Kassern
 
51 - 28.12.21 - 15:48
(47) "т.к. веб-сервер IIS находится на отдельном компьютере" думаете у ТС отдельный сервер для этого?)
   ManyakRus
 
52 - 28.12.21 - 15:51
(51) конечно отдельный, неотдельный совсем плохо -
IIS итак дырявый весь, через него они по всему серверу лазить начнут
   fisher
 
53 - 28.12.21 - 15:54
(45) А причем тут одно к другому? Этого еще достичь нужно, чтобы под такую раздачу попасть. Ну и если нужно держать такие атаки, то просто через cloudflare работать можно.
   Kassern
 
54 - 28.12.21 - 15:56
(53) я это к тому, что вываливание базы 1с во внешку, не думая о последствиях, может плохо кончится, только и всего
   Kassern
 
55 - 28.12.21 - 15:57
(54) особенно юзая одату и регистрируя там все подряд, вместо точечного http сервиса.
   ManyakRus
 
56 - 28.12.21 - 16:07
(55) можно разрешить доступ только для 1 ip-адреса веб сайта
Не надо искать сложных путей :-)
   Tarzan_Pasha
 
57 - 28.12.21 - 16:12
(9)Я не пользуюсь поисковыми системами. Это принципиальная позиция. Однажды я хотел познакомиться с порядочной девушкой и написал в гугле "Порядочная девушка для серьезных отношений" и мне гугл выдал сайт где вместо порядочной любимой девушки была  мужеподобная женщина с огромным членом да еще и совокупляющаяся с мужиком. С тех пор я ни ногой в поисковик. Доверяю только проверенным форумам.
   Kassern
 
58 - 28.12.21 - 16:16
(57) а что мешает комьюнити мисты скинуть вам ссылку на мужеподобную женщину при равном запросе?)
   fisher
 
59 - 28.12.21 - 16:16
Я odata в качестве внешнего интерфейса вообще не воспринимаю. Максимум для каких-то простых интранет-штук.
Хрен с ними с вопросами безопасности - очень странная идея протекать во внешние системы всеми одинэсными абстракциями еще и ограничивая себя при этом в возможностях. Это неудобно по куче причин.
Это как писать интеграцию между системами через прямой доступ к базам другой системы. Да, можно. И сам так писал. Иногда и выхода другого нет. Но лучше, когда простые и понятные интерфейсы прописаны на границах систем.
   Tarzan_Pasha
 
60 - 28.12.21 - 16:16
(58)страх быть найденным и наказанным)
 
 
   Tarzan_Pasha
 
61 - 28.12.21 - 16:17
(59)а какая альтернатива? нам надо получать актуальные товары цены и остатки
   ManyakRus
 
62 - 28.12.21 - 16:17
(57) а ты не доверяй тут особенно мне :-)
я ещё не видел ни одного чувака кто бы смог сделать обмен через OData :-)
это можно теоретически а практически ещё никто не сделал :-)
   Kassern
 
63 - 28.12.21 - 16:21
(62) надо больше смуты навести на ТС, может все же победит детские страхи и загуглит о возможных обменах)
   Kassern
 
64 - 28.12.21 - 16:23
(61) да много альтернатив, дайте сайту доступ к скулю 1с и пускай напрямую sql запросы шлет) Либо шину интеграционную поднимите с блекджеком и кроликами
   Aleksey
 
65 - 28.12.21 - 16:23
(62) я видел человека который собирался так делать. Не знаю получилось у него или нет, но матюкался он сильно
   FCM 50 t
 
66 - 28.12.21 - 16:24
(62) на инфостарте вроде было
   fisher
 
67 - 28.12.21 - 16:25
(61) Пишешь простой http-сервис на стороне 1С с несколькими нужными тебе методами.
А если напишешь его на стороне сайта, то 1С вообще не нужно будет жопой в интернет выставлять. Будешь тупо регламентным заданием засылать на сайт чего нужно.
   Kassern
 
68 - 28.12.21 - 16:26
(67) "удешь тупо регламентным заданием засылать на сайт чего нужно." но это же не реалтайм(
   Kassern
 
69 - 28.12.21 - 16:26
можно конечно каждые 10сек слать, ну это такое...)))
   Aleksey
 
70 - 28.12.21 - 16:27
(61) Пойми одну вещь. ТО что ты хочешь никто и никогда не делал. Поэтому вперед
   Kassern
 
71 - 28.12.21 - 16:28
(70) да лааадно? Для тех же маркетплейсов есть возможность прикрутить подобный сервис, чтобы МП запрашивал остатки при заказе
   ManyakRus
 
72 - 28.12.21 - 16:28
(46) запусти эту программку и будешь лазить в 1С через веб-морду как у себя дома,
с просмотром всех json которые 1С возвращает,
и сможешь сделать тестовый пример как получить остаток товара например :-)
   DGorgoN
 
73 - 28.12.21 - 16:30
(49)
(50)
Оно как бы понятно. Я имею ввиду что куча запросов на сайт = куча запросов остатков. Поэтому делал всё равно бы промежуточными данными, т.е. не online а пакетами. Сиречь кроличными технологиями. Правда не понимаю зачем огород лишний лепить, есть же планы обмена и обмен в 1С.
   fisher
 
74 - 28.12.21 - 16:32
А что-такое "реалтайм"? Это сколько? Реальный "реалтайм" тебе обеспечат только распределенные транзакции.
   Конструктор1С
 
75 - 28.12.21 - 16:35
(61) так не делают. Напиши микросервис, за которым будет маленькая БД с остатками и ценами. Раз в сутки актуализируй 1с и БД твоего микросервиса. В БД сразу делай грамотные индексы
   pechkin
 
76 - 28.12.21 - 16:36
текущие остатки хранятся в отдельной таблице. зачем еще один прокси делать?
   Kassern
 
77 - 28.12.21 - 16:36
(74) реалтайм, это ты дернул сервис и получил данные, актуальные на момент дерганья. А в случае обмена по крону, их актуальность будет времени между обменами
   pechkin
 
78 - 28.12.21 - 16:37
если им надо пусть сами кэшируют на клиенте
   Tarzan_Pasha
 
79 - 28.12.21 - 16:38
(74)чтобы хотя бы когда заходишь в карточку товара был виден остаток. и при оформлении заказа.
   fisher
 
80 - 28.12.21 - 16:44
(77) Лукавое определение. Дергание сервиса - не самоцель. Цель - репрезентация достаточно актуальных данных. Все что под капотом - несущественно.
А все что от минуты и реже - легко делается на планах обмена и регламентах со стороны 1С. Фигачить получение остатков со стороны сайта при открытии клиентом карточки товара ради того, чтобы выиграть пол-минуты актуальности? Не сталкивался с такими требованиями на практике. А доп-пауза и неактуальная доп-нагрузка при этом будет. А еще и неуниверсальность использования этих данных, так как это должен быть уровень модели данных, а не их отображения.
   Kassern
 
81 - 28.12.21 - 16:48
(80) возьмем пример с оплатой заказа. При оплате запросить остатки с 1с и зарезервировать товар, при успешном ответе разрешить оплачивать, если оплата не прошла, то отменять резерв. А теперь представим, что это не на нашем сайте, а на сайте партнере, а он берет большие штрафы, при условии не предоставления товара при оплате заказа, так как страдает репутация площадки
   acht
 
82 - 28.12.21 - 16:48
(7) Пашенька, а какую именно учетку у тебя угнали - Еврейчик или Tarzan_Pasha ?
   fisher
 
83 - 28.12.21 - 16:50
(81) Это уже совсем другие расклады. При таком бизнес-процессе ты получением актуального остатка нифига не отделаешься. Тут уже настоящая распределенная транзакция нужна будет.
   Kassern
 
84 - 28.12.21 - 16:51
(83) обычная работа с маркетплейсами
   Kassern
 
85 - 28.12.21 - 16:52
но в реалиях ТС я бы не стал вообще никакой сервис поднимать, тем более попой к внешке. Для обычной торговли, план обмена и регламент, который дергает сайт и обновляет остатки
   Tarzan_Pasha
 
86 - 28.12.21 - 16:53
(82)какое отношение это имеет к (0).  не надо флудить пожалуйста в умной ветке.  Все мои основные ники активны. А к старым я даже не помню емейлы для восстановления паролей. Я же использовал виртуальные временные емейлы... Сейчас мне это не нужно. Я не занимаюсь троллингом на форумах и не ругаюсь ни с кем чтоб меня потом забанили. И не поддерживаю оппозиционные партии...  А если кто меня будет обижать, я перейду на ЗОЖ, сброшу килограм 50 на оздоровительном голодании и Волшебник снова начнет за меня заступаться.
   fisher
 
87 - 28.12.21 - 16:54
(84) Да. Но тут дело не показе актуального остатка. А в наличии остатка на момент оплаты. Оплата просто не должна пройти если при проведении распределенной транзакции оплаты в базе уже не оказалось свободного остатка.
   Tarzan_Pasha
 
88 - 28.12.21 - 16:54
(85)к сожалению требование такое что остаток должен быть актуальным. хотя бы в карточке товара. так что при открытии карточки так или иначе придется обновлять остаток.  + раз в час к примеру обновлять все товары. Это не моя прихоть.
   Tarzan_Pasha
 
89 - 28.12.21 - 16:55
и да. 5000 товаров на сайте.
   Garykom
 
90 - 28.12.21 - 16:56
(80) от кол-ва и частоты дерганий зависит
если внешнее будет дергать 1С редко то пофиг
а если там будут тысячи юзеров и дергать раз в секунду то упс и да без микросервиса и промежуточной базки куда будут периодически по расписанию из 1С выгружаться никак
   ManyakRus
 
91 - 28.12.21 - 16:58
скажите какую задачу вы решаете,
нужен остаток примерно (быстро) или точно(медленно)
и какая конфигурация 1С
   pechkin
 
92 - 28.12.21 - 16:59
(90) вроде как переиспользование сервисов в 1с есть
   acht
 
93 - 28.12.21 - 16:59
   Kassern
 
94 - 28.12.21 - 17:03
(88) ну вот вы открыли карточку, там у вас остаток 50шт и в этот момент этот товар зарезервировали в базе, тогда что? Или вы страничку с карточкой не обновили и у вас инфа с момента открытия, тогда что?
   Kassern
 
95 - 28.12.21 - 17:03
что для вас актуальные данные?
   Kassern
 
96 - 28.12.21 - 17:11
я так и не понял, чем ТС не устраивает план обмена, где регистрируются изменения остатка и выгрузка на сайт по изменениям.  Со стороны сайта поднять сервис, 1ска в него долбится отправляя постом все изменения, сайт сразу же их обрабатывает и отображает уже измененные данные. Будете каждые 10мин отправлять изменения, столько же времени+время обработки будут у вас актуальными остатки на сайте. А где вы их выведите, это уж ваше дело, хоть в карточке, хоть в корзине и т.д.
   fisher
 
97 - 28.12.21 - 17:13
(96) Ну наконец-то. Такой регламент хоть каждую минуту можно. Но 10 мин лучше конечно. Меньше нагрузка по блокировкам будет.
   Tarzan_Pasha
 
98 - 28.12.21 - 17:23
(96)ну именно тем что за 10 минут много что может измениться. а надо чтоб в момент покупки остаток все равно становился актуальным. ну а в момент оформления заказа еще актуальнее. Либо чтоб когда он начал оформлять заказ чтоб товар попал в резерв.
   ManyakRus
 
99 - 28.12.21 - 17:24
(96) Такой у него уже есть, написано что есть.
Нету "остатки в реальном времени".
Использовать надо оба варианта одновременно,
например:
- в списке товаров примерный остаток
- в карточке товара точный остаток
:-)
оба можно через OData
   PLUT
 
100 - 28.12.21 - 17:30
(98)  какими ништяками торгуете?

в карточке товара писать: очень много, много, мало, очень мало

и градации:

если на остатке больше 1000 штук: очень много
больше 100 штук: много
больше 10 штук: мало
меньше 10 штук: очень мало

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

во всех остальных случаях можно хоть раз в день/ раз в час обновлять?
  1  2   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.