Вот ваша ссылка для формирования вебхука
- https://gi.svs-tech.pro/integration_tg/{{ selected_bx.id }}/{{ selected_tg }}
+ https://gi.svs-tech.pro/integration_tg/{{ selected_bx.id }}/{{ selected_tg
+ }}
Теперь вам осталось
@@ -132,12 +135,12 @@ const copyOnClick = (e:Event) => {
Ошибка в данных
-
-
+
+
Сделано
- Вот и все!
+ Вот и все!
diff --git a/front/pages/inventory/index.vue b/front/pages/inventory/index.vue
new file mode 100644
index 0000000..41478b5
--- /dev/null
+++ b/front/pages/inventory/index.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+ - {{item}}
+ - {{ item_data[item] }}
+
+
+
+
+
\ No newline at end of file
diff --git a/main.py b/main.py
index 3392fd6..0097a1c 100644
--- a/main.py
+++ b/main.py
@@ -29,6 +29,7 @@ vtk = json.loads(os.getenv("VTK_KEYS"))
vtk_org = {}
BX_API_CALL = os.getenv("BX_API_CALL")
TG_TOKEN = os.getenv("TG_TOKEN")
+ODATA_AUTH = os.getenv("ODATA_AUTH")
api_app = FastAPI(title="api app")
@@ -118,7 +119,8 @@ async def get_tg_data():
except Exception as e:
logger.error(e)
raise HTTPException(status_code=500, detail=str(e))
-
+
+
@api_app.get("/bx/get_users")
async def get_bx_users():
try:
@@ -126,12 +128,75 @@ async def get_bx_users():
res = requests.get(url)
logger.info(url)
data = res.json()
- return {"status": "success", "data": [v for v in data["result"] if v["UF_DEPARTMENT"][0] not in [15,16]]}
+ return {
+ "status": "success",
+ "data": [
+ v for v in data["result"] if v["UF_DEPARTMENT"][0] not in [15, 16]
+ ],
+ }
except Exception as e:
logger.error(e)
raise HTTPException(status_code=500, detail=str(e))
+@api_app.get("/nomen")
+async def get_parent_nomen():
+ try:
+ parent_ids = [
+ "a6aadfe8-7e0f-11ee-ab5a-a47a2bd811cb",
+ "8a988ff-0911-11ee-ab4e-e3e667c628bd",
+ "a0fb742f-09f5-11ee-ab4e-e3e667c628bd",
+ ]
+ url = "https://1c.svs-tech.pro/UNF/odata/standard.odata/Catalog_КатегорииНоменклатуры?$format=json"
+ url += "&"
+ url + " or ".join([f"Ref_Key eq guid'{p}'" for p in parent_ids])
+ url += "&$select=Description,Ref_Key"
+ res = requests.get(url, headers={"Authorization": ODATA_AUTH})
+ data = res.json()
+ return {
+ "status": "success",
+ "data": [
+ {"label": d["Description"], "id": d["Ref_Key"]} for d in data["value"]
+ ],
+ }
+ except Exception as e:
+ logger.error(e)
+ raise HTTPException(status_code=500, detail=str(e))
+
+
+@api_app.get("/nomen/{nomen_id}")
+async def get_nomen_items(nomen_id):
+ try:
+ url = "https://1c.svs-tech.pro/UNF/odata/standard.odata/Catalog_Номенклатура?$format=json"
+ url += "&$select=Ref_Key,Description"
+ url += f"&$filter=КатегорияНоменклатуры_Key eq guid'{nomen_id}'"
+ res = requests.get(url, headers={"Authorization": ODATA_AUTH})
+ data = res.json()
+ return {
+ "status": "success",
+ "data": [
+ {"label": d["Description"], "id": d["Ref_Key"]} for d in data["value"]
+ ],
+ }
+ except Exception as e:
+ logger.error(e)
+ raise HTTPException(status_code=500, detail=str(e))
+
+
+@api_app.get("/nomen_item/{item_id}")
+async def get_nomen_items(item_id):
+ try:
+ url = f"https://1c.svs-tech.pro/UNF/odata/standard.odata/Catalog_Номенклатура(guid'{item_id}')?$format=json"
+ res = requests.get(url, headers={"Authorization": ODATA_AUTH})
+ data = res.json()
+ return {
+ "status": "success",
+ "data": data,
+ }
+ except Exception as e:
+ logger.error(e)
+ raise HTTPException(status_code=500, detail=str(e))
+
app = FastAPI(title="main app")
app.exception_handler(404)