Dotazy pro práci s uživatelskými tabulkami

Od Sofa 4.6 již nejsou uživatelské tabulky součástí hlavního schématu, ale jsou přesunuty pod klíč "DataTables". Starý způsob sice funguje, ale je označený jako deprecated a od Sofa 4.6 se tedy již nesmí používat a musí se používat výhradně nový způsob!

Dotaz pro získání seznamu všech uživatelských tabulek a jejich struktury

K získání seznamu existujících uživatelských tabulek v dané organizaci, jejich struktury a případném napojení na podtabulky, lze použít následující dotaz:

Dotaz:

query dataTablesList{
  dataTables{
    schema{
      tables{
        edges{
          node{
            singularName
            pluralName
            columns{
              name
              type
            }
            #informace o propojení s podtabulkami
            references{
              refName
              refTable{
                pluralName
              }
              refColumn{
                name
                type
              }
              backRefName
              type
            }
          }
        }
      }
    }
  }
}

Příklad začátku výstupu:

{
  "data": {
    "dataTables": {
      "schema": {
        "tables": {
          "edges": [
            {
              "node": {
                "singularName": "Automobily",
                "pluralName": "Automobilys",
                "columns": [
                  {
                    "name": "sys_id",
                    "type": "INT"
                  },
                  {
                    "name": "sys_instanceident",
                    "type": "PROCESS"
                  },
                  {
                    "name": "sys_authorname",
                    "type": "TEXT"
                  },
                  {
                    "name": "sys_processstate",
                    "type": "ENUM"
                  },

Dotazy pro získání dat z tabulek z tarifu TRIAL

V následujících kapitolách jsou uvedeny dotazy pro získání dat ze všech tabulek, které se vytváří při nastavování tarifu TRIAL.

Požadavky je zapotřebí posílat na URL adresu https://testsofa.602.cz/api/sofa/v1/graphql.

Faktury

Dotaz:

query invoiceData {
  dataTables {
    data {
      tables {
        fakturys {
          edges {
            node {
              castka
              cislo_zadosti
              co
              cp
              dodavku_prevzal
              dosla_dne
              ico
              id_agendy {
                agendaName
                instanceIdent
              }
              id_zadatel
              jmeno_zadatel
              mena
              obec
              popis_agendy
              psc
              schvalovatele
              splatnost
              spolecnost_nazev
              stat
              ulice
              variabilni_symbol
              zahranicni_subjekt
              zpusob_platby
            }
          }
        }
      }
    }
  }
}

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "fakturys": {
            "edges": [
              {
                "node": {
                  "castka": 25001,
                  "cislo_zadosti": "0001/2023",
                  "co": "15",
                  "cp": "703",
                  "dodavku_prevzal": "Ing. Marie Účetní",
                  "dosla_dne": "2023-02-23T00:00:00",
                  "ico": "63078236",
                  "id_agendy": {
                    "agendaName": "Faktura",
                    "instanceIdent": "8c05ad3c-e97c-4541-811f-26ba22c1297f"
                  },
                  "id_zadatel": "39b2125b-5626-47c3-8466-ba23fe2ae019",
                  "jmeno_zadatel": "Ing. Marie Účetní",
                  "mena": "CZK",
                  "obec": "Praha",
                  "popis_agendy": "Faktura č. 0001/2023 od Software602 a.s.",
                  "psc": "14000",
                  "schvalovatele": null,
                  "splatnost": "2023-03-10T00:00:00",
                  "spolecnost_nazev": "Software602 a.s.",
                  "stat": "Česká republika",
                  "ulice": "Hornokrčská",
                  "variabilni_symbol": "0308",
                  "zahranicni_subjekt": "Ne",
                  "zpusob_platby": "Bankovním převodem"
                }
              }
            ]
          }
        }
      }
    }

Žádosti o home office

Dotaz:

query homeOfficeRequestsData {
  dataTables {
    data {
      tables {
        homeOfficeRequestss {
          edges {
            node {
	      datum_schvaleni
              datum_zadosti
              instance_ident{
                agendaName
                instanceIdent
              }
              pocet_dni
              poradove_cislo
              prace_do
              prace_od
              prestavka_do
              prestavka_od
              rok_zadosti
              schvaleno
              schvalovatel_ident
              schvalovatel_jmeno
              schvalovatel_osobni_cislo
              stav
              vyhrada
              vyjadreni
              zadavatel_ident
              zadavatel_jmeno
              zadavatel_organizacni_jednotka
              zadavatel_osobni_cislo
              zadost_do
              zadost_od
              zduvodneni
            }
          }
        }
      }
    }
  }
}

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "homeOfficeRequestss": {
            "edges": [
              {
                "node": {
                  "datum_schvaleni": "2023-03-02T13:06:35.0133333",
                  "datum_zadosti": "2023-03-02T13:04:42",
                  "instance_ident": {
                    "agendaName": "Home office",
                    "instanceIdent": "7aa1d481-35d7-4a9c-8f77-3f90db2a4477"
                  },
                  "pocet_dni": 3,
                  "poradove_cislo": "0001/2023",
                  "prace_do": "17:00",
                  "prace_od": "8:00",
                  "prestavka_do": "13:00",
                  "prestavka_od": "12:00",
                  "rok_zadosti": "2023",
                  "schvaleno": true,
                  "schvalovatel_ident": "d472628f-a652-40ba-b35a-1216ffe0fb5f",
                  "schvalovatel_jmeno": "Ing. Tomáš Ředitel",
                  "schvalovatel_osobni_cislo": "",
                  "stav": "schváleno s výhradou",
                  "vyhrada": "Vyhrazuji si výhradu vyhradit ohradu.",
                  "vyjadreni": "vyhrada",
                  "zadavatel_ident": "3c5e424e-0335-473a-8046-06b5c5393afe",
                  "zadavatel_jmeno": "Admin602",
                  "zadavatel_organizacni_jednotka": "IT oddělení",
                  "zadavatel_osobni_cislo": "602",
                  "zadost_do": "2023-03-08T00:00:00",
                  "zadost_od": "2023-03-06T00:00:00",
                  "zduvodneni": "Bojím se strašidel"
                }
              }
            ]
          }
        }
      }
    }

Náhrady

Dotaz:

query compensationsData {
  dataTables {
    data {
      tables {
        nahradys {
          edges {
            node {
	      celkem
              cislo_zadatel
              cislo_zadosti
              dopr_prostredek
              id_agendy{
                agendaName
                instanceIdent
              }
	      id_zadatel
              jizdne
              jmeno_zadatel
              konec
              misto
              noclezne
              pocatek
              popis_agendy
              schvalovatel_jmeno
              spolucestujici
              stravne
              termin_schvaleni_pozadavku
              termin_vytvoreni_pozadavku
              ucel_cesty
              vedlejsi_vydaje
            }
          }
        }
      }
    }
  }
}

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "nahradys": {
            "edges": [
              {
                "node": {
                  "celkem": 610,
                  "cislo_zadatel": "602",
                  "cislo_zadosti": "00001/2023",
                  "dopr_prostredek": "Vlak",
                  "id_agendy": {
                    "agendaName": "Cestovní příkaz",
                    "instanceIdent": "e271572f-8dbb-411e-a871-ad7bcea3550e"
                  },
                  "id_zadatel": "3c5e424e-0335-473a-8046-06b5c5393afe",
                  "jizdne": 510,
                  "jmeno_zadatel": "Admin602",
                  "konec": "2023-03-02T17:00:00",
                  "misto": "Pytlíkov",
                  "noclezne": 0,
                  "pocatek": "2023-03-02T08:00:00",
                  "popis_agendy": "Cestovní příkaz - 00001/2023",
                  "schvalovatel_jmeno": "Ing. Tomáš Ředitel",
                  "spolucestujici": "",
                  "stravne": 100,
                  "termin_schvaleni_pozadavku": "2023-03-02T00:00:00",
                  "termin_vytvoreni_pozadavku": "2023-03-02T00:00:00",
                  "ucel_cesty": "Školení",
                  "vedlejsi_vydaje": 0
                }
              }
            ]
          }
        }
      }
    }

Nepřítomnost

Dotaz:

query absencesData {
  dataTables {
    data {
      tables {
        nepritomnosts {
          edges {
            node {
	      celkem_dni
              celkem_hodin
              duvod
              id_instance{
                agendaName
                instanceIdent
              }
              id_schvalovatel
              id_zadatel
              konec
              pocatek
              schvaleno
              stav
              text_schvalovatel
              text_zadatel
              vytvoreno
            }
          }
        }
      }
    }
  }
}

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "nepritomnosts": {
            "edges": [
              {
                "node": {
                  "celkem_dni": 3,
                  "celkem_hodin": 24,
                  "duvod": "Jiné úkony v obecném zájmu - neplaceno",
                  "id_instance": {
                    "agendaName": "Nepřítomnost",
                    "instanceIdent": "d2cb08ba-ab9d-4a08-8d95-2b468b334a38"
                  },
                  "id_schvalovatel": "d472628f-a652-40ba-b35a-1216ffe0fb5f",
                  "id_zadatel": "3c5e424e-0335-473a-8046-06b5c5393afe",
                  "konec": "2023-03-05T00:00:00",
                  "pocatek": "2023-03-01T00:00:00",
                  "schvaleno": "2023-03-02T12:41:30",
                  "stav": "schváleno",
                  "text_schvalovatel": "Ing. Tomáš Ředitel",
                  "text_zadatel": "Admin602",
                  "vytvoreno": "2023-03-02T12:39:56"
                }
              }
            ]
          }
        }
      }
    }
  }
}

Nákupní požadavky

Dotaz:

query purchaseRequestsData {
  dataTables {
    data {
      tables {
        nakupniPozadavkys {
          edges {
            node {
	   	      castka
              cislo_zadatel
              cislo_zadosti
              datum_schvaleni
              datum_vyplneni
              dodavatel
              id_agendy{
                agendaName
                instanceIdent
              }
              id_zadatel
              jmeno_zadatel
              mnozstvi
              nakladove_stredisko
              nakupni_manazer
              nazev_zbozi
              oblast_zbozi
              odkaz
              popis_agendy
              stav
              vedouci_strediska
            }
          }
        }
      }
    }
  }
}

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "nakupniPozadavkys": {
            "edges": [
              {
                "node": {
                  "castka": 150,
                  "cislo_zadatel": "602",
                  "cislo_zadosti": "00001/2023",
                  "datum_schvaleni": "2023-03-02T00:00:00",
                  "datum_vyplneni": "2023-03-02T00:00:00",
                  "dodavatel": "Žumpa, s.r.o.",
                  "id_agendy": {
                    "agendaName": "Nákupní požadavek",
                    "instanceIdent": "e66b593e-b639-4a3d-b988-c986f15b870f"
                  },
                  "id_zadatel": "3c5e424e-0335-473a-8046-06b5c5393afe",
                  "jmeno_zadatel": "Admin602",
                  "mnozstvi": 1000,
                  "nakladove_stredisko": "Položka 1",
                  "nakupni_manazer": "Admin602",
                  "nazev_zbozi": "Toaletní papír",
                  "oblast_zbozi": "Položka 1",
                  "odkaz": "https://www.wwc.cz/",
                  "popis_agendy": "00001/2023 - Admin602",
                  "stav": "APPROVED_ARCHIVED",
                  "vedouci_strediska": "Admin602"
                }
              }
            ]
          }
        }
      }
    }

Smlouvy

Dotaz:

query contractsData {
  dataTables {
    data {
      tables {
        smlouvys {
          edges {
            node {
	             castka
              cislo_smlouvy
              doba
              druh_smlouvy
              elektronicka
              firma_adresa
              firma_ic
              firma_nazev
              id_agendy{
                agendaName
                instanceIdent
              }
              platnost_do
              platnost_od
              popis_smlouvy
              predmet_smlouvy
              stav
              text_schvalovatel
              text_zadatel
              vlatnik
              vypovedni_doba
            }
          }
        }
      }
    }
  }
}

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "smlouvys": {
            "edges": [
              {
                "node": {
                  "castka": 2500,
                  "cislo_smlouvy": "0001/2022",
                  "doba": "Neurčitá",
                  "druh_smlouvy": "Kupní smlouva",
                  "elektronicka": "Listinná",
                  "firma_adresa": "Kvakošova 2/3, 36987 Kuňkalovice nad Čímkoliv, Česká republika",
                  "firma_ic": " ",
                  "firma_nazev": "Vovoce  & zelenina, a.s.",
                  "id_agendy": {
                    "agendaName": "Smlouva",
                    "instanceIdent": "5ad8778e-913c-443b-acb8-c2f9bc5d3d1b"
                  },
                  "platnost_do": null,
                  "platnost_od": "2022-11-03T00:00:00",
                  "popis_smlouvy": "Smlouva na dodávku 250 kg mišpulí pro zaměstnance",
                  "predmet_smlouvy": "Dodávka mišpulí",
                  "stav": "schváleno, archivováno",
                  "text_schvalovatel": "Admin602",
                  "text_zadatel": "Admin602",
                  "vlatnik": "",
                  "vypovedni_doba": "1 týdnů"
                }
              }
            ]
          }
        }
      }
    }

SignPoint

Dotaz:

query SignPoint {
  dataTables {
    data {
      tables {
        signPoints {
        edges {
            node {
              sys_instanceident {
                instanceIdent
                id
                agendaName
                agenda {
                  displayName
                }
                link
              }
              sys_processstate
              sys_serialnumber
              nazevDokumentu
              popisDokumentu
              zadavatel {
                completeName
              }
              podepsal
              zahajeniAgendy
            }
          }
          aggregate {
            count
          }
  }  }  }  }  }

Příklad výstupu:

{
  "data": {
    "dataTables": {
      "data": {
        "tables": {
          "signPoints": {
            "edges": [
              {
                "node": {
                  "sys_instanceident": {
                    "instanceIdent": "72bfc91d-200b-42d3-906d-07f64a4e3331",
                    "id": "b7697584-7262-4af9-9bfe-cb08d15e6de8",
                    "agendaName": "SignPoint",
                    "agenda": {
                      "displayName": "SignPoint"
                    },
                    "link": "https://testsofa.602.cz/Process/MyUserTasks?InstanceIdent=72bfc91d-200b-42d3-906d-07f64a4e3331"
                  },
                  "sys_processstate": "APPROVED_ARCHIVED",
                  "sys_serialnumber": "0001/2022",
                  "nazevDokumentu": "Nový podpis",
                  "popisDokumentu": "Nový podpis na podepsaném souboru smlouvy",
                  "zadavatel": {
                    "completeName": "Admin602"
                  },
                  "podepsal": "Admin602",
                  "zahajeniAgendy": "2022-11-03T13:34:43"
                }
              },