The preferred way to install this extension is through composer.
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.
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();
}
For more information, there is not enough time =(
- Unit tests cover
- Extending functional to standard oData, without 1C
yii2-1c-odata is released under the Apache License Version 2.0. See the bundled LICENSE.md
for details.