|
Как лучше наладить обмен с сайтом? | ☑ | ||
---|---|---|---|---|
0
Профессионал 1с
19.04.15
✎
13:04
|
Есть такая задачка-настроить синхронизацию с сайтом в котором учитываюся партнеры, они пополняют и обнуляют свой счет все эти операции должны отражаться в 1ске. Также есть операция "оплата" факт которой указывается в самой 1ске и эти данные должны улетать на сайт. появилась идея настроить через XML , вот только вопрос где это все должно храниться.. или как-то по-другому лучше сделать?
|
|||
1
Профессионал 1с
19.04.15
✎
13:07
|
Там со стороны сайта есть толковый прогер , ему только надо объяснить каким образом меняться)
|
|||
2
Ranger_83
19.04.15
✎
13:08
|
сайт на чем?
|
|||
3
raykom
19.04.15
✎
13:09
|
Актуальней вопрос - прогер на чем ...
|
|||
4
Профессионал 1с
19.04.15
✎
13:11
|
(3) хз а это важно узнать на чем?) он просто говорит что там через XML можно, плюс еще спрашивал ка кизвне можно обращаться к 1ске)
|
|||
5
Fl0Mаsтер
19.04.15
✎
13:13
|
(4) пусть на сайте сделает каталог, и даст тебе доступ по FTP. Он туда будет выгружать XML, а ты забирать. И наоборот. В 1С настрой расписание, например каждые 5 минут.
Можно конечно и к 1Ске обращаться, но проще будет через xml. |
|||
6
Torquader
19.04.15
✎
13:14
|
Сначала берётся бумага и рисуется обмен с описанием данных, которые передаются и как они идентифицируются (Гуид, Ид-сайта и т.п.).
Потом уже, когда на бумаге нарисовано, решается вопрос - как на каждой стороне хранить данные обмена, чтобы не было задвоений. После этого решается вопрос, кто и как будет запускать обмен. А XML-файл, это всего лишь, разновидность текстового файла, в котором хранится информация. |
|||
7
Профессионал 1с
19.04.15
✎
13:17
|
(6) дам мы с ним уже говорили насчет этого. На сайте регистрируется партнер, данные регистрации переходят в 1ску, партнер тратит деньги на ченить- таблица счетов переходит в 1ску. Партнер оплачивает счет данные оплаты передаются на сайт)
|
|||
8
Профессионал 1с
19.04.15
✎
13:17
|
(5) А там нельзя по факту изменения данных в XML? Просто они попросили сразу, после изменений)
|
|||
9
Ranger_83
19.04.15
✎
13:19
|
вэб-сервис пусть рисует, а ты будешь его использовать
|
|||
10
Torquader
19.04.15
✎
13:22
|
(7) Во-первых, нужно понять, как однозначно идентифицируется партнёр, чтобы оплаченный им счёт через обмен с клиент-банком ложился на него без ручной правки.
Во-вторых, в вашем случае, инициаторов обмена два - данные должен передавать сайт, а также должна быть выгрузка на сайт счетов после загрузки их в 1С. |
|||
11
Профессионал 1с
19.04.15
✎
13:23
|
(9) это же долго и дорого по бабосам выйдет?
|
|||
12
Torquader
19.04.15
✎
13:26
|
1С может ходить на сайт через XMLHttpRequest, если сервис долго рисовать, а сайт в 1С может заходить через Web-сервис или ну или через файл/почту, если Web-сервис окажется сложно реализовать.
Опять же - можно опубликовать базу и сделать web-proxy на nginx или чём-то ещё. |
|||
13
Профессионал 1с
19.04.15
✎
13:27
|
(10) Там с сайта будет приходить таблица счетов. партнера я буду заводить в справочнике. у каждого партнера свой айди, после оплаты я просто высылаю сумму оплаты с тойже таблицей счетов, что он мне прислал
|
|||
14
Torquader
19.04.15
✎
13:29
|
(13) Партнёра нужно заводить с правильными данными счётов и верным названием, иначе, двух партнёров можно спутать.
Хотя, им лучше сразу сказать, что во всех документах они указывают ИД-партнёра с сайта. В счетах услуги будут ? Просто, если нет, то вообще не понятно - зачем здесь 1С. |
|||
15
Профессионал 1с
19.04.15
✎
13:32
|
(14) для мониторинга бухгалтером и дальнейших задач, плюс отчеты оперативные в бухгалтерии они хотят видеть
|
|||
16
Профессионал 1с
19.04.15
✎
13:33
|
(14) В таблице счетов, присылаемой с сайта будет айдишник партнера, и его траты, их надо учмитывать в 1ске, Потом в 1ске надо отражать факт оплаты, погашения задлолженности и эти данные отправлять на сайт
|
|||
17
Torquader
19.04.15
✎
13:43
|
(15) Ну тогда перед отчётом 1С получает почту с xml-файлами с новыми данными. Обновление счетов или их редактирование на сайте должно приводить к повторной выгрузке, а редактирование в 1С запретить.
|
|||
18
Профессионал 1с
19.04.15
✎
13:47
|
(17) а на сайт как также через почту отсылать? И насколько это можно будет назвать "Синхронизацией" ?
|
|||
19
Torquader
19.04.15
✎
13:53
|
(18) Скажем так, в 1С до загрузки данных об оплатах и снятия отчёта эти данные никому просто не нужны.
На сайт же имеет смысл данные выгружать как только поменяются оплаты. Можно не почтой, а Web-запросом, но тогда данные из 1С будут забираться на сайте и формироваться в момент забора, а если почтой, то формироваться они могут тогда, когда что-то поменялось. |
|||
20
Torquader
19.04.15
✎
13:54
|
И потом, никто не запрещает сделать фоновое задание для получения почты, например, раз в час.
|
|||
21
Профессионал 1с
19.04.15
✎
13:55
|
(20) Так надо учитывать что там данные могут меняться раз в 30 секунд тк, возможен большой наплыв клиентов и расчетов
|
|||
22
Torquader
19.04.15
✎
13:57
|
(21) Сайт может отсылать почту по каждому изменению состояния.
Просто, почта проще в реализации, чем Web-сервис или ftp. В 1С что люди каждые 30 секунд смотрят, что поменялось ? |
|||
23
Профессионал 1с
19.04.15
✎
13:58
|
(22) это да, там не каждые 30 секунд) О оплата? если проходит оплата. то чего делать?
|
|||
24
Профессионал 1с
19.04.15
✎
13:58
|
+ это несовсем синхронизация помоему, а что если наладить фоновое задание раз в минуту?
|
|||
25
Torquader
19.04.15
✎
13:59
|
(23) Оплата проходит на сайте или через банк ?
|
|||
26
Котокот
19.04.15
✎
13:59
|
(9) Зависнет сервер 1С ненадолго, сайт не достучится до него, что тогда?
(0) Мы сделали путем обмена xml-файлами. На каждое действие (создание заказа, отмена его, оплата) создается свой xml-файл. 1С периодически заходит по ftp на сайт, скачивает файлы, выполняет нужные действия в БД. Кроме этого прикрутили веб-сервисы. При выполнении действия на сайте создается xml-файл и сразу же дергается веб-сервис. Его задача - загрузить с ftp файлы и обработать их не дожидаясь выполнения регламентного задания. Таким образом достигаем некой "онлайновости" и в то же время обеспечивается 100% вероятность загрузки данных (с некоторым запозданием), если сервер с 1С был недоступен и веб-сервис не достучался до него. |
|||
27
Torquader
19.04.15
✎
13:59
|
(24) Если заглянуть в ящик по IMAP, то там можно висеть и просто запрашивать новые письма.
|
|||
28
Torquader
19.04.15
✎
14:02
|
У ftp есть нехорошая особенность - считать концом файла момент обрыва соединения.
|
|||
29
Профессионал 1с
19.04.15
✎
14:02
|
(25) оплата забивается в 1ске и проходит по типовым документам
|
|||
30
Torquader
19.04.15
✎
14:03
|
(29) То есть её вводят руками ?
Тогда точно полный online никого не спасёт. |
|||
31
Ranger_83
19.04.15
✎
14:04
|
(26) Ничего страшного.В следующий раз запишется.Обмен делать с частой периодичностью
|
|||
32
Профессионал 1с
19.04.15
✎
14:04
|
(30) да, оплата вводится руками, т.е лучше раз в полчаса обмен делать? и почему онлайн никого не спасет если не секрет?)
|
|||
33
Профессионал 1с
19.04.15
✎
14:08
|
(26) По FTP на сайт, скачиваем с помощью веб сервиса? а данные об оплате как передавать на сайт?
|
|||
34
Torquader
19.04.15
✎
14:09
|
(31) Если на сайте обмен и обслуживание пользователей идут в разных процессах, то ничего страшного в том, что обмен куда-то не достучится нет, просто после нескольких таких попыток админы получают почту с предупреждением, что "пора за вазелином".
Если же обмен вызывается из потока, обслуживающего клиента, то там любое промедление нежелательно. (32) Если оплата вводится руками, то нет смысла обновлять данные контрагента, пока вводится оплата. Обмен можно делать после окончания ввода оплаты, запуская фоновое задание. Конечно, можно запрашивать данные и при открытии подбора контрагентов, но это сильно замедлит ввод. Но кнопочку "немедленный обмен" желательно иметь, чтобы если контрагента нет в списке можно было загрузить все данные обмена и найти его там, если что-то не загружено. |
|||
35
Torquader
19.04.15
✎
14:11
|
(33) Вообще-то, на сайтах можно делать специальные страницы для запроса и обновления данных, которые доступны только со специальных IP, а также идут через защищённое сертификатом соединение.
Туда можно и оплату передавать, так как, вся информация об оплате - это Ид-контрагента, сумма и дата-время оплаты. |
|||
36
Профессионал 1с
19.04.15
✎
14:14
|
(34) это да, интересно звучит, а где хранить XML файлы, на POP3 и SMTP?
|
|||
37
Профессионал 1с
19.04.15
✎
14:23
|
+ 35 спасибо за идею! буду пробывать а где XML хранить? На почтовых серверах7
|
|||
38
Torquader
19.04.15
✎
14:27
|
(37) Если отправляется по почте, то файлы будут в почтовых вложениях.
Просто, при работе с файлами, иногда есть проблемы когда кто-то начинает читать файл, пока он ещё не готов, а в почте таких проблем нет. |
|||
39
Профессионал 1с
19.04.15
✎
14:31
|
(38) Т.е через почтового клиента?
|
|||
40
Профессионал 1с
19.04.15
✎
15:04
|
(38) Через клиента нормуль, или гонево?
|
|||
41
Профессионал 1с
19.04.15
✎
16:52
|
скажите ктонить! обмен через клиента оптимально будет настраивать?
|
|||
42
Torquader
19.04.15
✎
21:46
|
(41) Если через почту, то можно и через клиента.
Со стороны 1С, на самом деле, пофиг через что - там будет только один процесс. А вот со стороны сайта почта удобнее тем, что не надо следить за уникальностью записей, если несколько потоков одновременно что-то пишут в обмен. |
|||
43
Котокот
19.04.15
✎
22:21
|
(33) Мы делаем выгрузку csv на ftp, далее вызов скрипта, который этот csv разбирает и заносит данные в БД сайта.
|
|||
44
Профессионал 1с
20.04.15
✎
10:57
|
(43)(42) Там прогер сидит говорит что ч почтой проблемы будут говорит создать HTTp сервер проще и он туда свою инфу будет закидывать а я свою, а как создать http сервер и дорого ли это стоит?
|
|||
45
Stim
20.04.15
✎
11:18
|
веб-сервисами делается элементарно
|
|||
46
Stim
20.04.15
✎
11:25
|
(35) достаточно передавать данные get-запросом и с каким-то динамическим паролем, который будет обрабатываться в 1С
|
|||
47
Torquader
20.04.15
✎
11:49
|
(44) Web-сервер - это очень просто - или на самом сайте делается раздел, который недоступен с самого сайта по ссылкам (а лучше находится на другом доменном имени).
Или ставится ещё один простой Web-сервер, скажем, на 1080 порт. Собственно, никто не мешает поставить машину в офисе и вляпать на неё Апача, но тут уже нужен реальный ip-адрес и нормальный FireWall. Если искать сторонний дешёвый сервер, то там могут сценарии не обрабатываться, а без них сделать размещение файла по http-протоколу очень сложно. |
|||
48
Torquader
20.04.15
✎
11:50
|
(46) Можно и без пароля - просто подписывать запрос хэш-функцией, в которую подмешан некоторый секрет.
У многих сервисов именно так и сделано. |
|||
49
Stim
20.04.15
✎
11:54
|
(48) это как?
|
|||
50
Torquader
20.04.15
✎
11:59
|
(49) Ну, примерно так:
$Secret="ВасяПупкин"; $RequestData=_POST['RequestString']; $HashMac=_POST['Hash']; $LocalHash=sha256($Secret.$RequestData); if($LocalHash!=$HashMac)die('vrong MAC-code.'); |
|||
51
Torquader
20.04.15
✎
12:01
|
А ещё лучше сразу читать:
https://ru.wikipedia.org/wiki/Имитовставка По-русски, это, оказывается, "имитовставка" называется. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |