|
Механизм обмена 1С с сайтом | ☑ | ||
---|---|---|---|---|
0
mzelensky
12.08.13
✎
13:01
|
Доброго всем! Данную приблуду только планируем разрабатывать, а поэтому хочу посовтоваться, какой алгоритм лучше использовать.
Итак, имеется 1С-ка (мозговой центр) и сайт (т.е. красивая веб-морда для клиентов). Общий смысл в том, что клиенты на сайте формируют заказы (вбивают первичные данные), а мы производим расчет (в 1С-ке) и выдаем им пакет выходных документов (несколько десятков документов различных форматов). Самый распространенный способ это: Клиент набивает заказ. Заказ падает в общий котел документов на вырузку. Раз в 10 минут (некий интервал обмена) с сайта выгружаются новые заказы (в виде внешних файлов) и забираются обработанные заказы (тоже в виде внешних файлов). Это достаточно просто реализовать, НО мне не нравится скорость работы. Т.е. обмен будет идти раз в 10 минут (выгрузка с сайта) + у 1С-ки будет стоять регламентное задание (с определенным интервалом), которое будет забирать сброшенные заказы...ну, т.е. все это время. Второй вариант делать нечто "спускового крючка". Т.е. сайт раз в 10 минут скидывает данные, забирает готовые данные и запускает в 1С-ке обработчки загрузки. Так убивается ожидание на стороне 1С. Третий вариант производить обмен в реальном режиме. Т.е. как только клиент отправляет заказ, он тут же (без ожидания) скидывается в 1С-ку и как только 1С-ка обработает его, она сразу выгружает данные на сайт. Так будет работать максимально быстро, но нужно решать вопрос очереди поступления заявок. Вопрос: как все-таки лучше организовать процесс обмена? |
|||
1
Fragster
модератор
12.08.13
✎
13:01
|
я за вебсервисы 1с
|
|||
2
mzelensky
12.08.13
✎
13:02
|
(0) Знакомый делал некий обмен по третьему варианту. 1С-ка и сайт общались через ком-соединения (сайт самописка на ПХП). + Ставил какую-то приблуду для создания парралельных процессов на стороне 1С. Вроде как его тесты показывали нормальную работу, при 100 одновременных запросах с сайта.
|
|||
3
mzelensky
12.08.13
✎
13:03
|
(1) Чуть подробней плиз! Т.е. ты предлагаешь .чтобы 1С-ка рулила всем процессом? Забирала данные и выгружала на сайт?
|
|||
4
Tatitutu
12.08.13
✎
13:03
|
мало входных данных - количество заказов (сейчас, ожидаемо) может две три продажи в неделю
|
|||
5
BigShmax
12.08.13
✎
13:04
|
у нас веб сервис. клиент вбивает номер заказа и получает сумму его из 1с для оплаты через egopay
|
|||
6
mzelensky
12.08.13
✎
13:05
|
(4) ну, пусть будет 50 в день, для начала.
Время обработки на стороне 1С примерно минута (если все хорошо) |
|||
7
Fragster
модератор
12.08.13
✎
13:05
|
(3) по зажатию на кнопку "сформировать заказ" на сайте сайт обращается в 1с по векб-сервису, в 1ске происходит расчет цен с учетм маркетинговой шелухи (например) и выдается результат на сайт. По кнопке "подтвердить" сайт опять обращается к 1с и документ в ней проводится.
У нас так (ну, немного более комплексно из-за РИБ) происходит. |
|||
8
Fragster
модератор
12.08.13
✎
13:06
|
(2) ком-соединение не рулит
|
|||
9
mzelensky
12.08.13
✎
13:07
|
(8) а если 10 пользователей одновременно нажимают "Сформировать". Как будет происходить распределение?
|
|||
10
Fragster
модератор
12.08.13
✎
13:08
|
(9) а как происходит распределение, когда в 1ске 10 пользователей нажимают "Записать"? вот то же самое и будет...
|
|||
11
mzelensky
12.08.13
✎
13:10
|
(10) веб-сервисы позволяют организовывать двухсторонний обмен? Просто мне нужно чтобы клиент нажал "сформировать" - данные уходят в 1С. Обработка может занять некоторое время. чтобы юзер не просто ждал все это время, а мог работать. Затем 1с-ка заканчивает расчет и кидает данные обратно на сайт ,а там уже клиент видит что-то типа "пакет документов сформирован"
|
|||
12
Fragster
модератор
12.08.13
✎
13:10
|
(11) формирование документа в 1с и "некоторое время"? сколько?
|
|||
13
alexei366
12.08.13
✎
13:11
|
(6) Мож вообще по красоте, сайт делает запрос к 1С, та запускает фоновое задание и возвращает сайт ГУИДик. Затем сайт опрашивает 1С "ну чо готово", та ей отвечает к примеру 30%. И уж если готова то сайт запросом (получается уже третим) получает итоговые данные. ГУИДики держи в регистре сведений, соответственно ГУИД эт измерение и реквизит процент выполнения (ну и дату навсякий создания ГУИДика). А процент будет обновлять наше фоновое задание (я надеюсь у нас же сервер 1С есть)
|
|||
14
mzelensky
12.08.13
✎
13:11
|
(10) как лицензии 1С раздаются при использовании веб-сервисов?
|
|||
15
Fragster
модератор
12.08.13
✎
13:12
|
(14) хз, постоянно висит пара-тройка ws-соединений, при том, что поток запросов около 10-20 в минуту
|
|||
16
mzelensky
12.08.13
✎
13:12
|
(12) Если все ок и первичку перепроверять не нужно, то около минуты. Если что-то не так или проводятся доп. проверки, то это может занять и день (пока на нашей стороне разберутсся со всем, проверять, исправят что не так)
|
|||
17
Скай
12.08.13
✎
13:13
|
+1 к веб-сервисам
|
|||
18
mzelensky
12.08.13
✎
13:14
|
(13) но все это тоже веб-сервисами реализовывать?
|
|||
19
Fragster
модератор
12.08.13
✎
13:14
|
(16) а, так у вас вручную? ну так сделайте по нажатию "сформировать" формирование в 1с, а по проведению в 1с - вызов веб-сервиса сайта (ну или фоновое задание по отправке или еще что, чтобы асинхронность со стороны пользователя 1с добавить)
|
|||
20
alexei366
12.08.13
✎
13:14
|
(18) ага
|
|||
21
mzelensky
12.08.13
✎
13:16
|
(19) там будет что-то типа "полуавтоматического". Т.е. если система удачно все создает сама и у нее не возникает проблем, то она может автоматом в обратную бросить данные. А если возникли какие-то проблемы, то она будет сообщать оператору, чтобы тот разобрался.
|
|||
22
mzelensky
12.08.13
✎
13:18
|
(19) через веб-сервисы можно перебрасывать двоичные данные? Ну т.е .файлы таких форматов, как пдф, jpg, xml и т.д. ?
|
|||
23
MaxisUssr
12.08.13
✎
13:20
|
(0)
Третий вариант. Плюсы - не нужна база на стороне сайта. С помощью веб-сервисов все, что указано в (0), можно реализовать |
|||
24
Fragster
модератор
12.08.13
✎
13:21
|
(21) короче, сначала тебе надо самому прикинуть диаграмму состояний и диаграмму последовательности, а дальше все понятно будет, что по каким кнопкам реализовывать
|
|||
25
Cube
12.08.13
✎
13:21
|
Тоже плюсую к web-сервисам.
|
|||
26
Fragster
модератор
12.08.13
✎
13:21
|
(22) ну, больше нескольких метров врядли получится
|
|||
27
Cube
12.08.13
✎
13:22
|
(22) Можно пробросить ссылку, а на php потом её обработать.
|
|||
28
mzelensky
12.08.13
✎
13:23
|
(23) база на стороне сайта будет в любом случае.
|
|||
29
Cube
12.08.13
✎
13:24
|
(28) И это правильно.
|
|||
30
mzelensky
12.08.13
✎
13:24
|
(26) ну, вот, например, тестовый пакет содержит 42 файла и все это весит 2,6 метра.
|
|||
31
MaxisUssr
12.08.13
✎
13:25
|
(22)
Если позволит тип String - можно в виде строки передать (нужно смотреть, сколько в string максимум символов влезет). (28) А зачем, если есть веб-сервисы? Есил какие-то изменения в структуре данных - то это же и в 1С, и на стороне сайта нужно переделывать |
|||
32
alexei366
12.08.13
✎
13:26
|
(26) у меня веб сервис помню тестился на 30 метров, роде пашет до сих пор
|
|||
33
Fragster
модератор
12.08.13
✎
13:26
|
(31) чтобы работать, если упал коннект до 1ски. например, выводить каталог каждый раз дергая 1ску - не оптимально.
|
|||
34
mzelensky
12.08.13
✎
13:26
|
(31) Базы будут взаимодополняться. Будет несколько крос-таблиц, через которые все будет работать. Там хитрая система :)
|
|||
35
Cube
12.08.13
✎
13:27
|
(31) "А зачем, если есть веб-сервисы?"
Время отклика страницы, надежность интернет-ресурса... Не слыхал? :) |
|||
36
alexei366
12.08.13
✎
13:28
|
(34) Давай, давай хитрец, поковыряйся с веб-сервисом сначала))
|
|||
37
Cube
12.08.13
✎
13:29
|
(30) (32) Я думаю, что это от настроек хостинга зависит...
|
|||
38
MaxisUssr
12.08.13
✎
13:29
|
(35)
Я это понял, просто намекаю на то, что сложность всего механизма увеличивается |
|||
39
mzelensky
12.08.13
✎
13:30
|
(36) Я буду к тебе приставать :)
|
|||
40
alexei366
12.08.13
✎
13:30
|
(37) Да шиш, вроде у 1С просто 50 метров ограничение, потомучто когда на шарпе писали веб сервис то там гдето эту штуку сами определяли
|
|||
41
alexei366
12.08.13
✎
13:31
|
(39) Воу воу воу, полегче парень
|
|||
42
Cube
12.08.13
✎
13:33
|
(40) Полезная инфа, надо запомнить.
|
|||
43
alexei366
12.08.13
✎
13:33
|
А прикинте мужики чо заметил: когда мы перезаписываем запись регистра сведений через МенеджерЗаписи то модуль набора записей вызывается 2 раза. 1 раз чтоб удалить а второй чтоб записать .
Корочь офигеть)) |
|||
44
mzelensky
12.08.13
✎
13:34
|
(43) это сейчас просто типа "полезная информация" была?
|
|||
45
alexei366
12.08.13
✎
13:34
|
(44) накипело!
|
|||
46
Fragster
модератор
12.08.13
✎
13:38
|
(43) баян
|
|||
47
Fragster
модератор
12.08.13
✎
13:39
|
(43) ты еще поснимай галочку "основной отбор" у пары измерений - вообще удивишься
|
|||
48
alexei366
12.08.13
✎
13:40
|
(46) да вроде не баян , у меня 8.3.3.687 стоит, так что приходиться для изменения записи использовать набор записей(((
|
|||
49
alexei366
12.08.13
✎
13:40
|
(47) Чот я уже очкую))))
|
|||
50
Fragster
модератор
12.08.13
✎
13:40
|
(48) в 8.0 также
|
|||
51
alexei366
12.08.13
✎
13:41
|
(50) 8.0 в глаза даж не видел, эт наверно к счатью)
|
|||
52
WhiteCat
12.08.13
✎
13:51
|
(0) Я когда делал подобное реализовал сразу оба варианта. При формировании заказа на сайте он дергает 1С за веб-сервис, 1Ска все формирует и тут же кидает ответ. На всякий случай формируются и файлы с данными, которые загружаются раз в 5 минут. Работает вся эта кухня уже год без сбоев. Скорость всех устраивает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |