LINUX.ORG.RU

Может не париться с модулями итд, а просто брать данные из СУБД, с которым работает 1С?

Nagwal ★★★★
()
Ответ на: комментарий от Nagwal

она работает сама с собой. и вообще, лезть в её БД не рекомендуется богами.

vahvarh ★★★
() автор топика
Ответ на: комментарий от anonymous

>> www.mista.ru

Извиняюсь за оффтопик, но спасибо за ссылку! Как раз искал вменяемый туториал по программированию под 1С. А то поисковики находят только рекламу платных курсов и всяких говнокниг =).

Deleted
()

Делал такую штуку лет 7 назад. Есть три варианта реализации.
Первый: ВК под названием "Web-расширение" или как-то так. В 1С стоит модуль, за который дёргает сервер, модуль сообщает если что изменилось в базе. В итоге получаются синхронные вызовы базы от сайта, сайт блокирует базу и т.п. В общем, широко разрекламированная ерунда.
Второй и третий варианты, выгрузка в отдельную базу/файл данных в формате XML или нормальную БД, разруливание синхронизации руками (если данные в этом кеше нужно обновить при изменении в базе 1С, или наоборот: на сайте заказали что-то, оно должно списаться в 1С). Со стороны кеша и сайта всё довольно просто, нужен просто фоновый процесс который будет синхронизировать кеш-выгрузку, сайт и 1С.
Для выгрузки в XML можно использовать через COM MSXML, или специальную ВК(медленную). Тогда на сайте нужен только XSLT шаблон.
Со стороны 1С осложняется тем, что фигово в 1С сделаны параллельные процессы. Можно сымитировать кооперативную многозадачность через ОбработкуОжиданияСобытия(), поставить интервал минут на 10-15-30 и через неё запускать выгрузку. Оно конечно будет подтормаживать работу остальной БД 1С, то есть нужно правильно подобрать интервал, когда нагрузка на базу минимальна.
Если нужна БЫСТРАЯ выгрузка, позиций много, обновление в квазиреальном времени, XML не годится. Нужно выгружать через DBF или сразу прямыми запросами к базе (см. насчет Rainbow, 1C++). Это в принципе можно делать отдельной программой, которая сидит в фоне и напрямую общается с SQL сервером, нужно только учитывать блокировки таблиц на сервере движком 1С.
По поводу схемы данных. В 1С++ есть транслятор запросов, который на входе берёт объекты 1С, на выходе генерирует SQL. Формат хранения разобран отдельно, см. статьи на профильных форумах: мисте, кубани, риалнете Соарона,в инете вокруг toysql и т.п. Можно через 1С++ посмотреть как будет выглядеть SQL запрос.
Если хочется всё делать руками, можно для семёрки посмотреть 1Cv7.dd -- описание структуры метаданных, соответствия таблиц объектам предметной области.
Для восьмёрки и в целом универсальном виде схемы и формата не припомню. Можно подсоединиться к SQL серверу, настроить логгинг, насписать простую обработку выгрузки на 1С, запустить, и посмотреть в логах SQL запросы. Как-то так http://softpoint.ru/article_id18.htm или так http://softpoint.ru/products.php?id=3. Вообще см. статьи на http://softpoint.ru/article.php по поводу схемы данных и описания структуры таблиц.

anonymous
()
Ответ на: комментарий от anonymous

вообще варианты могут быть разные, смотря что именно тебе нужно -- просто выгрузить прайс/остатки или сделать полноценный веб-магазин, то есть, с синхронизацией в обратную сторону, от сайта к 1С.

anonymous
()

готового решения вряд ли есть. надо писать обработину на языке 1С.

VladimirMalyk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.