Thanks to visit codestin.com
Credit goes to github.com

Skip to content

tooyz/moysklad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Moysklad PHP

SensioLabsInsight

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для сСрвиса "Мой склад" JSON API 1.1. НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² "tests". ВсС Π΅Ρ‰Ρ‘ Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

Установка

composer require tooyz/moysklad

Запуск тСстов:
1) composer global require phpunit/phpunit
2) cd tests
3) composer update
4) ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Config.php
5) phpunit --configuration="./phpunit.xml" <Π˜Π›Π˜> npm run test

Класс MoySklad

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, явно пСрСдаСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚.ΠΊ. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² моСгосклада ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

$sklad = MoySklad::getInstance($login, $password);

Бущности

Основной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

$product = new Product($sklad, [
    "name" => "Π‘Π°Π½Π°Π½"
]);

МоТно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ

$product = new Product($sklad, [
    "id" => "12345-654321-123456-54321",
    "name" => "Π‘Π°Π½Π°Π½"
]);
$product->fresh(Expand::create(['country']));

Или Ρ‚Π°ΠΊ

$product->transformToClass(Counterparty::class);

Или Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ классам.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сущностСй

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ всСх сущностСй:

$list = Product::query($sklad)->getList();

МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса. ОписаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² описании класса QuerySpecs.

$list = Product::query($sklad, QuerySpecs::create([
    "offset" => 15, 
    "maxResults" => 50,
]))->getList();

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ. ОписаниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² FilterQuery Π² коммСнтариях.

$filteredList = Product::query($sklad)->filter(
    (new FilterQuery())
        ->eq("article", 12345)
);

Поиск ΠΏΠΎ строкС. К Query-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡ†Π΅ΠΏΠΈΡ‚ΡŒ expand для получСния связСй с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ названиями

$searchedList = Product::query($sklad)->withExpand(Expand::create(['owner']))->search("трусы");

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ EntityList.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ id.

$product = Product::query($sklad)->byId("12345-654321-123456-54321");

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

$counterparty = (new Counterparty($sklad, [
    "name" => "Васян"
]))->create();

НСкоторым сущностям Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ связи ΠΏΡ€ΠΈ создании. НапримСр для customerorder Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ counterparty ΠΈ organization, ΠΈ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ массив ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ

$order = (new CustomerOrder($this->sklad))->buildCreation()
    ->addCounterparty($counterparty)
    ->addOrganization($organization)
    ->addPositionList($positions)
    ->execute();

Для обновлСния Ρ‚ΠΎ-ΠΆΠ΅ самоС

$product->buildUpdate()->addCountry($country)->execute();

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅

$product->delete();

Бвязи

Π§Π°Ρ‰Π΅ всСго ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ получСнная Ρ‡Π΅Ρ€Π΅Π· api ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ связи

$product->relations;

Зная Ρ‡Ρ‚ΠΎ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ связанный employee, Π½ΠΎ Π½Π΅ зная Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этого поля ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ

$employee = $product->relations->find(Employee::class)

Π’Π°ΠΊ ΠΊΠ°ΠΊ связи ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ приходят Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ meta-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для получСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ

$group = $product->relations->group->fresh()

А Ссли связь - массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ, Ρ‚ΠΎ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ описанныС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сущностСй"

$products = $order->relationListQuery("positions")->getList()

Бписок сущностСй

EntityList - ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для массива для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°ΠΏΠΈ

НапримСр ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ assortment ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ

$differentProductsAndStuff = Assortment::query($sklad)->getList()->transformItemsToMetaClass();

Или массовоС созданиС сущностСй

$neko = new Product($sklad, ["name" => "ΠšΠΎΡ‚"]);
$doge = new Product($sklad, ["name" => "ΠŸΡ‘Ρ"]);
$el = new EntityList($sklad, [$neko, $doge])->each(function($e) use($vasyan){
    $e->buildCreation()->addEmployee($vasyan);
})->massCreate();

МоТно ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² массив

$el->toArray();

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈΡ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊ сущности

$product->attachImage(ImageField::createFromUrl(
    "http://url.ru/img.jpg"
));

ΠΈΠ»ΠΈ

$product->attachImage(ImageField::createFromPath(
    "images/123.jpg",
    "renamed_image.jpg"
));

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ изобраТСния

$product->image->download('/usr/images/cat.jpg', 'normal');
/* normal, miniature, tiny - Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ */

Specs

ΠšΠ»Π°ΡΡΡ‹ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дСйствий

    <SpecsClass>::create(["field"=>"value"]);

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄ create ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ поля ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

LinkingSpecs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания связывания сущности ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сущностСй ΡƒΡ‡Π°Π²ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ/создании ΠΏΠ΅Ρ€Π²ΠΎΠΉ

Π˜ΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля:

name - имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ новая связь. Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ - Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ имя сущности Π² моСмскладС

multiple - связь Π±ΡƒΠ΄Π΅Ρ‚ массивом сущностСй, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько связСй с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

fields - Π²Π·ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ поля для создания связи

excludedFields - Π²Π·ΡΡ‚ΡŒ всС поля, ΠΊΡ€ΠΎΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ добавлСния Π΄ΠΎΠΏ. поля ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρƒ

$specs = LinkingSpecs::create([
                 "name" => "attributes", //Π² Π°ΠΏΠΈ Π΄ΠΎΠΏ поля хранятся Π² ΠΏΠΎΠ»Π΅ attributes
                 "multiple" => true //ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ массивом
             ]);
$counterparty = $counterparty->buildUpdate()
    ->addAttribute($attribute, $specs)
    ->addAttribute($attribute2, $specs)
    ->execute();

QuerySpecs конфигурация EntityQuery ΠΈ RelationQuery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Поля:

limit - количСство Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ отправляСмом запросС (100 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

offset - сдвиг Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

maxResults - максимальноС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ количСство Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

expand - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ связями (Expand ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)

updatedFrom - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΌΠΎΠΌΠ΅Π½Ρ‚ обновлСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ (CommonDate ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)

updatedTo - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΌΠΎΠΌΠ΅Π½Ρ‚ обновлСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ (CommonDate ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)

updatedBy - Π’ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ послСдних ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с uid, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

Product::query($sklad, QuerySpecs::create([
            'maxResults' => 25,
            'expand' => Expand::create([Employee::$entityName]),
            'updatedFrom' => new CommonDate("2017-01-01"),
            'updatedBy' => "admin@admin"
        ]))->getList();

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ сущности ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅

$publications = $customerOrder->getPublications(QuerySpecs::create())

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅

$publication = $customerOrder->createPublication($customTemplate)

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅

$customerOrder->deletePublication($publication)

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ id

$publication = $customerOrder->getPublicationById("123-456")

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ сущности ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΈ создании запроса Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ AbstractTemplate Π»ΠΈΠ±ΠΎ EntityList<AbstractTemplate>

$export = $demand->createExport($templateEntity, 'xls');
$exports = $demand->createExport($templateList);

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ стандартных шаблонов

$templates = $demand->getExportEmbeddedTemplates();

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… шаблонов

$templates = $demand->getExportCustomTemplates();

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ стандартного шаблона ΠΏΠΎ id

$templates = $demand->getExportEmbeddedTemplateById(123);

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ шаблона ΠΏΠΎ id

$templates = $demand->getExportCustomTemplateById(123);

ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ статичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для получСния ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

$report = DashboardReport::day($sklad);

НСкоторым ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ особыС поисковыС запросы Ρ‚ΠΈΠΏΠΎ CounterpartyReportQuerySpecs

$report = SalesReport::byEmployee($sklad, SalesReportQuerySpecs::create([
    "counterparty.id" => $cpId
]));

Аудит

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ событий систСмы

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдниС 5 контСкстов ΠΏΠΎ Π·Π°ΠΊΠ°Π·Π°ΠΌ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Π΅ΠΉ

$audits = Audit::query($this->sklad, QuerySpecs::create([
                  'maxResults' => 5
              ]))->filter((new FilterQuery())
                             ->eq("entityType", "customerorder")
                          );

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ события ΠΏΠΎ контСксту

$events = $audit->getAuditEvents();

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ события ΠΏΠΎ сущности

$events = $customerOrder->getAuditEvents();

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²

$filters = Audit::getFilters($this->sklad);

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

БтатичСский класс RequestLog содСрТит ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ запросов/ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π² Π°ΠΏΠΈ.

МоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдний запрос/ΠΎΡ‚Π²Π΅Ρ‚

RequestLog::getLast()

Или всС

RequestLog::getList()

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ограничСния потрСблСния памяти хранится 50 послСдних запросов, ΠΏΠΎ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ Π»ΠΈΠΌΠΈΡ‚Π° старыС запросы ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

RequestLog::setStorageSize(500); // 500 запросов
RequestLog::setStorageSize(0); //Π‘Π΅Π· Π»ΠΈΠΌΠΈΡ‚Π°

Для остановки логирования ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ

RequestLog::setEnabled(false);

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

About

Moysklad PHP JSON API library

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 21

Languages