execut/yii2-1c-odata

Yii2 component for work with 1C oData via activeRecord

Installs: 795

Dependents: 0

Suggesters: 0

Security: 0

Stars: 11

Watchers: 2

Forks: 5

Open Issues: 3

Type:yii2-extension

0.1.8 2021-07-15 03:58 UTC

This package is auto-updated.

Last update: 2024-12-15 11:52:17 UTC


README

Installation

The preferred way to install this extension is through composer.

Install

Either run

$ php composer.phar require execut/yii2-1c-odata "dev-master"

or add

"execut/yii2-1c-odata": "dev-master"

to the require section of your composer.json file.

Configuration example

Add to application config folowing rules:

[
    'components' => [
        'oData' => [
            'class' => \execut\oData\Client::class,
            'host' => $odataHost,
            'path' => $odataPath,
            'options' => [
                'auth' => [
                    $odataLogin,
                    $odataPassword,
                ],
            ],
            'customColumnsTypes' => [
                // Here you custom columns types stubs configuration. Example:
                'Catalog_Контрагенты' => [
                    'НаименованиеПолное' => 'text',
                ],
            ],
        ],
    ],
];

After configuration, you must declare your models and queries on the basis of two classes: execut\oData\ActiveRecord and execut\oData\ActiveQuery

Example model for standard document ЧекККМ (source here):

use execut\oData\ActiveRecord;

class CheckKkm extends ActiveRecord
{
    public $complexRelations = [
        'Оплата',
        'Заказы'
    ];

    public function getОплата() {
        return $this->hasMany(CheckKkmPayment::class, [
            'Ref_Key' => 'Ref_Key',
        ]);
    }

    public static function tableName()
    {
        return 'Document_ЧекККМ';
    }
}

$check = CheckKkm::find()->andWhere([
    'Ref_Key' => '00000000-0000-0000-0000-000000000001'
])->one();
if ($check) {
    $check->attributes = [
        //...
    ];
    $check->save();
}

Your help was, would be useful

For more information, there is not enough time =(

Planned

  • Unit tests cover
  • Extending functional to standard oData, without 1C

License

yii2-1c-odata is released under the Apache License Version 2.0. See the bundled LICENSE.md for details.