Metadata-Version: 2.4
Name: python-1c-odata
Version: 0.1.0
Summary: Библиотека для работы с 1С через OData
Home-page: https://github.com/itsuppartem/python-1c-odata
Author: Artem Guliaev
Author-email: itsuppartem@yandex.ri
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.8.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# python-1c-odata

Р‘РёР±Р»РёРѕС‚РµРєР° РґР»СЏ СЂР°Р±РѕС‚С‹ СЃ 1РЎ С‡РµСЂРµР· РїСЂРѕС‚РѕРєРѕР» OData. РџРѕРґРґРµСЂР¶РёРІР°РµС‚ Р°СЃРёРЅС…СЂРѕРЅРЅС‹Рµ РѕРїРµСЂР°С†РёРё СЃ РґРѕРєСѓРјРµРЅС‚Р°РјРё, СЃРїСЂР°РІРѕС‡РЅРёРєР°РјРё Рё СЂРµРіРёСЃС‚СЂР°РјРё.

## РЈСЃС‚Р°РЅРѕРІРєР°

```bash
pip install python-1c-odata
```

## РћСЃРЅРѕРІРЅС‹Рµ РІРѕР·РјРѕР¶РЅРѕСЃС‚Рё

- РђСЃРёРЅС…СЂРѕРЅРЅР°СЏ СЂР°Р±РѕС‚Р° СЃ РґРѕРєСѓРјРµРЅС‚Р°РјРё (СЃРѕР·РґР°РЅРёРµ, С‡С‚РµРЅРёРµ, РїСЂРѕРІРµРґРµРЅРёРµ)
- Р Р°Р±РѕС‚Р° СЃРѕ СЃРїСЂР°РІРѕС‡РЅРёРєР°РјРё (СЃРѕР·РґР°РЅРёРµ, С‡С‚РµРЅРёРµ, РёР·РјРµРЅРµРЅРёРµ)
- Р Р°Р±РѕС‚Р° СЃ СЂРµРіРёСЃС‚СЂР°РјРё СЃРІРµРґРµРЅРёР№ Рё РЅР°РєРѕРїР»РµРЅРёСЏ
- РџРѕРґРґРµСЂР¶РєР° С„РёР»СЊС‚СЂР°С†РёРё, РІС‹Р±РѕСЂРєРё Рё СЂР°СЃС€РёСЂРµРЅРёСЏ РґР°РЅРЅС‹С…

## РџСЂРёРјРµСЂС‹ РёСЃРїРѕР»СЊР·РѕРІР°РЅРёСЏ

```python
import asyncio
from odata.core import Infobase
from odata.document import Document
from odata.catalog import Catalog
from odata.informationregister import InformationRegister

async def main():
    # РџРѕРґРєР»СЋС‡РµРЅРёРµ Рє 1РЎ
    infobase = Infobase(
        server="http://your-server",
        infobase="your-infobase",
        username="your-username",
        password="your-password"
    )

    # Р Р°Р±РѕС‚Р° СЃ РґРѕРєСѓРјРµРЅС‚Р°РјРё
    doc = Document(infobase, "Р”РѕРєСѓРјРµРЅС‚")
    docs = await doc.query(
        top=10,
        select="Ref_Key,Number,Date",
        odata_filter="Date ge datetime'2024-01-01T00:00:00'"
    )

    # Р Р°Р±РѕС‚Р° СЃРѕ СЃРїСЂР°РІРѕС‡РЅРёРєРѕРј
    catalog = Catalog(infobase, "РЎРїСЂР°РІРѕС‡РЅРёРє")
    items = await catalog.query(
        top=100,
        select="Ref_Key,Description"
    )

    # Р Р°Р±РѕС‚Р° СЃ СЂРµРіРёСЃС‚СЂРѕРј
    register = InformationRegister(infobase, "Р РµРіРёСЃС‚СЂ")
    data = await register.slice_last(
        period="2024-03-20T00:00:00",
        select="Period,RecordKey,Value"
    )

if __name__ == "__main__":
    asyncio.run(main())
```

## РўСЂРµР±РѕРІР°РЅРёСЏ

- Python 3.7+
- aiohttp

## Р›РёС†РµРЅР·РёСЏ

MIT
