romston/odata-1c
Composer 安装命令:
composer require romston/odata-1c
包简介
ODATA protocol client adopted to use with 1C
README 文档
README
OData клиент для 1C
Документация 1С для интерфейса OData: https://its.1c.ru/db/v838doc#bookmark:dev:TI000001358
Установка
Рекомендуемый способ установки через Composer:
$ composer require romston/odata-1c
Использование
Инициализация
<?php use Romston\Tools1C\OData\Client; require __DIR__.'/vendor/autoload.php'; $client = new Client('http://HOSTNAME/BASE/odata/standard.odata/',[ 'auth' => [ 'YOUR LOGIN', 'YOUR PASSWORD' ], 'timeout' => 300, ]);
Получение объектов из 1С
<?php // Получение всех объектов из справочника "Номенклатура" 1С $data = $client->{'Catalog_Номенклатура'}->get()->values(); var_dump($data); /* array(1) { [0]=> array(105) { ["Ref_Key"]=> string(36) "3ca886b6-aabd-11e7-1a8d-021c5dd9fc20" ["Description"]=> string(51) "ПАЛЬТО ПУХ ЖЕН HATANGA V2 БОРДО 46" ,,, */ // Получение всех объектов с проверкой ошибок $data = $client->{'Catalog_Номенклатура'}->get(); if(!$client->isOk()) { var_dump('Something went wrong: ',$client->getHttpErrorCode(),$client->getHttpErrorMessage(),$client->getErrorCode(),$client->getErrorMessage(),$data->toArray()); die(); } var_dump($data->values()); // Получение по UUID (ID или Ref_Key) $data = $client->{'Catalog_Номенклатура'}->get("40366f94-cded-11e6-e880-00155dd9fc47")->first(); $data = $client->{'Catalog_Номенклатура'}->id("40366f94-cded-11e6-e880-00155dd9fc47")->get()->first(); // Получение по фильтру $data = $client->{'Catalog_Номенклатура'}->get("Артикул eq 'АРТ-1'")->values(); $data = $client->{'Catalog_Номенклатура'}->filter("Артикул eq 'АРТ-1'")->get()->values(); // Получение вместе с дополнительной информацией $data = $client->{'Catalog_Номенклатура'}->expand('Производитель,Марка')->get()->values(); $data = $client->{'Catalog_Номенклатура'}->expand('ВидНоменклатуры')->get()->values(); // Ограничение по количеству в запросе $data = $client->{'Catalog_Номенклатура'}->top(10)->get()->values();
Создание объектов в 1С
<?php // Создание $data = $client->{'Catalog_Номенклатура'}->create([ 'Артикул'=>'CERTANLY_NONEXISTENT', 'Description'=>'test test test nonexistent', ]); // Получение ID созданного объекта echo $data->getLastId()
Обновление объектов в 1С
<?php // Обновление $data = $client->{'Catalog_Номенклатура'}->update('40366f94-cded-11e6-e880-00155dd9fc47',[ 'Description'=>'Test description', ]);
Удаление объектов из 1С
<?php // Пометка на удаление $data = $client->{'Catalog_Номенклатура'}->update('40366f94-cded-11e6-e880-00155dd9fc47',{ 'DeletionMark'=>true, }); // Полное удаление объека из 1С (я бы не стал использовать...) $data = $client->{'Catalog_Номенклатура'}->delete('40366f94-cded-11e6-e880-00155dd9fc47');
Проведение и отмена проведения документов
<?php // Проведение $data = $client->{'Document_АктВыполненныхРабот'}->id("40366f94-cded-11e6-e880-00155dd9fc47")->post(); // Отмена проведения документа $data = $client->{'Document_АктВыполненныхРабот'}->id("40366f94-cded-11e6-e880-00155dd9fc47")->unpost();
romston/odata-1c 适用场景与选型建议
romston/odata-1c 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 935 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 02 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「odata」 「1c」 「1С」 「1c enterprise」 「8.3」 「1с enterprise 8.3」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 romston/odata-1c 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 romston/odata-1c 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 romston/odata-1c 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Easy solution for 1C CommerceML exchange with a laravel website
A Saloon plugin providing a fluent, version-aware (v3 + v4) OData query builder and server-driven paginator.
Expose Odata services from laravel
A plugin module for silverstripe/silverstripe-discoverer that provides integration for Elastic Enterprise and App Search
Elastic Enterprise Search Provider for Silverstripe Forager
A robust, production-grade Laravel package for SAP Business One HTTP integration, supporting both OData and custom (non-OData) SAP Service Layer (SML) endpoints.
统计信息
- 总下载量: 935
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-02-19