{"id":44693958,"url":"https://github.com/kilylabs/odata-1c","last_synced_at":"2026-02-15T07:43:59.596Z","repository":{"id":46724743,"uuid":"77398063","full_name":"kilylabs/odata-1c","owner":"kilylabs","description":"PHP oDATA protocol client adopted to use with 1C (1С Enterprise 8.3)","archived":false,"fork":false,"pushed_at":"2022-01-20T11:25:58.000Z","size":47,"stargazers_count":75,"open_issues_count":9,"forks_count":30,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-11-27T15:18:35.572Z","etag":null,"topics":["1c","1c-enterprise","odata","odata-1c","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kilylabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-26T17:34:38.000Z","updated_at":"2025-10-13T06:47:51.000Z","dependencies_parsed_at":"2022-08-22T08:50:21.707Z","dependency_job_id":null,"html_url":"https://github.com/kilylabs/odata-1c","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/kilylabs/odata-1c","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kilylabs%2Fodata-1c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kilylabs%2Fodata-1c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kilylabs%2Fodata-1c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kilylabs%2Fodata-1c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kilylabs","download_url":"https://codeload.github.com/kilylabs/odata-1c/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kilylabs%2Fodata-1c/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29472893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T06:58:05.414Z","status":"ssl_error","status_checked_at":"2026-02-15T06:58:05.085Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1c","1c-enterprise","odata","odata-1c","php"],"created_at":"2026-02-15T07:43:59.427Z","updated_at":"2026-02-15T07:43:59.590Z","avatar_url":"https://github.com/kilylabs.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# odata-1c\nOData клиент для 1C \n\nДокументация 1С для интерфейса OData: https://its.1c.ru/db/v838doc#bookmark:dev:TI000001358\n\nУстановка\n------------\n\nРекомендуемый способ установки через\n[Composer](http://getcomposer.org):\n\n```\n$ composer require kilylabs/odata-1c\n```\n\nИспользование\n-----\n#### Инициализация\n```php\n\u003c?php\n\nuse Kily\\Tools1C\\OData\\Client;\n\nrequire __DIR__.'/vendor/autoload.php';\n\n$client = new Client('http://HOSTNAME/BASE/odata/standard.odata/',[\n    'auth' =\u003e [\n        'YOUR LOGIN', \n        'YOUR PASSWORD'\n    ],\n    'timeout' =\u003e 300,\n]);\n```\n\n#### Получение объектов из 1С\n```php\n\u003c?php\n\n// Получение всех объектов из справочника \"Номенклатура\" 1С\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eget()-\u003evalues();\nvar_dump($data);\n/*\narray(1) {\n  [0]=\u003e\n  array(105) {\n    [\"Ref_Key\"]=\u003e\n    string(36) \"3ca886b6-aabd-11e7-1a8d-021c5dd9fc20\"\n    [\"Description\"]=\u003e\n    string(51) \"ПАЛЬТО ПУХ ЖЕН HATANGA V2 БОРДО 46\"\n,,,\n*/\n\n// Получение всех объектов с проверкой ошибок\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eget();\nif(!$client-\u003eisOk()) {\n    var_dump('Something went wrong: ',$client-\u003egetHttpErrorCode(),$client-\u003egetHttpErrorMessage(),$client-\u003egetErrorCode(),$client-\u003egetErrorMessage(),$data-\u003etoArray());\n    die();\n}\nvar_dump($data-\u003evalues());\n\n// Получение по UUID (ID или Ref_Key)\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eget(\"40366f94-cded-11e6-e880-00155dd9fc47\")-\u003efirst();\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eid(\"40366f94-cded-11e6-e880-00155dd9fc47\")-\u003eget()-\u003efirst();\n\n// Получение по фильтру\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eget(\"Артикул eq 'АРТ-1'\")-\u003evalues();\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003efilter(\"Артикул eq 'АРТ-1'\")-\u003eget()-\u003evalues();\n\n// Получение вместе с дополнительной информацией\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eexpand('Производитель,Марка')-\u003eget()-\u003evalues();\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eexpand('ВидНоменклатуры')-\u003eget()-\u003evalues();\n\n// Ограничение по количеству в запросе\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003etop(10)-\u003eget()-\u003evalues();\n```\n#### Создание объектов в 1С\n```php\n\u003c?php\n\n// Создание \n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003ecreate([\n    'Артикул'=\u003e'CERTANLY_NONEXISTENT',\n    'Description'=\u003e'test test test nonexistent',\n]);\n\n// Получение ID созданного объекта\necho $data-\u003egetLastId()\n```\n\n#### Обновление объектов в 1С\n```php\n\u003c?php\n\n// Обновление\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eupdate('40366f94-cded-11e6-e880-00155dd9fc47',[\n    'Description'=\u003e'Test description',\n]);\n```\n#### Удаление объектов из 1С\n```php\n\u003c?php\n// Пометка на удаление\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003eupdate('40366f94-cded-11e6-e880-00155dd9fc47',{\n    'DeletionMark'=\u003etrue,\n});\n\n// Полное удаление объека из 1С (я бы не стал использовать...)\n$data = $client-\u003e{'Catalog_Номенклатура'}-\u003edelete('40366f94-cded-11e6-e880-00155dd9fc47');\n```\n\n#### Проведение и отмена проведения документов\n```php\n\u003c?php\n// Проведение\n$data = $client-\u003e{'Document_АктВыполненныхРабот'}-\u003eid(\"40366f94-cded-11e6-e880-00155dd9fc47\")-\u003epost();\n\n// Отмена проведения документа\n$data = $client-\u003e{'Document_АктВыполненныхРабот'}-\u003eid(\"40366f94-cded-11e6-e880-00155dd9fc47\")-\u003eunpost();\n```\nTODO\n-----\n- ~~сделать метод getLastId();~~\n- ~~fluent интерфейс~~\n- поддержка XML?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkilylabs%2Fodata-1c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkilylabs%2Fodata-1c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkilylabs%2Fodata-1c/lists"}