![]() |
|
Обмен 1С и сайта - кто должен быть клиентом, кто сервером Ø (Лефмихалыч 22.08.2019 10:40) |
☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
web_serg
21.08.19
✎
21:24
|
Здравствуйте.
Я вэб разработчик. У нас разгорелся спор с 1с программистом. Хочу чтобы вы рассудили кто не прав. Задача такая : 1с должна получать заказы из интернет магазина максимально быстро, насколько это возможно. Я реализовал у себя GET метод по получению заказов. Пусть обращается так часто как хочет. Хоть раз в 20 сек. 1сник настаивает что я ему должен передавать заказ на его HTTP сервис. Если не полностью (что я точно не буду делать) то хотя бы id заказа. Для этого на своей стороне организовать очередь, на случай если HTTP сервис 1с не отвечает. И что с его стороны опрашивать мой сервер каждые 20 секунд это тупо. Я посмотрел как работает апи гугл мапс. Там клиенты постоянно опрашивает сервер, а не сервер рассылает уведомления клиентам. Но для 1с-ника это не аргумент. Как его убедить? |
|||||||
1
manc88
21.08.19
✎
21:26
|
Выпейте с ним пива и сделайте обмен через файлы на фтп )))))
|
|||||||
2
Лефмихалыч
21.08.19
✎
21:28
|
(1) по электропочте! какое фтп, ты чо
|
|||||||
3
Лефмихалыч
21.08.19
✎
21:29
|
а вообще, позовите третьего, который будет перекладывать раз в 20 секунд от тебя к нему.
Все приделе и спору нет |
|||||||
4
Лефмихалыч
21.08.19
✎
21:29
|
такой третий называется шина преприятия
|
|||||||
5
andrewalexk
21.08.19
✎
21:29
|
(1) (2) :) почта рф рулит
|
|||||||
6
Красный рассвет
21.08.19
✎
21:32
|
Прав ваш непосредственный руководитель. Они у вас разные?
|
|||||||
7
rozer76
21.08.19
✎
21:41
|
(0) одинесник не прав - пусть курит типовой обмен CML
|
|||||||
8
rozer76
21.08.19
✎
21:42
|
+ (7) ну а так конечно (6)
|
|||||||
9
lanc2233
21.08.19
✎
22:02
|
(7) В CML так организовано потому что этот формат еще мамонтов застал. Это даже нельзя назвать АПИ, когда куча файлов архивируется, передается серверу и сервер там с ними что-то шаманит.
|
|||||||
10
Asmody
21.08.19
✎
22:36
|
Напишите скрипт, который будет дёргать сайт, а потом - дёргать 1С, если есть с чем.
Киньте его в крон и пейте пиво. |
|||||||
11
rozer76
21.08.19
✎
23:15
|
(9) апи это программыйирнтерфейс вы тут этого не увидели? я не про cml конкретно - в 99% одинэс дергает сайт ибо когда говоришь "а вот напишу в 1с вебсервис, пересчитывающий корзину по персценам" - вебпрогер профвебстудии закатывает глаза и мычит "ну это очень сложно и ввобще невозможно..."
|
|||||||
12
lanc2233
21.08.19
✎
23:45
|
(11) вебсервисы в 1с появились относительно недавно, поэтому так и работает. И действительно как минимум странно, зачем дергать другой сервер каждые несколько секунд, если при одинаковых трудозатратах можно этого избежать.
|
|||||||
13
xXeNoNx
22.08.19
✎
00:10
|
(0) а как скидки планируете получать и рассчитывать?
|
|||||||
14
rozer76
22.08.19
✎
00:23
|
(13) может быть и так что клиент должен до того как положит в корзину хочет видеть цену со скидкой. Еще интнреснее когда это b2b система и нужно скидки выгружать для каждого клиента отдельно на 100500 товаров. В крайний раз пришлось выгружать все скидки и на сайте уже считать
|
|||||||
15
ikea
22.08.19
✎
00:24
|
(0) Зависит от задачи.
Если, например, есть задача при нажатии на сайте на кнопку "заказать" и чтобы тут же были показаны позиции, по которым нет остатка, то сайт должен обращаться к 1С. Если все совсем упрощено, то делайте у кого будет меньше трудозатрат. Третий вариант: прав тот, у кого больше прав))). |
|||||||
16
Dedal
22.08.19
✎
01:13
|
У вас стоит задача максимально быстро. Если руководство не поставило какое время их устраивает, то получается 1сник прав. Сайт должен начинать обмен или хотя бы сообщать, о том, что у него нужно забрать данные. Это самый быстрый вариант получения заказа с сайта в 1с.
И про очередь прав. Сайт как источник данных должен понимать, что 1С в итоге получила, а что нет. Стучаться раз в 20 секунд это избыточность. |
|||||||
17
Turku
22.08.19
✎
03:41
|
ИМХО, 1С-ник прав. Ибо событие (новый заказ) генерирует сайт и логично в этот момент стучать в 1С. Так просто более изящно :) А так, второй вариант тоже рабочий, но 20 сек - это слишком часто.
Кстати, как реализуется при взаимодействии интернет-магазина и 1С (УТ11.4) обмен сущностями Партнер (Покупатель) и Контрагент (Плательщик). К примеру, в УТ заведены несколько торговых точек одной сети магазинов, а контрагент у них 1 - головной офис. Важно, чтобы при поступлении заказов с сайта эта структура не изменилась. Такое только Битрикс поддерживает или есть и другие хорошие движки? Что вообще лучше для небольшого (3000 SKU) B2B магазина? |
|||||||
18
ДенисЧ
22.08.19
✎
04:57
|
" ему должен передавать заказ на его HTTP сервис. Если не полностью (что я точно не буду делать)"
http://alphachan.org/art/src/133209252848.jpg |
|||||||
19
rozer76
22.08.19
✎
08:20
|
(17) обмен сущностями контрагент-партнер никак в связке ут11-битрикс не реализовано. Это вам не б2б система а интернет магаз. Но битрикс поддерживает загрузку в себя любых справочных данных - см references.xml но и разумеется кодинг нужен в битрикс в этом случае.
|
|||||||
20
rsv
22.08.19
✎
08:42
|
(0) а что тут обсуждать у вас фронт у 1с Бэк.
Бэк опрашивает фронт |
|||||||
21
rsv
22.08.19
✎
08:43
|
Просто 1с не хочет просить ...:)
|
|||||||
22
rsv
22.08.19
✎
08:44
|
парсить
|
|||||||
23
ДенисЧ
22.08.19
✎
08:45
|
(20) Вообще-то событие возникает на фронте. Поэтому он и должен оповещать бек об этом.
|
|||||||
24
piter3
22.08.19
✎
08:48
|
(20) Наоборот
|
|||||||
25
rsv
22.08.19
✎
08:50
|
(23) разные системы . Никто ничего не знает. Первичка
Где то . Табличка не опрошена бэком.фидбэк не отправлен. |
|||||||
26
ДенисЧ
22.08.19
✎
08:51
|
(25) Шта?
|
|||||||
27
Akela has missed
22.08.19
✎
09:06
|
1Сник всегда прав.
|
|||||||
28
rsv
22.08.19
✎
09:07
|
(26) не терпится в (0) 1с ку свою базу
Опубликовать :) хотя в (0) уже есть веб ресурс в виде прога специализированного. Он кучу сервисов напишет . Знай Дергай регламентом в 1с и проблем нет |
|||||||
29
Kongo2019
22.08.19
✎
09:08
|
(0) Да пофигу, у меня и так и эта есть решения.
Это на уровне ТЗ обычно решается. |
|||||||
30
rsv
22.08.19
✎
09:10
|
(29) а потом в тз напишут штааа неплохо бы третью базу прикрутить в виде шины :) и туды данные складывать
|
|||||||
31
ptiz
22.08.19
✎
09:12
|
(0) Тут нет понятия "прав/не прав". Как договоритесь - так и будет.
|
|||||||
32
ДенисЧ
22.08.19
✎
09:12
|
(28) АГа. Ну и сделает 1с ник дёргание раз в сутки....
|
|||||||
33
rsv
22.08.19
✎
09:15
|
(32) это как расписание дёрганий настроить да и это вопрос не технический. Доступность сервисов скорость отдачи и т.д это уже не головняк 1с
|
|||||||
34
Широкий
22.08.19
✎
09:20
|
а вот например в яндекс-афише - яндекс сам кидает заказ в базу клиента.
|
|||||||
35
Василий Алибабаевич
22.08.19
✎
09:26
|
(33) "это уже не головняк 1с".
С этого нужно было начинать. Потому что именно этот головняк завалит (может завалить) всю систему. ЗЫ Согласен с (23). |
|||||||
36
rsv
22.08.19
✎
09:28
|
(35) головняк не начнётся когда сервисы 1с поведут
Себя таким же образом :) |
|||||||
37
rsv
22.08.19
✎
09:30
|
+(36) только это будут уже проблемсы 1с ка а веб прогер скажет ... это же ваш сервис
И будет прав |
|||||||
38
Василий Алибабаевич
22.08.19
✎
09:32
|
(36) "сервисы 1с" не должны себя никак вести. До получения оповещения от фронта.
Фронт должен оповестить бек. Любым доступным способом. Дернуть сервис, отправить оповещение, отправить мыло наконец. После этого 1с должна начать сеанс обмена. До получения оповещения от фронта дергать обмен нет никакого смысла. |
|||||||
39
Йохохо
22.08.19
✎
09:34
|
(38) даже потыкать в него палочкой не нуна?
|
|||||||
40
Василий Алибабаевич
22.08.19
✎
09:34
|
+ (38) А тем более с периодом в 20 сек. Как предлагает ТС. Вряд ли транзакция обмена может уложиться в это время. Заддосите сайт своими же запросами.
|
|||||||
41
ДенисЧ
22.08.19
✎
09:36
|
(39) Чем в твоём понимании " потыкать в него палочкой " отличается от "Дернуть сервис"?
|
|||||||
42
Василий Алибабаевич
22.08.19
✎
09:36
|
(39) Зависит от того что хотите получить от "тыканья палочкой". Если на сайте нет ничего (или он занят обменом с 1С) - что хотите получить от "тыканья"?
|
|||||||
43
Alres
22.08.19
✎
09:39
|
Если стоит задача максимально быстро передавать заказы, то логично сразу в момент поступления заказа выгружать его в 1С, таким образом и заказы сразу будут появляться в 1С, и системы не будут перегружены частыми порожняковыми запросами (когда заказов нет).
Так что 1С-ник правильно вам сказал, учитесь работать с http сервисами :) |
|||||||
44
Йохохо
22.08.19
✎
09:41
|
(41) отличить сайт лежит от тот балбес запрос поломал
|
|||||||
45
ДенисЧ
22.08.19
✎
09:42
|
(44) Ты этта... Кофейку выпьей, что-ли... А то твоё бормотание становится всё более невнятным.
|
|||||||
46
rsv
22.08.19
✎
09:42
|
(0) в общем соглашайся с 1ком . При каждом недоступном сеансе сервиса онлайн - выводи Алерт на форму .Внезависимости о времени суток . И работы тебе меньше . Снимаешь с себя все.
|
|||||||
47
Василий Алибабаевич
22.08.19
✎
09:43
|
(44) Ну... это видимо да. Только это не связано с собственно обменом заказами.
|
|||||||
48
Йохохо
22.08.19
✎
09:45
|
(47) это отличяает хуякхуяк и в продакшен от остальных подходов
|
|||||||
49
Василий Алибабаевич
22.08.19
✎
09:46
|
(46) И это правильно. Клиент (тело, в браузере которого открыт сайт) ни в чем не виноват. И должен знать, что его заказ по каким-то причинам обработан не будет.
|
|||||||
50
Повелитель
22.08.19
✎
09:47
|
(0) У нас 2 интернет-магазина на 1с-битрикс, обмены с 1с имеются.
Могу сказать так, что в вашем случае пофигу кто сервер, кто клиент. Но в обработке обмена, которую я скачал и внедрил с сайта 1с-битрикс, в 1с запускается регламентное задание, которое с какой-то периодичностью опрашивает сайт. Галка эта называется "Используется в режиме реального времени". Скрин из 1с: https://yadi.sk/i/cVITqI_39iFp6g |
|||||||
51
Василий Алибабаевич
22.08.19
✎
09:47
|
+ (49) И кстати да - "Внезависимости о времени суток"
|
|||||||
52
rsv
22.08.19
✎
09:48
|
(49) я бы сразу написал в чат о недоступности сервиса
|
|||||||
53
rsv
22.08.19
✎
09:48
|
или 1ску а час или два ночи
|
|||||||
54
ДенисЧ
22.08.19
✎
09:48
|
(46) Быдлокод. Если сервис недоступен, заказ должен быть принят и поставлен в очередь. При возникновении доступности - накопленная очередь отправляется.
|
|||||||
55
ДенисЧ
22.08.19
✎
09:49
|
(50) Это не "реальное время"
|
|||||||
56
Повелитель
22.08.19
✎
09:50
|
(55) Согласен, но поставить можно 30 секунд, это в округлении можно считать в реальном времени ))
|
|||||||
57
rsv
22.08.19
✎
09:50
|
(54) уже очередь
|
|||||||
58
Irbis
22.08.19
✎
09:50
|
Если обмен синхронный (по расписанию), то монопенисуально кто его инициирует. Если асинхронный, то запускает обмен сторона, на которой произошло событие.
|
|||||||
59
rsv
22.08.19
✎
09:54
|
(54) а когда сервис то будет доступен ? 1с ник знает ?
|
|||||||
60
Irbis
22.08.19
✎
09:55
|
(59) Это не важно. По истечение таймаута возращается фатальная ашипка, либо в конец очереди скидывается.
|
|||||||
61
rsv
22.08.19
✎
09:57
|
(60) т..е заказы есть и как бы их нет :(
|
|||||||
62
Василий Алибабаевич
22.08.19
✎
09:58
|
(59) Я по своей природной тупости не могу понять. Какая разница в какой из схем работы накроется 1С?
Кто будет опрашивать сайт, если накроется 1С. Скажем в "час или два ночи" ЦЫ(53) |
|||||||
63
Irbis
22.08.19
✎
09:58
|
(61) Почему? В очереди может быть не один заказ. Если за время тайм-аута заказ не обработан, значит что-то "неладно в королевстве датском". Нужно разбираться с сервисом.
|
|||||||
64
rsv
22.08.19
✎
09:58
|
Тогда по почте екселем или тексовиком
|
|||||||
65
Повелитель
22.08.19
✎
09:59
|
(0)(50) Это я к тому написал, если автор хочет победить в споре.
То может смело тыкать пальцем в 1с-битрекс. Типа если сам 1с-битрикс сделал, что 1с это клиент, то не нужно изобретать велосипед ))) |
|||||||
66
Вафель
22.08.19
✎
09:59
|
(0) 1с ник прав. вы явлеетесь "автором" документов. ваша задача их отдать на обмен
|
|||||||
67
rsv
22.08.19
✎
09:59
|
(0) ещё плюс . Разбираться уже не тебе .
|
|||||||
68
Вафель
22.08.19
✎
10:00
|
можно представить что будет "шина обмена". тогда никто опрашивать ваш веб-сервис не сможет
|
|||||||
69
rsv
22.08.19
✎
10:00
|
(68) уже было . Выше
|
|||||||
70
Василий Алибабаевич
22.08.19
✎
10:01
|
(67) Типа если 1с должна опрашивать сайт но не делает этого - разбираться веб-прогеру?
|
|||||||
71
Йохохо
22.08.19
✎
10:02
|
(70) конечно, первый заказ будет через пятилетку, как понять что оно работает?)
|
|||||||
72
Вафель
22.08.19
✎
10:04
|
+ обязательно нужны "состояния обмена"
к выгрузке, выгружен, выгружен с ошибкой иначе разбор полетов превращается в очень интересную задачу. как раз сейчас такой обмен дорабатываю |
|||||||
73
Василий Алибабаевич
22.08.19
✎
10:05
|
(71) Подожди. Мне нужен ответ от rsv
|
|||||||
74
rsv
22.08.19
✎
10:07
|
(70) почему не сработал регламент вызова сервиса
Магазина- разбираться одноэснику |
|||||||
75
Cyberhawk
22.08.19
✎
10:07
|
Есть 4 варианта:
- событийный пост ("пуш") - событийный гет - регулярный (в большинстве времени холостой) пост ("пуш") - регулярный (холостой) гет |
|||||||
76
Василий Алибабаевич
22.08.19
✎
10:08
|
Вообще ИМХО правильный ответ ТС-у дан в (23). Потом пошла пурга в стиле "а я еще могу вот так".
|
|||||||
77
rsv
22.08.19
✎
10:08
|
почему не сработал сервис магазина - разбираться спец ресурсу разработчика сервиса магазина
|
|||||||
78
Cyberhawk
22.08.19
✎
10:11
|
(75) Событийная модель конечно же иделогически более правильная и универсальная, но не всегда выбор обусловлен этой технической правильностью.
Иногда тупо сроком / удобством / стоимостью разработки. Какие-нибудь жаберы-ораклисты будут 2 месяца одну только очередь отправки реализовывать, чтоб отправляемые заказы никогда не терялись. А в 1С это сделать 2 часа. |
|||||||
79
Василий Алибабаевич
22.08.19
✎
10:11
|
(77) И это как-то зависит от схемы обмена?
1. как обработать исключение, когда 1С должна опрашивать сайт, но не делает этого. 2. как обработать исключение, когда сайт не смог дернуть веб-сервис на стороне 1с. Кому в каком случае разбираться? В каком случае ситуацию спасут звонки 1с-нику в час ночи, а в каком не спасут? |
|||||||
80
Василий Алибабаевич
22.08.19
✎
10:13
|
(78) Техусловия ТС описал достаточно доступно для понимания : "Я посмотрел как работает апи гугл мапс."
|
|||||||
81
Cyberhawk
22.08.19
✎
10:15
|
(80) Ну это сравнение нельзя считать корректным - гугл мапс они большие и для широкой разношерстной общественности, а вебер и 1С - они тут и локальные.
|
|||||||
82
Cyberhawk
22.08.19
✎
10:17
|
Ну и постановка "максимально быстро, насколько это возможно" собственно исключет регулярные (холостые) опросы - только событийная модель, событийный пуш
|
|||||||
83
rsv
22.08.19
✎
10:20
|
(79) в понимании того что фронт этот независимая безуха с формами . Ее задача положить в табличку что то что напечатать возможно денежку взять чере он Лайн. На ней в (0) спец ресурс. Он пишет к ней доступ в виде сервисов и сопровождаете веб сервисы и сервер веб и базу свою
Чем это дергается - хоть VB |
|||||||
84
НадюшаЯЯ
22.08.19
✎
10:21
|
(0) вопрос то у вас, кто будет делать, а не как быстрее)
|
|||||||
85
xXeNoNx
22.08.19
✎
10:23
|
(14) дублировать логику расчета скидоки/наценок
|
|||||||
86
xXeNoNx
22.08.19
✎
10:23
|
?
|
|||||||
87
rsv
22.08.19
✎
10:23
|
1с ник до ничего не разворачивает в виде веб-сервера и сервисов ..берет мануал и пишет функционал обращения к сторонним сервисам
|
|||||||
88
Василий Алибабаевич
22.08.19
✎
10:28
|
(83) ЯННП.
Кто все-таки кого должен опрашивать? И кто будет обрабатывать исключительную ситуацию "опрос не прошел"? Не "обмен", а именно "опрос"? Могу ошибаться, но понял так, по-вашему : - в случае "опрашивает 1С" - решает веб-разработчик. - в случае "оповещает сайт" - решает 1с-ник? |
|||||||
89
Xapac
22.08.19
✎
10:30
|
(0)Зачем воду в решете носить и постоянно бегать спрашивать?
у тебя появился заказ ты и отправляй. В данном случае 1с Сервет |
|||||||
90
rsv
22.08.19
✎
10:31
|
(88) вы все поняли .я написал выше / если не сработал регламент вызова движка один эс- разбираться 1ску . если сервис генерит ошибку - тот кто его написал.
|
|||||||
91
Василий Алибабаевич
22.08.19
✎
10:32
|
(89) Тоже не совсем правильно. Не "ты и отправляй", а "ты оповести, что есть что отправить". А уже забирает пускай 1С.
|
|||||||
92
YAGolova
22.08.19
✎
10:32
|
1С-ник прав! Всегда надо идти от события - кто его инициализирует - тот кто жмет кнопки на сайте, значит как кнопка нажата будь добр отправить данные. А опрашивать да еще и каждые 20 сек совсем не правильно ИМХО.
|
|||||||
93
kyvv
22.08.19
✎
10:33
|
(0)Почему вы решили , что вы "гугл мапс"? К вам туева хуча 1с обращается? Мне думается, вы оба клиенты "колхозные", а не гугель.
|
|||||||
94
rsv
22.08.19
✎
10:33
|
Опрашивать будет бэк т.е 1с .
|
|||||||
95
Aleksey
22.08.19
✎
10:34
|
(88) Чтобы не вашим и не нашим, скидывай файл с заказом в папку, и пусть 1С сама определяет как часто ей папку мониторить
|
|||||||
96
Xapac
22.08.19
✎
10:35
|
голосуем товарищи
1-сник прав |
|||||||
97
Василий Алибабаевич
22.08.19
✎
10:36
|
Ибо нефик.
1-сник прав |
|||||||
98
YAGolova
22.08.19
✎
10:37
|
Событие на фронте - оно инициатор
1-сник прав |
|||||||
99
piter3
22.08.19
✎
10:39
|
Ест-но
1-сник прав |
|||||||
100
Лефмихалыч
22.08.19
✎
10:42
|
превратили ветку в шапито
правы оба и оба не хотят с очередями связываться. Дальше надо договариваться и либо кому-то смириться, либо кому-то мастерить третью систему, которая и будет менеджером очереди |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |