|
17 | 17 | - [Дополнительные параметры](#%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B) |
18 | 18 | - [Методы работы с сущностями Битрикс24](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D1%8F%D0%BC%D0%B8-%D0%91%D0%B8%D1%82%D1%80%D0%B8%D0%BA%D1%8124) |
19 | 19 | - [Методы работы со сделками](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81%D0%BE-%D1%81%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8) |
20 | | -- [Методы для работы с делами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8) |
| 20 | + - [Методы для работы с каталогами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8) |
| 21 | + - [Методы для работы с пользователями](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8) |
| 22 | + - [Методы работы с задачами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%BC%D0%B8) |
| 23 | + - [Методы для работы с делами](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8) |
| 24 | + - [Методы для работы с диском](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%BC) |
21 | 25 | - [Вспомогательные классы](#%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B) |
22 | 26 | - [Класс `\App\HTTP`](#%D0%9A%D0%BB%D0%B0%D1%81%D1%81-apphttp) |
23 | 27 | - [Класс `\App\DebugLogger`](#%D0%9A%D0%BB%D0%B0%D1%81%D1%81-appdebuglogger) |
|
42 | 46 | - Контакты |
43 | 47 | - Компании |
44 | 48 | - [Сделки](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81%D0%BE-%D1%81%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8) |
45 | | -- Каталог |
| 49 | +- [Каталог](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8) |
46 | 50 | - Товары |
47 | 51 | - Разделы товаров |
48 | | -- Задачи |
| 52 | +- [Задачи](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%BC%D0%B8) |
49 | 53 | - [Дела](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8) |
50 | | -- Пользователи |
51 | | -- Диск |
| 54 | +- [Пользователи](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8) |
| 55 | +- [Диск](#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%BC) |
52 | 56 |
|
53 | 57 | <a id="%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0"></a> |
54 | 58 | ### Базовые методы класса |
@@ -224,13 +228,138 @@ try { |
224 | 228 | // Пакетно удаляем сделки |
225 | 229 | $bx24->deleteDeals($dealIds); |
226 | 230 |
|
227 | | -} catch (\App\Bitrix24\Bitrix24APIException $e) { |
| 231 | +} catch (\App\Bitrix24\Bitrix24APIException | \App\AppException $e) { |
| 232 | + printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
| 233 | +} |
| 234 | +``` |
| 235 | +<a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8"></a> |
| 236 | +### Методы для работы с каталогами |
| 237 | + |
| 238 | +Методы для работы с товарными каталогами находятся в трейте `\App\Bitrix24\Catalog`. |
| 239 | + |
| 240 | +- `getCatalogList(array $filter = [], array $select = [], array $order = []) :\Generator` |
| 241 | + Загружает все каталоги с возможностью фильтрации, сортировки и выборки полей. |
| 242 | + + `$filter` - параметры фильтрации; |
| 243 | + + `$order` - параметры сортировки; |
| 244 | + + `$select` - параметры выборки полей. |
| 245 | +- `fetchCatalogList(array $filter = [], array $select = [], array $order = []) :\Generator` |
| 246 | + Загружает все каталоги с возможностью фильтрации, сортировки и выборки полей. |
| 247 | + Реализует [быстрый метод](https://dev.1c-bitrix.ru/rest_help/rest_sum/start.php) загрузки при работе с большими объемами данных. |
| 248 | + + `$filter` - параметры фильтрации; |
| 249 | + + `$order` - параметры сортировки; |
| 250 | + + `$select` - параметры выборки полей. |
| 251 | + |
| 252 | +```php |
| 253 | +use \App\Bitrix24\Bitrix24API; |
| 254 | + |
| 255 | +try { |
| 256 | + |
| 257 | + $webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/'; |
| 258 | + $bx24 = new Bitrix24API($webhookURL); |
| 259 | + |
| 260 | + // Загружаем все товарные каталоги используя быстрый метод при работе с большими объемами данных |
| 261 | + $generator = $bx24->fetchCatalogList(); |
| 262 | + foreach ($generator as $catalogs) { |
| 263 | + foreach($catalogs as $catalog) { |
| 264 | + print_r($catalog); |
| 265 | + } |
| 266 | + } |
| 267 | + |
| 268 | +} catch (\App\Bitrix24\Bitrix24APIException | \App\AppException $e) { |
| 269 | + printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
| 270 | +} |
| 271 | +``` |
| 272 | + |
| 273 | +<a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8"></a> |
| 274 | +### Методы для работы с пользователями |
| 275 | + |
| 276 | +Методы для работы с пользователями находятся в трейте `\App\Bitrix24\User`. |
| 277 | + |
| 278 | +- `getUser($userId) ?:array` Возвращает параметры пользователя по ID. |
| 279 | + + `$userId` - ID пользователя. |
| 280 | +- `getUsers(array $filter = [], string $order = 'ASC', string $sort = '', bool $adminMode = false) :\Generator` |
| 281 | + Загружает всех пользователей с возможностью фильтрации, сортировки и выборки полей. |
| 282 | + + `$filter` - параметры фильтрации; |
| 283 | + + `$order` - направление сортировки (ASC|DESC); |
| 284 | + + `$sort` - поле, по которому сортируются результаты; |
| 285 | + + `$select` - параметры выборки полей; |
| 286 | + + `$adminMode` - включает режим администратора для получения данных о любых пользователях. |
| 287 | +- `getUserFields() :array` Возвращает описание полей пользователя. |
| 288 | + |
| 289 | +```php |
| 290 | +use \App\Bitrix24\Bitrix24API; |
| 291 | + |
| 292 | +try { |
| 293 | + |
| 294 | + $webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/'; |
| 295 | + $bx24 = new Bitrix24API($webhookURL); |
| 296 | + |
| 297 | + // Получаем параметры пользователя по ID |
| 298 | + $user = $bx24->getUser(34782); |
| 299 | + print_r($user); |
| 300 | + |
| 301 | + // Получаем всех пользователей типа сотрудник с сортировкой по имени |
| 302 | + $generator = $bx24->getUsers( |
| 303 | + [ 'USER_TYPE' => 'employee' ], |
| 304 | + $order = 'ASC', |
| 305 | + $sort = 'NAME' |
| 306 | + ); |
| 307 | + foreach ($generator as $users) { |
| 308 | + foreach($users as $user) { |
| 309 | + print_r($user); |
| 310 | + } |
| 311 | + } |
| 312 | + |
| 313 | +} catch (\App\Bitrix24\Bitrix24APIException | \App\AppException $e) { |
| 314 | + printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
| 315 | +} |
| 316 | +``` |
| 317 | + |
| 318 | +<a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%BC%D0%B8"></a> |
| 319 | +### Методы работы с задачами |
| 320 | + |
| 321 | +Методы для работы с задачами находятся в трейте `\App\Bitrix24\Task`. |
| 322 | + |
| 323 | +- `getTask($taskId, array $select = []) :?array` Возращает параметры задачи по ID. |
| 324 | + + `$taskId` - ID задачи; |
| 325 | + + `$select` - параметры выборки полей. |
| 326 | +- `addTask(array $fields = []) :int` Добавляет новую задачу. |
| 327 | + + `$fields` - набор полей задачи. |
| 328 | +- `addTasks(array $tasks = []) :array` Пакетно добавляет задачи. |
| 329 | + + `$tasks` - массив наборов полей задачи. |
| 330 | +- `getTaskFields() :array` Возвращает описание полей задачи. |
| 331 | + |
| 332 | +```php |
| 333 | +use \App\Bitrix24\Bitrix24API; |
| 334 | + |
| 335 | +try { |
| 336 | + |
| 337 | + $webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/'; |
| 338 | + $bx24 = new Bitrix24API($webhookURL); |
| 339 | + |
| 340 | + // Получаем задачу по ID |
| 341 | + $task = $bx24->getTask(4325); |
| 342 | + print_r($task); |
| 343 | + |
| 344 | + // Создаем новую задачу |
| 345 | + $taskId = $bx24->addTask([ |
| 346 | + 'TITLE' => 'Новая задача №123', // Название задачи |
| 347 | + 'DESCRIPTION' => 'Описание задачи', // Описание задачи |
| 348 | + 'RESPONSIBLE_ID' => 43242, // ID ответственного пользователя |
| 349 | + 'UF_CRM_TASK' => [ 'D_' . 38492 ], // Привязка задачи к сделке |
| 350 | + 'START_DATE_PLAN' => '09.08.2005', // Плановая дата начала. |
| 351 | + 'END_DATE_PLAN' => '09.09.2005', // Плановая дата завершения |
| 352 | + 'DEADLINE' => '2005-09-09T18:31:42+03:30' // Крайний срок |
| 353 | + ]); |
| 354 | + print_r($taskId); |
| 355 | + |
| 356 | +} catch (\App\Bitrix24\Bitrix24APIException | \App\AppException $e) { |
228 | 357 | printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
229 | 358 | } |
230 | 359 | ``` |
231 | 360 |
|
232 | 361 | <a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BC%D0%B8"></a> |
233 | | -# Методы для работы с делами |
| 362 | +### Методы для работы с делами |
234 | 363 |
|
235 | 364 | Методы для работы с делами (активностями) находятся в трейте `\App\Bitrix24\Activity`. |
236 | 365 |
|
@@ -280,7 +409,61 @@ try { |
280 | 409 | $activity = $bx24->getActivity($activityId); |
281 | 410 | print_r($activity); |
282 | 411 |
|
283 | | -} catch (\App\Bitrix24\Bitrix24APIException $e) { |
| 412 | +} catch (\App\Bitrix24\Bitrix24APIException | \App\AppException $e) { |
| 413 | + printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
| 414 | +} |
| 415 | +``` |
| 416 | + |
| 417 | +<a id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%BC"></a> |
| 418 | +### Методы для работы с диском |
| 419 | + |
| 420 | +Методы для работы с Диском находятся в трейте `\App\Bitrix24\Disk`. |
| 421 | + |
| 422 | +- `getDiskStorageList(array $filter = []) :\Generator` |
| 423 | + Загружает список доступных хранилищ c возможностью фильтрации. |
| 424 | + + `$filter` - параметры фильтрации. |
| 425 | +- `getDiskStorageChildren($storageId, array $filter = []) :array` |
| 426 | + Возвращает список файлов и папок, которые находятся непосредственно в корне хранилища c возможностью фильтрации. |
| 427 | + + `$storageId` - ID хранилища. |
| 428 | + + `$filter` - параметры фильтрации. |
| 429 | +- `uploadfileDiskFolder($folderId, string $fileContent, array $data, bool $isBase64FileData = true) :array` |
| 430 | + Загружает новый файл в указанную папку на Диск. |
| 431 | + + `$folderId` - ID папки; |
| 432 | + + `$fileContent` - RAW данные файла; |
| 433 | + + `$data` - набор параметров, описывающих файл (обязательное поле NAME - имя нового файла); |
| 434 | + + `$isBase64FileData` - RAW данные файла закодированны BASE64. |
| 435 | + |
| 436 | +```php |
| 437 | +use \App\Bitrix24\Bitrix24API; |
| 438 | + |
| 439 | +try { |
| 440 | + |
| 441 | + $webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/'; |
| 442 | + $bx24 = new Bitrix24API($webhookURL); |
| 443 | + |
| 444 | + // Загружаем список доступных хранилищ |
| 445 | + $generator = $bitrix->getDiskStorageList(); |
| 446 | + foreach ($generator as $storages) { |
| 447 | + foreach ($storages as $storage) { |
| 448 | + print_r($storage); |
| 449 | + } |
| 450 | + } |
| 451 | + |
| 452 | + // Загружаем список файлов и папок, которые находятся непосредственно в корне хранилища |
| 453 | + $files = $bitrix->getDiskStorageChildren($storageId = 2); |
| 454 | + foreach ($files as $file) { |
| 455 | + print_r($file); |
| 456 | + } |
| 457 | + |
| 458 | + // Загружаем файл в указанную папку на Диск |
| 459 | + $bx24->uploadfileDiskFolder( |
| 460 | + $filderId = 4709, |
| 461 | + $rawFile = file_get_contents('./schet.pdf'), |
| 462 | + [ 'NAME' => 'schet.pdf' ], |
| 463 | + $isBase64FileData = false |
| 464 | + ); |
| 465 | + |
| 466 | +} catch (\App\Bitrix24\Bitrix24APIException | \App\AppException $e) { |
284 | 467 | printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); |
285 | 468 | } |
286 | 469 | ``` |
@@ -371,8 +554,6 @@ $bx24->logger->isActive = true; |
371 | 554 |
|
372 | 555 | ``` |
373 | 556 |
|
374 | | - |
375 | | - |
376 | 557 | <a id="%D0%90%D0%B2%D1%82%D0%BE%D1%80"></a> |
377 | 558 | ## Автор |
378 | 559 |
|
|
0 commit comments