|
Связь 1С и сайта | ☑ | ||
---|---|---|---|---|
0
Telefon
03.11.12
✎
08:56
|
Всем привет!
Подскажите, куда рыть в такой ситуации: 1. Есть сайт(сделан на php) 2. Есть 1с(возможные версии 8.0 и 8.1, 8.2) 3.Допустим посетитель сайта жмет кнопку "Купить товар" 4.В 1с должны делаться следующие действия, например, резервирование товара, выставление счета Собственно вопрос: как лучше(с учетом версии, см. пункт 2) лучше организовать связь логики сайта и 1С?Чтобы в 1С обработки вызывались при каких-либо действиях на сайте, какие технологии использовать? |
|||
1
zak555
03.11.12
✎
08:59
|
> Есть сайт(сделан на php)
адрес |
|||
2
Telefon
03.11.12
✎
09:20
|
(1) не выложили в сеть еще
а по теме? |
|||
3
Отладчик
03.11.12
✎
09:21
|
(1) Впарь Битрикс.
|
|||
4
foxruby
03.11.12
✎
09:22
|
веб сервис
|
|||
5
zak555
03.11.12
✎
09:23
|
(2) можно бд с 1с выложить в доступ, но
минусы -- лицензии + сохранность БД (3) не умею |
|||
6
Отладчик
03.11.12
✎
09:24
|
(5) Опять не умеешь???
|
|||
7
Telefon
03.11.12
✎
09:24
|
(3) без битрикса
(4) 8.0 и 8.1 поддерживает веб сервисы? |
|||
8
Telefon
03.11.12
✎
09:25
|
(4) как там по предельному числу пользователей с веб-сервисами?
|
|||
9
zak555
03.11.12
✎
09:25
|
(6) и не умел впаривать
(7) 8.0 -- нет, выше - да чем 8.2 не нравится ? |
|||
10
Telefon
03.11.12
✎
09:26
|
(9) у людей 8.0
|
|||
11
zak555
03.11.12
✎
09:28
|
(10) поставь им 8.2
|
|||
12
ДенисЧ
03.11.12
✎
09:28
|
(10) Обновляй и запуская веб-сервисы.
|
|||
13
Отладчик
03.11.12
✎
09:31
|
8.2 головного мозга... )
|
|||
14
vs1c
03.11.12
✎
12:26
|
(0) никаких бубнов(веб-сервисы, битриксы и пр.) не требуется и какая 8 по барабану. То что вы хотите реализуется парой скриптов на php (на сайте) и одной обработкой со стандартными функциями работы с Интернет (на стороне 1С). Запускаете ее как монитор и наслаждаетесь онлайном с сайтом. Что касается технологий для скриптов php - копать в сторону long polling.
|
|||
15
Telefon
03.11.12
✎
12:35
|
(14) а сколько сессий может выдержать такое? Сколько пользователей сможет с сайта запустить обработку 1С параллельно? Или надо шедуллер какой-то придумывать?
|
|||
16
zak555
03.11.12
✎
12:38
|
(15) обычное обращение к БД сайта
|
|||
17
vs1c
03.11.12
✎
12:45
|
(15) про сессии - вопрос к серверу. Обработка в 1С запущена одна и она мониторит сайт (с помощью ОДНОЙ копии скрипта с longpolling), ничего параллельно никакие пользователи в 1С не запускают. Она в онлайне видит происходящее на сайте и формирует необходимые документы в 1С.
|
|||
18
Telefon
03.11.12
✎
12:51
|
(17) Т.е. допустим два пользователя сайта нажали кнопку, например, купить, то эти два задания должны встать в очередь, а обработка их выполнить?
|
|||
19
Amra
03.11.12
✎
12:51
|
(18) Типа того
|
|||
20
vs1c
03.11.12
✎
12:52
|
(18) Да.
|
|||
21
Telefon
03.11.12
✎
12:58
|
(19),(20) а параллельности добиться можно как-нибудь?
просто заказчик хочет БЫСТРО. |
|||
22
vs1c
03.11.12
✎
13:01
|
(21)Что значит быстро?
|
|||
23
zak555
03.11.12
✎
13:05
|
(21) в 1с пусть регламентное задание выполняется каждые 30 сек
|
|||
24
Telefon
03.11.12
✎
13:09
|
(22) несколько минут реагирование
|
|||
25
vs1c
03.11.12
✎
13:10
|
(23) Еще раз - регламентные задания НЕ НУЖНЫ. Обработка запускается, запускает скрипт с сайта и работает ОНЛАЙН - без задержек (ну кроме времени на передачу и пр.). Почитайте описание longpolling - просветление должно подойти почти сразу :)
|
|||
26
Telefon
03.11.12
✎
13:10
|
(22) а в параллель поставить можно как-то?
возможно ли параллельное выполнение обработок в 1С? |
|||
27
vs1c
03.11.12
✎
13:10
|
(24) При изложенном подходе реагирование укладывается в секунды.
|
|||
28
vs1c
03.11.12
✎
13:11
|
(26) "параллельное выполнение обработок в 1С" - зачем?
|
|||
29
Telefon
03.11.12
✎
13:32
|
(28) допустим на сайте, одновременно, 1000 посетителей нажали кнопку "купить", если я поставлю в очередь 1000 заданий(я ведь правильно понял, что необходимо делать так), то один экземпляр обработки сможет быстро, допустим, зарезервировать товар на складе и счета выставить?Или лучше бы в параллель это выполнялось бы?
|
|||
30
Telefon
03.11.12
✎
13:33
|
(29) и еще там взаимодействие по сети предполагается для каждого задания в очереди
Такая распределенная системка |
|||
31
vs1c
03.11.12
✎
13:38
|
(29)(30) " быстро, допустим, зарезервировать товар на складе и счета выставить" - прикиньте сколько это займет в 1С? Предложенная схема работает быстрее. Так что еще ускорять?
Про 1000 посетителей одновременно нажимающих кнопку Купить - это гипотеза или реал? Дайте угадаю - понты? Нет? Одно резервирование при параллельном выполнении заказов - уже вынос мозга. |
|||
32
vs1c
03.11.12
✎
13:39
|
(30) а "еще там взаимодействие по сети предполагается для каждого задания в очереди"-это про что?
|
|||
33
Telefon
03.11.12
✎
14:01
|
(31) про 1000 пользователей - реал.
(31) а почему быстрее? задания то выставляются в очередь, а потом их 1С обрабатывает последовательно(где тут ускорение?) (32) ситуация такая - человек жмет кнопку на сайте, предположим, купить. тогда обработка должна зарезервировать в одной организации на складе товар, если его там нет(или количество мало) - обратиться по сети к 1с из другой организации(все это фирмы в одном холдинге) и там зарезервировать.Потом выставить счет потребителю. |
|||
34
Telefon
03.11.12
✎
14:31
|
(31) я просто не пойму, где ускорение, в любом случае же будет резервирование...
|
|||
35
vs1c
03.11.12
✎
14:46
|
(34) так про то и речь - чего гнать когда самое узкое место в 1С. Быстрее делать обмен смысла нет - 1С не успеет.
Про 1000 - одновременно нажимают купить? Простите, не верю. |
|||
36
Telefon
03.11.12
✎
15:01
|
(35) ну про купить - это образно, другое жать будут
но порядок такой я вот про это и говорю, как можно в 1С это ускорить? может параллелизм какой возможен? |
|||
37
vs1c
03.11.12
✎
15:04
|
(36) Так хочется устроить интерактив (проверка наличия на складах, резервирование и т.д.) в процессе оформления заказа на сайте?
|
|||
38
Telefon
03.11.12
✎
15:06
|
(37) да, своего рода
|
|||
39
vs1c
03.11.12
✎
15:16
|
(38) Ну вот, разобрались. Ну так та же технология может использоваться и для ваших хотелок. Хотя придется для начала продумать всю последовательность общения пользователя, сайта и 1С. Все реализуемо. Приведу пример. У меня был клиент, директор которого страсть как хотел через Инет запросы слать в свою 1С и отчеты всякие смотреть. Так озвученным способом мы ему такое дело прикрутили к его бухгалтерии - до сих пор кнопки там жмет. Кто-то сейчас начнет - УФ, веб-сервисы - отвечу просто - осчастливить дира вышло всего за 2 часа, из инструментов понадобился простенький хостинг, текстовый редактор и 1С. Разве это плохо? До сих пор перезваниваемся, а сколько он клиентов в мою сторону направил...
|
|||
40
Telefon
03.11.12
✎
15:32
|
(39), ну мне вот понятно, что можно задачи в очередь поставить, можно потом по этой очереди бежать и выполнять задания, но, как Вы написали, 1С - здесь узкое место, а вот если бы обрабатывать очередь в несколько потоков...
такое возможно? |
|||
41
oleg_km
03.11.12
✎
15:52
|
(40) Ну а почему нет. Запускайте сразу пять заданий 1С, пусть все они просматривают очередь команд, просто обрабатываемая команда должна помечаться, чтобы сразу несколько экземпляров не начали обрабатывать. Или веб-сервер для каждой 1С заводит очереди и распределяет задания сам по 1С-кам
|
|||
42
kiruha
03.11.12
✎
16:08
|
(18)
Самая простая реализация (работала вживую еще на 7.7) каталог на сервере сайта в этот каталог кидались xml файлики заказа, по файлу на заказ обработка(одна) сканировала каждые 3 мин каталог , подключение по ftp считывала файлики и формировала автоматически заказ при считывании велся лог в текстовом файлике - начала транзакции и окончания После окончания файлики в архив синхронизация по ценам/клиентам/номнклатуре На 8 можно регламентное задание вместо обработки |
|||
43
Telefon
03.11.12
✎
17:31
|
(39) а можно подробнее про технологию?
(41) а несколько 1С-ок могут работать с одной базой? (42) ну да это и есть шедуллинг в какой-то мере, вопрос в другом, как ускорить это? возможно ли обработка очереди в несколько что-ли потоков? |
|||
44
Юрий Лазаренко
03.11.12
✎
18:46
|
(42) Можно еще проще - при формировании заказа кидать его на мыло, 1Ской открывать письма и формировать в ней заказы.
(43) "возможно ли обработка очереди в несколько что-ли потоков "- да, возможна |
|||
45
vs1c
03.11.12
✎
18:52
|
(43) "а можно подробнее про технологию" - а что мы тут до этого обсуждали, в (17) например. Детали и варианты реализации - в гугл и яндекс. Хотя судя по вопросу "а несколько 1С-ок могут работать с одной базой" - вам лучше начать с 1С, а еще лучше найти спеца и не тратить зря свое время, а также нервы и деньги клиента. Без обид. Хоте если он хочет быть кроликом...
|
|||
46
bodik911
03.11.12
✎
18:56
|
Да в чем хочешь написать можно (Рекомендую формат xml или csv)
|
|||
47
bodik911
03.11.12
✎
18:57
|
Битрикс тяжелый
|
|||
48
kiruha
03.11.12
✎
22:42
|
(45)
>>возможно ли обработка очереди в несколько что-ли потоков<< Можно несколько сеансов выделить и в каждой обработку запускать. Только при записи и проведении уже в самой 1С ке блокировки накладываются. >>Можно еще проще - при формировании заказа кидать его на мыло<< Это долго (работа с почтой) и лишнее звено P>S> а какая хоть нагрузка планируется - неужели сотни в минуту ? |
|||
49
vs1c
04.11.12
✎
12:50
|
(48) Мне это не нужно - вы автору топика это объясняйте.
"а какая хоть нагрузка планируется - неужели сотни в минуту" - какой там - 1000 одновременно (см.(33)). |
|||
50
kiruha
04.11.12
✎
13:53
|
(49) Промахнулся ссылкой
>> 1000 одновременно тогда вообще не понимаю как к такому имеет отношение "простая" реализация Под такую нагрузку нужна либо отдельная прога только на заказы, потом обменивающаяся с 1С, или распределенка, каждая обслуживающая свой поток Но что то подсказывает, что при этом работала целая команда без вопросов на мисте ) |
|||
51
Telefon
04.11.12
✎
16:19
|
(45)я неправильно может выразился про несколько 1С - ок, я имел ввиду не клиентов, а вот именно серверов 1С, допустим одна база MS Sql, и несколько серверов 1с на разных машинах
(44) т.е. в 1С возможна многопоточность? если да, то куда копать (48) несколько сеансов - не совсем то, хотя тоже вариант, хотелось бы классическую многопоточность, там пул потоков и т.д. (50) я думал над этим, что если сделать отдельную прогу с бд и настроить своего рода репликацию на базу 1С, то там да но меня смущает вопрос того, что будет и оффлайн работа, а синхронизация бд - дело не очень благодарное, хотелось бы проще как можно это сделать (50) возможно ли в 1С создание распределенных систем( в плане балансировки нагрузки)? (50) система пока не создана, есть только сайт, сейчас прорабатываю варианты с выбором софта на котором строить процессинг заявок, естественно бухгалтерия на 1с, хотелось бы сделать на ней по-максимуму |
|||
52
Telefon
05.11.12
✎
10:11
|
(45)без обид, понимаете, мы только прорабатываем возможные варианты решения ситуации, если мы поймем, что сделаем это на 1С мы это сделаем, поэтому и обратились сюда, что бы люди, у которых, возможно, есть опыт, сориентировали нас
Кстати, а вот прямые запросы, если мы напишем прогу, которая будет осуществлять процессинг заявок, при этом фигача в базу 1с прямые запрсы это выход? |
|||
53
oleg_km
05.11.12
✎
11:19
|
(52) прямые запросы - это INSERT и UPDATE, в типовую торговлю? Ну попробуйте
|
|||
54
Telefon
05.11.12
✎
11:59
|
(53) там не типовая,а в чем проблема в запросах? все же в конце концов заканчивается записями в бд, аргументируйте пожалуйста, ато голословное заявление...
|
|||
55
pumbaEO
05.11.12
✎
12:02
|
(54) ну например колонка с типом булево от 1С, не то же самое что в таблице sql с типом булево.
|
|||
56
Telefon
05.11.12
✎
12:41
|
(56) задача прямых запросов уже была(решал для упп) решилась успешно, поэтому это как бы не задача:)
|
|||
57
Telefon
05.11.12
✎
12:45
|
мы все как-то отошли от темы:)
может кто-то поделится опытом интеграции 1С и сайта с учетом быстрого онлайн процессинга и наботки в несколько потоков. Пока, вижу два решения: 1.сайт формирует очередь, которую обрабатывают много сессий 2.отдельную бд, которая актуализируется из 1с с определенным интервалом,и работа с ней, если можно выразиться так, своего рода прокси из бд Может кто-то еще подскажет? |
|||
58
zladenuw
05.11.12
✎
12:55
|
(57) ну так ты все правильно написал. чего ждешь ? разрешения ? :). даю добро
|
|||
59
Telefon
05.11.12
✎
12:59
|
(58) спасибо, жду мож, кто элегантней решение придложит
|
|||
60
Фрэнки
05.11.12
✎
13:10
|
(59) максимально элегантные решения от 1С ? или может быть от Битрикса, ... ? А если напрямую соединяться с базой, но без использования средств из коробок 1С, то это прямо запрещено в лицензиях. Сам запрет - дело десятое, но его наличие означает отсутствие "элегантных" решений, если они не из коробки с лейбом 1С.
|
|||
61
Telefon
05.11.12
✎
14:34
|
(60) максимально элегантное решение в принципе.
сайт сделан не на битриксе(а в нем что есть такого?) может кто-то делал что-то такое прямо классное в похожей ситуации мои решения этой проблемы(см. (57)), на мой взгляд, костыльные какие-то... |
|||
62
DitriX
05.11.12
✎
15:44
|
(0) решили аналогичную ситуацию - путем использования веб сервисов.
Т.е. на сайте хранится общая инфа по человеку (ФИО и % скидки), а вот когда он жмет накорзину - идет запрос в 1С. Так же в 1с выгружаются все данные по рейтингам, ожиданиям, и т.д. Очень удобно. Для этих целей была сделана транзитная база 1С. Она подключена к центральной через внешние источники, и оттуда берутся регистры. Операторы работают в транзитной. Там по факту подтверждения товара - в ЦБ создается документ резерва. И в конце дня - документ перемещения. Продажи с транзитной грузятся в ЦБ одним ОоРП за день. Схема простая, позволила подключить 3 ИМ, легко обновляется. Так же в 1С пишут новость - и 1С подключаясь по соап передает ее на сайты. Т.е. на сайте бэкэнд юзает только админ. Та и никто не боится что утащат базу с сайта, так как на сервере подня тунель к базе 1С. В случае ДДОСа - просто блокируется ключ. Вообщем если интересно пишите на [email protected]. Может что то подскажу :) А то я так смотрю - тут все думают на уровне 90х годов :) Файлики, хмл, фтп, и пр. Если нужна база онлайн - то таким методом этого не добьешься. Ну или прийдется всю базу держать на вебе. А согласитесь, что отчет на 1С (или схему бизнес процесса) проще и быстрее изменить, чем на пхп. |
|||
63
Прохожий
05.11.12
✎
15:54
|
(36) "другое жать будут" - приложение для КПК пишешь - онлайн убийца Оптимы?
|
|||
64
Прохожий
05.11.12
✎
15:55
|
Если резервирование - стопудово ванселлинг...
|
|||
65
Прохожий
05.11.12
✎
15:55
|
преселлинг т.е.
|
|||
66
Маленький Вопросик
05.11.12
✎
16:06
|
Интересно, сколько готов заплатить за решение задачи автор?
|
|||
67
Telefon
05.11.12
✎
16:53
|
(62) Спасибо! интересно очень, хорошая информация для размышления.
Я недавно имел дело веб-сервисами - интересная идея.Но вопрос - а если допустим 1000 человек нажмет на кнопку на сайте, и сервис, допустим дернет функцию(функция трудная и тяжелая), то как это повлияет на интерактивность(пользователь номер 1000) долго ждать будет ответа на сайте? (66) я - нисколько |
|||
68
Telefon
05.11.12
✎
16:56
|
(63) оптима - это котрую в Нижнем делают? - не тут другая идея
|
|||
69
Рамиль Маугли
05.11.12
✎
17:02
|
Данная ветка в который раз показывает, как же далеки 1с ники от интернет технологий.
|
|||
70
kiruha
05.11.12
✎
17:15
|
(67)
>> - а если допустим 1000 человек нажмет на кнопку на сайте<< Вот тут то она придет Ж-а распараллеливать надо |
|||
71
Telefon
05.11.12
✎
17:21
|
(70) да-да вот именно, а вопрос - существуют ли в 1С адекватные механизмы расспараллеливания?(в контексте данной задачи)
|
|||
72
Alex11
05.11.12
✎
17:46
|
(0) Реализовал подобное на своем проекте.
Заказы сбрасываются в Mysql таблицу. в 1С на регламенте висит обработка, которая подключается к базе mysql и дергает новые заказы. При получении нового делает следующее: Создает нового контрагента (если контрагент такой есть, то находит), затем создает документ заказ покупателя, с резервированием Информирует менеджера (отправка уведомления на почту, можно при желании и смс прикрутить) Отправляет покупателю отчет о заказе, с указанными позициями (хотя это может делать сайт, но решил, что так удобней, по скольку контролируется остаток, и уведомление уходит с учетом наличия продукции) |
|||
73
kiruha
05.11.12
✎
17:46
|
Одна центральная, несколько работают с сайтом
|
|||
74
kiruha
05.11.12
✎
17:46
|
к (71)
|
|||
75
Telefon
05.11.12
✎
18:19
|
(72) спасибо, буду иметь в виду(очередной интересный вариант шедулинга)
(74) да, так оно и есть |
|||
76
sttt
05.11.12
✎
18:33
|
помню в 90х на сайте мне к заказу всякие счета и заказы формировало и оператор оперативно откликался...
|
|||
77
sttt
05.11.12
✎
18:35
|
(72) остатки тоже на сайте можно хранить, синхронизировать
|
|||
78
Telefon
05.11.12
✎
19:35
|
(76) а какая нагрузка в плане активных потребителей была на сайте?
|
|||
79
Юрий Лазаренко
07.11.12
✎
14:51
|
(62) Хороший вариант, но менее надежный чем "файлики". Что произойдет, если транзитная база в момент совершения заказа не приняла запрос? Заказ не состоится? А файлик всегда можно подгрузить повторно.
Этот вариант хорош, если на сайте надо оперативно показывать текущие остатки товара и брать их напрямую из 1С, без временных лагов. А так тут транзитная база не нужна, на файликах будет и проще, и быстрее, и надежней. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |