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