|
Связать сайт и 1С | ☑ | ||
---|---|---|---|---|
0
mc_julik
17.07.15
✎
15:21
|
Добрый день, прошу советы, если возможно примеры связки сайта и приложения 1С 8.3
Задача такова, есть приложение работающее несколько лет и к нему требуется создать сайт, то есть надо подключаться к приложению для чтения данных, думаю их кэшировать на час или два, не знаю если так будет правильно и запись в базу данных 1С оформленных заказов. Как быть с чего надо начинать и реально ли это сделать? Я начал копать в сторону SOAP, но увидеть бы какой то рабочий пример и понять принцип работы. |
|||
1
Garykom
гуру
17.07.15
✎
15:25
|
||||
2
lanc2233
17.07.15
✎
15:43
|
Подключайся через ODBC к базе.
|
|||
3
vhl
17.07.15
✎
15:46
|
через внешние источники не проще?
|
|||
4
Котокот
17.07.15
✎
15:54
|
Обмен файлами XML. Все прочие варианты с подключениями и т.д. это ненадежно. Упал интернет, подвис сервер - заказ не выгрузился. А файлики складируй себе на сервере, скачивай через ftp время от времени. Для "онлайности" можно при создании заказа на сайте создавать xml-файл с его данными и дергать через веб-сервис 1С, чтобы она его моментально подгрузила.
|
|||
5
Serginio1
17.07.15
✎
16:25
|
||||
6
Garykom
гуру
17.07.15
✎
16:31
|
(2)-(4) а Вам не кажется что мой способ все таки лучше...
надежнее по крайней мере точно |
|||
7
Garykom
гуру
17.07.15
✎
16:31
|
(6) (2)-(4) = (2)-(5)
|
|||
8
Serginio1
17.07.15
✎
16:37
|
(7) Не зная всех подводных камней я бы не стал писать в базу напрямую, кроме непериодических регистров сведений.
Но базы могут быть в том числе и файловые. |
|||
9
Serginio1
17.07.15
✎
16:38
|
8+ прошу прощения. Ему только для чтения. Пусть читает напрямую
|
|||
10
stix2010
17.07.15
✎
16:38
|
(4) txt и dbf ненадежны?
|
|||
11
Serginio1
17.07.15
✎
16:41
|
||||
12
Garykom
гуру
17.07.15
✎
16:44
|
Вот серьезно не пойму идиотизма... если магазин на php то это MySQL почти 100%
если заказы в MySQL то какого мешает 1С периодически туда коннектиться и что нужно выкачивать? |
|||
13
stix2010
17.07.15
✎
16:45
|
проще всего выгружать данные в файл csv, на сайте пишется php обработчик отдающий инфу в сsv, 1С кой парсится, дальше фоновым заданием
|
|||
14
Garykom
гуру
17.07.15
✎
16:45
|
(12)+ в смысле не пойму вот зачем разные "прокладки" изобретать?
http://catalog.mista.ru/public/90666/ |
|||
15
Garykom
гуру
17.07.15
✎
16:46
|
(13) очередная прокладка в виде выгрузки (писать код?), csv (как туда все засунуть?) и загрузки (ну снова код!)
|
|||
16
stix2010
17.07.15
✎
16:49
|
(15) Если сервер mysql не будет открыт извне? Висит у хостера?
|
|||
17
stix2010
17.07.15
✎
16:51
|
и тут код не надо писать?
|
|||
18
Garykom
гуру
17.07.15
✎
16:52
|
(0) а если Вы "чисто веб разработчик" то чтобы "спихнуть от себя проблему" нет ничего гениальнее чем отсылать заказы по электронке...
и пусть там 1С-ники занимаются любовью с парсингом писем |
|||
19
Garykom
гуру
17.07.15
✎
16:53
|
(16) и шо? либо открыть правильно либо веб-обертка на том же php будет надежнее хотя и сложнее
(17) меньше |
|||
20
stix2010
17.07.15
✎
16:59
|
csv можно засунуть все - маленький пример правда 10летней давности,
читаемо и файлы минимальны. orders> 1;20050217;Иванов <orders ordersdetail> 1;10;100;15 <ordersdetail а сейчас кошерны вебсервисы |
|||
21
stix2010
17.07.15
✎
17:01
|
а Вы с вашим вебобертками рано или поздно получите гемор по безопасности
|
|||
22
Garykom
гуру
17.07.15
✎
17:02
|
(20) это не csv а свой "текстовый формат"
(21) я? |
|||
23
stix2010
17.07.15
✎
17:05
|
(22) ладно если так csv?
orders;1;20050217;Иванов; ordersdetail;1;10;100;15; clients;Иванов; |
|||
24
Garykom
гуру
17.07.15
✎
17:09
|
(23) и это "хрень какая то"
сsv это набор одинаковых записей через ентер, поля которых разделены ";" для представления объектов нуна все в одну строчку - один объект = одна строка ну или несколько cvs ЗЫ в общем случае в csv даже порядок строк неважен, по умолчанию поле индекс строки делается |
|||
25
Garykom
гуру
17.07.15
✎
17:10
|
(24)+ т.е. выгрузить то в (23) легко... а вот потом как загрузить? как понять в какой строке какая часть заказа?
|
|||
26
stix2010
17.07.15
✎
17:15
|
Хорошо это txt с разделителями.
orders, ordersdetail,clients - имена таблиц mysql. Хотя еще раз сейчас xml-ом это проще сделать. |
|||
27
Garykom
гуру
17.07.15
✎
17:16
|
(26) да хоть json'ом
|
|||
28
Котокот
19.07.15
✎
12:03
|
(7) Какой именно способ? Веб-сервисы или прямое подключение? Веб-сервис мы используем только для ускорения процесса обмена, чтобы дернуть 1С, мол, у нас готов файлик для загрузки, приходи за ним. В случае когда пропадает связь (сайт потух, 1С недоступна) веб-сервису некуда (или неоткуда) стучаться. А файлики себе складываются, ждут, когда связь наладится и регламентное задание их заберет.
|
|||
29
Котокот
19.07.15
✎
12:03
|
(27) JSON'ом, кстати, лучше всего будет. Наконец-то его на уровне платформы реализовали.
|
|||
30
ProDeveloper
19.07.15
✎
12:10
|
Последние тенденции в плане обменов от 1с это уход от веб-сервисов и переход к интерфейсу odata (REST-запросы).
|
|||
31
ProDeveloper
19.07.15
✎
12:11
|
Для этих целей нужно опубликовать базу + интерфейс odata на веб сервер.
|
|||
32
ProDeveloper
19.07.15
✎
12:11
|
Далее все очень просто до безобразия.
|
|||
33
ProDeveloper
19.07.15
✎
12:14
|
Небольшое описалово odata -> http://v8.1c.ru/o7/201312rest/
|
|||
34
Котокот
19.07.15
✎
12:37
|
(31) Фикус в том, что для этого надо опубликовывать, открывать - дыры в безопасности в общем.
|
|||
35
Сниф
19.07.15
✎
17:15
|
(34) тогда любая связка с сайтом - дыра в безопасности. Тогда лучшая защита - сверхсложная структура таблиц сайта и кривой код в 1С.
|
|||
36
Gepard
19.07.15
✎
20:29
|
(0) php страничка, которая возвращает незагруженные заказы в json. Вторая страничка которая принимает файл с товарами (csv). Третья, которая подтверждает загрузку заказов по ид.
Можно совместить в одну |
|||
37
Gepard
19.07.15
✎
20:30
|
(36) регламентным заданием вызывать с нужной периодичностью
|
|||
38
Gepard
19.07.15
✎
20:32
|
Данная схема минимизирует требования к дополнительным настройкам и не требует открытия дополнительных портов и т.п.
|
|||
39
Котокот
20.07.15
✎
11:45
|
(35) Нет
|
|||
40
Котокот
20.07.15
✎
11:46
|
(35) 1С, открытая по белому айпи, и 1С, сидящая непонятно где и время от времени дергающая сайт - это две большие разницы с точки зрения безопасности.
|
|||
41
France
21.07.15
✎
02:11
|
Есть рабочий пример. Но, нельзя вот так вот взять и отдать - за него заказчик денежку платил это его собственность. И создавали эту собственность проги не день и не в одиночку. Но если что - стучись в почту)) чем нибудь промежуточным поделюсь))
|
|||
42
Котокот
21.07.15
✎
10:28
|
(41) Ой, ну ладно, про собственность заказчика можно было бы не говорить )))
|
|||
43
Учитель
21.07.15
✎
10:39
|
Очень хорошая тема , сейчас прогер которого я нанял делает что то подобное) Кстати кто разбирается в веб сервисах и проч, пишем на [email protected]
|
|||
44
Остап Сулейманович
21.07.15
✎
10:42
|
(43) "кто разбирается в веб сервисах и проч, пишем на [email protected]"
Зачем? |
|||
45
Maniac
21.07.15
✎
10:47
|
Вот люди - процессионально занимаются и специализируются на любых движках сайтов и обменах с 1С.
http://cms1c.ru Сам работаю с ними регулярно. |
|||
46
miki
21.07.15
✎
10:56
|
(45)что это за нонэйм фирма, находящаяся неизвестно где?
|
|||
47
rsv
21.07.15
✎
11:01
|
(0) Странный вопрос .... ну по крайней мере на текущий момент времени . Скорее способов и методов тьма . Выбирайте самый дешевый и простой.
|
|||
48
mc_julik
03.08.15
✎
15:31
|
Мда не знаю что случилось что уведомления не пришли, думал о мне тут все забыли, слава богу нет
Вся беда в том что написать любой скрипт php и тем более обработку XML это фигня делов для меня, но я как видел xml сообщения обмена, он с кирилическими тегами и меня это пугает. Что я понял, так это вот что, для обновления цен услуг или списка клиентов я настраиваю обмен и пишу под него обработчик, а для отгрузки заказов мне надо всего лишь отдать конекты к базе и пусть одинсшники подключаются и забирают заказы? Как мне сделать для этого тестовую площадку, установить у себя 1С? Принцип теста такой должен быть, получил XML сохранил ее для кронтаба и потом он запускает скрипт по обработке? |
|||
49
gigi789
03.08.15
✎
15:54
|
(48) про какие уведомления речь??
|
|||
50
Котокот
04.08.15
✎
08:24
|
(48) " для отгрузки заказов мне надо всего лишь отдать конекты к базе и пусть одинсшники подключаются и забирают заказы"
Не надо коннекты отдавать, надо написать на php скрипт, который в режиме реального времени будет формировать необходимые данные в формате xml. Подключаться ЧтениемXML к этому скрипту, указывая в качестве пути URL и работать из 1С с ним как с обычным xml-файлом. Ну или при записи заказа на сайте формировать xml-файл с его данными, сохранять в определенной папке на сайте, 1С через ftp будет его забирать и загружать, после загрузки удалять с ftp. |
|||
51
mc_julik
05.08.15
✎
14:45
|
(49) о том что я имею сообщения в теме
(50) вся беда в том что я остался без 1с программера и мне надо все сделать самому, выход это REST или искать кодера 1с, чтобы работать только через веб-сервисы |
|||
52
gigi789
05.08.15
✎
14:47
|
(51) Тут такого нет вроде
|
|||
53
Котокот
05.08.15
✎
15:37
|
(51) Нанять единоразово, чтобы кодер 1С сделал все грамотно и красиво. ИМХО это лучший вариант.
|
|||
54
xXeNoNx
05.08.15
✎
16:08
|
(53) +100
|
|||
55
rs_trade
05.08.15
✎
16:11
|
Прямые запросы. 1С всегда инициатор. Сначала читает измененные данные, потом пишет на сайт нужные.
Веб сервисы круче, но муторней и более трудоемко реализовывать. |
|||
56
xXeNoNx
05.08.15
✎
16:20
|
(55) Чем оно трудоемко?
|
|||
57
xXeNoNx
05.08.15
✎
16:20
|
+(56) делаешь xml и на обмен...
|
|||
58
rs_trade
05.08.15
✎
16:26
|
(56) Кодить и отлаживать сложнее. Да еще с двух сторон веб-сервисы писать надо. Прямые запросы из 1С быстро, просто и эффективно. Все с одной стороны пишешь. На сайте только флаги измененных данных для 1С сделать надо и доступ.
|
|||
59
xXeNoNx
05.08.15
✎
16:30
|
(58) На выходе всегда массив данных в том или ином виде, в обработку засунуть исполнение и вуаля, отладка.
Если обмен с сайтом, то вопрос сайтом решает web-программист. Прямые запросы? - ну фик знает, если база удаленно, то доступ к скулю должен быть. |
|||
60
mc_julik
06.08.15
✎
13:01
|
Да как то бы не хотелось напрягать 1с прогера, потому что придется отваливать денег ему от проекта, а я сам не против поработать. Но как не крути придется нанимать и платить, я вот подумал можно ли REST сделать ограничение только на чтение, чтобы не наделать дыр, мне надо только чтение и запись заказов, последнее так и быть отдам ему, чтобы он сам с этим разбирался)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |