Форум Рідного Міста

Звязка 1С і PHP

vovka - 2-9-2003 у 15:26

Тут шеф поставив вирішити таку в принципі нескладну задачу. Але то тільки в принципі.

Потрібно організувати магазин на сайті. Ну це реалізовано вже. Але тепер є одна проблема. Потрібно якось правити скриптом таблиці бази даних 1C .
1C - працює з MS SQL сервером. Теоретично це дуже добре, і написавши декілька запитів, можна при продажі зміювати в таблицях інформацію про кількість товару на складі в базі 1C. А практично це майже нереально, судячи з того як організована в тій 1С структура таблиць. Я вже про то всі форуми перечитав...


ASP і спеціальне веб-розширення до 1С непідходить. Так як це працює тільки під віндовс. А мені це треба організувати між юнікс сервером де є PHP і 1C яка стоїть звичайно під віндовсом.

Які можете порадити вирішення цієї проблеми ?
Може вже хто з цим стикався, так як це досить таки поширена проблема.

Андрій Пелещишин - 2-9-2003 у 16:58

Відмовитися від 1С. Закрите рішення, що погано розширяється типовими для відкритих систем засобами типу PHP

vovka - 2-9-2003 у 17:12

Цитата:
Першим відправив користувач Андрій Пелещишин
Відмовитися від 1С. Закрите рішення, що погано розширяється типовими для відкритих систем засобами типу PHP


Відмовитися також нереально :)
Дуже вже все з нею пов'язано.

Я от придумав так, але незнаю чи то є добре.
Ставимо ще один сервер на Windows машині. Настроюємо там IIS + ASP з доступом ззовні тільки з сайту. Тоді враховуючи що для 1С існує веб розширення, спеціально заточене під АСП, зробити скрипт на ASP який би міняв базу при продажі товару.
Аналогічно при продажі товару в оффлайні, скрипт би відправляв на сервер з PHP MySQL дані що товар продано. А при продажі з сайту запускати ASP скрипт на тому сервері, і передавати туда необхідні параметри.
Таким чином ми будемо мати дві бази товарів. Першу на хостінгу з веб-магазином, а другу в нас - з тою що працює 1С. Тобто так буде синхронізуватися дві бази.

Я розумію, що це трохи через одне місце, але переписувати всі скрипти магазина під АСП буде накладно.

Просто думав, можливо є якісь простіші варіанти, а то дуже вже нехочеться робити таким способом, яким я написав.

Андрій Пелещишин - 2-9-2003 у 17:31

Просто з часом проміжна система стане мало чим відрізнятися від базової, що на 1С (хіба що буде кращою) . Тоді її можна буде просто трохи доробити і ....

Ihor Byra - 4-9-2003 у 11:48

А для чого тобі тисати скрипт на ASP На віндовсі також можна настроїти сервер з PHP та MySQL.

Але на твому місці я б просто переконав шефа щоб переробляти все заново. Не думаю, що тобі вийде поєднати 1С і Юнікс Якби в 1С була командна стрічка було б все набагато легше

Семен - 4-9-2003 у 19:46

А не проще из 1С и средствами 1С кидать данные на сервак?
хотя в виде XML-а?

Семен - 4-9-2003 у 19:50

к тому же есть примочки к 1С в том числе 1С_mysql, 1C_java, и совсем нетрудно навоять 1С_php addin

vovka - 4-9-2003 у 20:47

Цитата:
Першим відправив користувач Семен
к тому же есть примочки к 1С в том числе 1С_mysql, 1C_java, и совсем нетрудно навоять 1С_php addin

Я просто з 1С ніколи не мав справи. А тут директор таке придумав. А де можна взяти ті примочки ? Я би показав це нашим програмістам 1С, які кажуть що то майже нереально зробити.

vovka - 4-9-2003 у 21:04

Цитата:
Першим відправив користувач Семен
А не проще из 1С и средствами 1С кидать данные на сервак?
хотя в виде XML-а?

Кидати можливо й так. А от звідтам і в 1С, при продажі ?
Як зі сервака в базу 1С автоматично кидати ?

vovka - 4-9-2003 у 21:22

Цитата:
Першим відправив користувач Iggorini
А для чого тобі тисати скрипт на ASP На віндовсі також можна настроїти сервер з PHP та MySQL.

Але на твому місці я б просто переконав шефа щоб переробляти все заново. Не думаю, що тобі вийде поєднати 1С і Юнікс Якби в 1С була командна стрічка було б все набагато легше

На ASP я не буду писати, бо його незнаю. Просто бачив в факу готові напрацювання. Там описувалося їхнє фірмове розширення . І все на тій мові.
Писав в ABBBY. Прислали відповідь що це дуже нерекомендується - вносити зміни в базу не штатними засобами, а саморобними. Порекомендували для читання використовувати то якось через OLE automation. Але я не дуже зрозумів. От знаю як ексель з PHP через COM запустити. Треба буде попробувати може й з 1C так вдастся .

Семен - 4-9-2003 у 23:59

на
http://1c.hippo.ru/addin.html много разных примочек
в аббии правильно сказали, прямую писать в базу 1с смерти подобно, лучше или саму 1с использовать как ОЛЕ объект или, что проще, из 1с править базу на сервере или сделать обмен с помощью XML файлов, с ними и 1с работает и ПХП, а можно прямо обращаться из 1С в mysql, что еще проще

vovka - 5-9-2003 у 17:19

Цитата:
Першим відправив користувач Семен
на
http://1c.hippo.ru/addin.html много разных примочек
в аббии правильно сказали, прямую писать в базу 1с смерти подобно, лучше или саму 1с использовать как ОЛЕ объект или, что проще, из 1с править базу на сервере или сделать обмен с помощью XML файлов, с ними и 1с работает и ПХП, а можно прямо обращаться из 1С в mysql, что еще проще

Дуже дякую за лінк. Там дійсно є багато того що пригодиться.
Ясно. В базу сам не лізу.
Обмін XML файлами як на мене неможлививй так як неоперативний. На сервері припустимо будуть формуватися XML при кожній продажі. Я їх можу переслати на машину з 1С. Але тоді там хтось вручну повинен це імпортувати в 1С, або настроїти 1С по планувальнику на кожну хвилину перевірки чи є файл.
По планувальнику - це нереально, бо дуже багато системних ресурсів.

Певно ви не зовсім мене зрозуміли.
Мені потрібно, щоб в сайта і 1С буда спільна база. Тобто при продажі з сайту це моментально обновлялося в базах 1C. Добре, наприклад з 1С я зможу працювати з MySQL - але це мені тоді без потреби, так як бази будуть різні, і наприклад при продажі з сайту, база MYSQL буде відрізнятися від бази 1С. Тобто все буде прекрасно працювати тільки в одну сторону: offline->online

Тому скоріш за все прийдеться вивчити і розібратися з роботою 1C як OLE сервер. Можливо це якраз те що треба.

Семен - 5-9-2003 у 19:38

В 1С есть предопределенная процедура "ОбработкаОжидания", которая смело может брать на себя функцию проверки наличия XML файла.
Время через, которое она проверяет наличие этого файла устанавливается.
Это самый простой вариант.

Андрій Пелещишин - 5-9-2003 у 22:52

Семене, я дуже радий що Ви повернулися на Форум, крім того ще й з такими корисними порадами. Сподіваюсь Ваші поради стануть у пораді vovki. Бо я наприклад не дуже уявляю собі красивий вихід з окресленої ним ситуації.

Але, Семене, я б дуже просив Вас врахувати правило україномовності Форуму. Мені здається, що колись я вже нагадував Вам про це.

vovka - 6-9-2003 у 09:09

Цитата:
Першим відправив користувач Семен
В 1С есть предопределенная процедура "ОбработкаОжидания", которая смело может брать на себя функцию проверки наличия XML файла.
Время через, которое она проверяет наличие этого файла устанавливается.
Это самый простой вариант.

Ага. Якщо, так тоді це певно вирішує проблему найпростіше :)
Дуже дякую. Тепер вже вроді все зрозумів, йду це робити.

Семен - 6-9-2003 у 11:26

удачи