Связать сайт и 1С #748234


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

В этой группе 1С