定制 kilylabs/odata-1c 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

kilylabs/odata-1c

最新稳定版本:1.2.1

Composer 安装命令:

composer require kilylabs/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 kilylabs/odata-1c 

Использование

Инициализация

<?php use Kily\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();

TODO

  • сделать метод getLastId();
  • fluent интерфейс
  • поддержка XML?

统计信息

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

GitHub 信息

  • Stars: 75
  • Watchers: 7
  • Forks: 30
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固