1С8 -> php сайт?

Как из пхп получить номенклатуру и цены на товары из 1С8? В каком формате там база данных? (Вообще не всречался пока с 1С).
Реально вообще такое сделать?
  • Вопрос задан
  • 3786 просмотров
Решения вопроса 3
eternals
@eternals
1. Реально. Но лучше выгружать из 1С на сайт.
2. Формат базы данных лучше не трогать по целому ряду соображений.
3. Да, реально. Например, в 1С-Битрикс выгружается из «1С: Управление торговлей». Можно воспользоваться этим механизмом.
4. Как тупой, но простой вариант: 1С умеет выгружать данные в xml в директорию периодически. Можно оттуда читать.
Ответ написан
AntonBaton
@AntonBaton
приходилось реализовывать взаимодействие с 1С как напрямую с базой 1с-ки (чтение и запись) так и через всевозможные текстовые файлики.

при работе напрямую с базой ОЧЕНЬ много хлопот.

проще работать через какой либо промежуточный обмен, в этом есть плюсов:

1. может 1С смениться на что-то иное, например ERP или CRM систему
2. не нужно разбираться в структуре базы

самое важное заручиться поддержкой со стороны 1С разработчиков и быть уверенным в том, что они понимают что от них хотят.
Ответ написан
@Dementor Куратор тега 1С
программист
Выше все верно написано. Подсумирую и дополню.

1) Самый «простой» вариант — это то, что предлагает фирма 1С. В типовые торговые решения встроен план обмена с сайтом, который выгружает в формате ComerceML данные по товарам, остаткам, резервам и (возможно) по взаиморасчетам. Из сайта загружаются заказы. Обмену штатными средствами задается расписание. По данной схеме работают Bitrix и еще несколько веб-магазинов.

2) Если есть возможность доработать конфигурацию, то можно реализовать и другие варианты выгрузки нужных данных. Можно поднять веб-сервисы. Если мне память не изменяет, то на дисках ИТС (которые дают в нагрузку ко всем продуктам 1С: Предприятие) есть пример двоих конфигураций, которые обмениваются заказами через веб-сервис.

3) Если есть возможность создать COM-объект 1С: Предприятия и доступны необходимые познания (или есть программисты), то можно создать (в рамках делигированных прав) все что угодно и получить всю необходимую информацию.

P.S. На структуру таблиц в СУБД лучше не ориентироваться, так как она не стабильна.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
mobilz
@mobilz
Проще использовать/нанять 1с разработчика, который нужные отчёты будет скидывать на урл (постом или чем захотите), на фтп или куда надо. На нашем счету десятки связок, и каждый раз либо берётся разработчик конторы, либо нанимается фрилансер, который за пару часов настраивает 1с, чтобы она выгружала данные на сайт. Хоть в реалтайме.
Ответ написан
@wmw85
С базой не соприкасался. Делали по образу и подобию обмена 1с с битриксом. На протокол обмена есть документация(хоть и не точная, местами устаревшая). Обмен идет через 1с. Пересылаются xml, как вы их будете парсить и в какую базу скалдывать — вам решать.
Есть вариант с прямыми запросами в бащу 1с. Для семерки был инструмент сливающий данные из базы, платный.
Инфа полугодовой давности, если нужны подробности или куски кода — спрашивайте.
Ответ написан
Все обмены с сайтами в 1С делаются через CommerceXML (если велосипедов не изобретать)/
Неудобно, нет реалтайма, зачустую инициатором обмена является 1С, а не сайт.
Ответ написан
@sladkoezhka
Так сделано у меня. не оптимально, но работает стабильно

Выгрузка 1С в текстовый формат с разделителем табуляцией. перл скрипт разбирает и загружает в MYSQL

open(F1,"< $price_txt_dir/$data{txt_name}") || mydie('Can`t open in price file - price.txt');
while (<F1>) {
 s/[\r\n]//g;
 my @tmp = split("\t",$_,9);
 for (my $i=0;$i<scalar(@tmp);$i++) {
  $tmp[$i] =~ s/^\s+//g;
  $tmp[$i] =~ s/\s+$//g;
 }

#далее уже работа с базой
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы