PHPackages                             bigperson/exchange1c - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. bigperson/exchange1c

ActiveLibrary[File &amp; Storage](/categories/file-storage)

bigperson/exchange1c
====================

Catalog Loader from 1c - CommerceML protocol

v1.2.0(3y ago)406.5k↓26.7%14[1 issues](https://github.com/bigperson/exchange1c/issues)4MITPHPPHP &gt;=7.1

Since Oct 19Pushed 3y ago2 watchersCompare

[ Source](https://github.com/bigperson/exchange1c)[ Packagist](https://packagist.org/packages/bigperson/exchange1c)[ Docs](https://github.com/bigperson)[ RSS](/packages/bigperson-exchange1c/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)DependenciesVersions (8)Used By (4)

PHP exchange1c - обмен 1С предприятие с сайтом на php
=====================================================

[](#php-exchange1c---обмен-1с-предприятие-с-сайтом-на-php)

[![Packagist](https://camo.githubusercontent.com/f754569c7df314b1dbdd629e5faaf72231e225535f45cb8907d3d30771a934d2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Packagist](https://camo.githubusercontent.com/10fb3f686bcbca86211cb7d32b046d7d8e604eb88d4c5ea741380eaff06ccacb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bigperson/exchange1c)[![Packagist](https://camo.githubusercontent.com/2576da604f1d335ad21fad78edb914ed67e067b77b8403eedac4669b1af93a34/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bigperson/exchange1c)[![Travis (.org)](https://camo.githubusercontent.com/b7bd19691dcd804b25925271b3771297f358d22437063023322c6e0c3b438764/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/bigperson/exchange1c)[![Codecov](https://camo.githubusercontent.com/609a622a2756439198d5639b109996bf5c2dd6d6387afd0515942ced7062f9e3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://codecov.io/gh/bigperson/exchange1c)[![StyleCI](https://camo.githubusercontent.com/6eed384f1e57d167b193a2dc24ab892847aa9bbea07e8fb6eac5ebdbe84a160d/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3135333735313638312f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/153751681)

Установка этой библиотеки, должна упрощать интеграцию 1С в ваш сайт.

Библиотека содержит набор интерфейсов, которые необходимо реализовать, чтобы получить возможность обмениваться товарами и документами с 1С. Предполагается, что у Вас есть 1С:Предприятие 8, Управление торговлей", редакция 11.3, версия 11.3.2 на платформе 8.3.9.2033.

Если у вас версия конфигурации ниже, то скорее всего библиотека все равно будет работать, т.к. по большей части, обмен с сайтами сильно не меняется в 1С от версии к версии.

Данная библиотека была написана на основе модуля  - все основные интерфейсы взяты именно из этого модуля.

Зависимости
===========

[](#зависимости)

- php ^7.1
- carono/commerceml
- symfony/http-foundation ^4.1

Установка
=========

[](#установка)

`composer require bigperson/exchange1c`

Использование
=============

[](#использование)

Для использования библиотеки вам неободимо определить массив конфигов и реализовать интерфейсы в ваших моделях. В примере используется адаптер для symfony/event-dispatcher - Также вы можете использовать пакет-адаптер для интеграции с Laravel

```
require_once './../vendor/autoload.php'; //Подулючаем автолоад

// Определяем конфиг
$configValues = [
    'import_dir'    => '1c_exchange',
    'login'    => 'admin',
    'password' => 'admin',
    'use_zip'       => false,
    'file_part' => 0,
    'models'    => [
        \Bigperson\Exchange1C\Interfaces\GroupInterface::class => \Tests\Models\GroupTestModel::class,
        \Bigperson\Exchange1C\Interfaces\ProductInterface::class => \Tests\Models\ProductTestModel::class,
        \Bigperson\Exchange1C\Interfaces\OfferInterface::class => \Tests\Models\OfferTestModel::class,
    ],
];
$config = new \Bigperson\Exchange1C\Config($configValues);
$request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
$symfonyDispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher();
$dispatcher = new \Bigperson\Exchange1C\SymfonyEventDispatcher($symfonyDispatcher);
$modelBuilder = new \Bigperson\Exchange1C\ModelBuilder();
// Создаем необходимые сервисы
$loaderService = new \Bigperson\Exchange1C\Services\FileLoaderService($request, $config);
$authService = new \Bigperson\Exchange1C\Services\AuthService($request, $config);
$categoryService = new \Bigperson\Exchange1C\Services\CategoryService($request, $config, $dispatcher, $modelBuilder);
$offerService = new \Bigperson\Exchange1C\Services\OfferService($request, $config, $dispatcher, $modelBuilder);
$catalogService = new \Bigperson\Exchange1C\Services\CatalogService($request, $config, $authService, $loaderService, $categoryService, $offerService);

$mode = $request->get('mode');
$type = $request->get('type');

try {
    if ($type == 'catalog') {
        if (!method_exists($catalogService, $mode)) {
            throw new Exception('not correct request, mode=' . $mode);
        }
        //Запускаем сервис импорта каталога
        $body = $catalogService->$mode();
        $response = new \Symfony\Component\HttpFoundation\Response($body, 200, ['Content-Type', 'text/plain']);
        $response->send();
    } else {
        throw new \LogicException(sprintf('Logic for method %s not released', $type));
    }
} catch (\Exception $e) {
    $body = "failure\n";
    $body .= $e->getMessage() . "\n";
    $body .= $e->getFile() . "\n";
    $body .= $e->getLine() . "\n";

    $response = new \Symfony\Component\HttpFoundation\Response($body, 500, ['Content-Type', 'text/plain']);
    $response->send();
}
```

Более подробную информацию по интерфейсам и их реализациям можно почитаь в документации Документация будет добалена позже.

Лицензия
========

[](#лицензия)

Данный пакет является открытым кодом под лицензией [MIT license](LICENSE).

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 61.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~342 days

Total

5

Last Release

1397d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d5dccbd021fd3882613034b49a5d0d6726d5a16a0224e99b5359d6058719265?d=identicon)[bigperson](/maintainers/bigperson)

---

Top Contributors

[![bigperson](https://avatars.githubusercontent.com/u/4757391?v=4)](https://github.com/bigperson "bigperson (8 commits)")[![burcev-alex](https://avatars.githubusercontent.com/u/11717148?v=4)](https://github.com/burcev-alex "burcev-alex (4 commits)")[![Serokuz22](https://avatars.githubusercontent.com/u/54354622?v=4)](https://github.com/Serokuz22 "Serokuz22 (1 commits)")

---

Tags

1c-enterprise1c-exchange1c-packages1c-phpphp-1c-exchangecommerceml1c1c-exchange1c-php

### Embed Badge

![Health badge](/badges/bigperson-exchange1c/health.svg)

```
[![Health](https://phpackages.com/badges/bigperson-exchange1c/health.svg)](https://phpackages.com/packages/bigperson-exchange1c)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15161.6M2.6k](/packages/illuminate-filesystem)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)[phpdocumentor/flyfinder

Flysystem plugin to add file finding capabilities to the Filesystem entity

30585.0k5](/packages/phpdocumentor-flyfinder)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
