承接 snappsisnappes/better-get-data 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

snappsisnappes/better-get-data

最新稳定版本:1.0.0

Composer 安装命令:

composer require snappsisnappes/better-get-data

包简介

Этот класс позволяет эффективно делать массовые действия в Битрикс24 посредством REST API. Позволяет массово: выгружать, обновлять, удалять, запускать бп.

README 文档

README

composer require snappsisnappes/better-get-data

Этот набор классов позволяет эффективно делать массовые действия в Битрикс24 посредством REST API. Позволяет массово: выгружать, обновлять, удалять, запускать бп.
Классы соблюдают принципы SOLID .

Безопасность

Внутри классов нет функционала остановки или ожидания в случае OPERATION TIME LIMIT или других подобных ошибках, в выше указанном случае класс пойдет по пути изложенном в пункте обработка ошибок.

Обработка ошибок

При неудаче работа скрипта продолжится, но будет создан файл в папке с классами (если его еще нет) report.json в этом файле будет описание ошибки по каждому ID, пример

{
    "ID сделки и Ошибка": {
        "100500": "Company is not found"
    }
}

Порядок работы

Внутри параметров применяются все те же правила что и из документации.

Сами классы делают принты о том сколько батчей осталось и об начале времени ожидания, это поведение можно отключить в настройках.

Так же в настройках можно настраивать единицы секунд ожидания (это время ожидания срабатывает на каждый второй батч) и количество единиц эелементов в каждом батче.

Примеры

Просто выгрузка

<?php
require_once __DIR__ .'/vendor/autoload.php';

use Snappsisnappes\BetterGetData\BetterGetData;
use Snappsisnappes\BetterGetData\BetterGetDataSettings;

$Webhook = '';

$Settings = new BetterGetDataSettings();

$Method = 'crm.deal.list';

$Param = [
    'FILTER'=>[
        'COMPANY_ID'=>176,
        'CLOSED'=>'N',
    ],
    'SELECT'=>['ID']
];

$Data = BetterGetData::batch_getData($Param, $Webhook, $Method, $Settings);

print_r($Data);

/* 
(
    [0] => Array
        (
            [ID] => 10
        )

)
*/

Обновление по списку ID применяя к ним один и тот же параметр полей

Предположим у нас есть список ID сделок и нам нужно проставить всем один и тот же набор полей, например в поле комментарий проставить "123".

<?php
require_once __DIR__ . '/vendor/autoload.php';

use Snappsisnappes\BetterGetData\BetterGetData;
use Snappsisnappes\BetterGetData\BetterGetDataSettings;
use Snappsisnappes\BetterGetData\BetterUpdateData;


$Webhook = '';

$BatchSize = 10;
$WaitPerEachSecondBatch = 5;
$Silent = True;

$Settings = new BetterGetDataSettings($BatchSize, $WaitPerEachSecondBatch, $Silent);

$Method = 'crm.deal.update';

$MainArray = [123]; // список ID

$Fields = ['COMMENTS' => '123'];

BetterUpdateData::BatchSingleFieldsManyIds($Fields, $Webhook, $MainArray, $Method, $Settings);

Обновление по списку ID где у каждого есть свой набор полей для обновления

Предположим у нас есть список ID сделок и нам нужно проставить разным сделкам - разные поля.

<?php
require_once __DIR__ . '/vendor/autoload.php';

use Snappsisnappes\BetterGetData\BetterGetData;
use Snappsisnappes\BetterGetData\BetterGetDataSettings;
use Snappsisnappes\BetterGetData\BetterUpdateData;


$Webhook = '';

$BatchSize = 10;
$WaitPerEachSecondBatch = 5;
$Silent = True;

$Settings = new BetterGetDataSettings($BatchSize, $WaitPerEachSecondBatch, $Silent);

$Method = 'crm.deal.update';

$MainArray = [
    0=>['ID'=>10,'FIELDS'=>['COMMENTS' => '121']]
    1=>['ID'=>11,'FIELDS'=>['COMMENTS' => '122']]
];

BetterUpdateData::BatchAllUnique($Webhook, $MainArray, $Method, $Settings);

Массовый запуск бп по списку ID сделок

Предположим у нас есть список ID сделок по которому мы запустим один и тот же БП (можно передать разные ID бп).

<?php
require_once __DIR__ . '/vendor/autoload.php';

use Snappsisnappes\BetterGetData\BetterBizproc;
use Snappsisnappes\BetterGetData\BetterBizprocCollection;
use Snappsisnappes\BetterGetData\BetterBizprocDO;
use Snappsisnappes\BetterGetData\BetterGetData;
use Snappsisnappes\BetterGetData\BetterGetDataSettings;
use Snappsisnappes\BetterGetData\BetterUpdateData;


$Webhook = '';

$BatchSize = 10;
$WaitPerEachSecondBatch = 5;
$Silent = True;

$Settings = new BetterGetDataSettings($BatchSize, $WaitPerEachSecondBatch, $Silent);

$Ids = [10];

$Collection = new BetterBizprocCollection();

$BizprocTemplateId = 519;// id бп

$BizprocParameters = [];

foreach($Ids as $Id){
    $DealDO = new BetterBizprocDO($Id, $BizprocTemplateId, 'deal', $BizprocParameters);
    $Collection->Add($DealDO);
}

BetterBizproc::batch_bizproc($Webhook, $Collection, $Settings);

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2026-01-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固