ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° "ΠΠΎΠΉ ΡΠΊΠ»Π°Π΄" 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
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ.ΠΊ. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² ΠΌΠΎΠ΅Π³ΠΎΡΠΊΠ»Π°Π΄Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
$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 - ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ */
ΠΠ»Π°ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
<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);
- Ruby https://github.com/dapi/moysklad
- JavaScript/nodejs https://github.com/wmakeev/moysklad-client