execut / yii2-1c-odata
Yii2 component for work with 1C oData via activeRecord
Installs: 792
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 2
Forks: 5
Open Issues: 3
Type:yii2-extension
Requires
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.