Atribúty umožňujú ukladať ďalšie informácie o záznamoch — dajú sa teda chápať ako používateľské polia, ktorými štandardnú evidenciu rozšírite. Najčastejšie sa používajú pri cenníku pre lepšie porovnávanie tovaru; podrobné vysvetlenie agendy nájdete v návode Atribúty cenníka.
Všetky atribúty ležia v jednej evidencii atribut. Ku ktorému záznamu atribút patrí, určuje vyplnená relácia:
Relácia | Atribút patrí k |
| cenníkovej položke |
| firme v adresári |
| obchodnému, fakturačnému, skladovému alebo internému dokladu |
Povinný je len typAtributu — odkaz do číselníka typ-atributu, ktorý určuje aj dátový typ hodnoty (typAtributK): typAtribut.retezec, typAtribut.integer, typAtribut.numeric, typAtribut.datumCas alebo typAtribut.boolean. Legendu k jednotlivým poliam číselníka popisuje článok Číselníky atribútov.
ℹ️ Hodnotu zapisujte do elementu hodnota. Flexi ju podľa typu atribútu uloží do zodpovedajúceho poľa — valString, valInteger, valNumeric, valBoolean alebo valDatCas — a pri čítaní dostanete oboje.
⚠️ Atribúty adresára je možné zakladať, upravovať a mazať iba cez REST API. Ich zobrazenie je už možné aj v desktopovej aplikácii.
Cenník
Atribúty v cenníku je možné založiť, upraviť aj zmazať cez API aj v desktopovej aplikácii. Vyčítať ich môžete buď ako podriadený zdroj cenníkovej položky, alebo priamo z evidencie atribútov:
GET https://demo.flexibee.eu/c/demo/cenik/42/atributy.xml
GET https://demo.flexibee.eu/c/demo/atribut/(cenik='code:CENIK').xml
⚠️ Filtrovať je nutné zápisom v okrúhlych zátvorkách v URL — funguje na oboch adresách, teda aj na /cenik/42/atributy/(hodnota='KUZE'). Parameter dotazu ?filter= tieto adresy naopak potichu ignorujú a vrátia všetky záznamy.
Import atribútu:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut>
<hodnota>KUZE</hodnota>
<cenik>code:KUFR</cenik>
<typAtributu>code:MATERIAL</typAtributu>
</atribut>
</winstrom>
Úprava existujúceho atribútu — s uvedením identifikátora záznamu:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut>
<id>1</id>
<hodnota>TEXTIL</hodnota>
<cenik>code:KUFR</cenik>
<typAtributu>code:MATERIAL</typAtributu>
</atribut>
</winstrom>
Odstránenie atribútu akciou delete — stačí uviesť identifikátor:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut action="delete">
<id>1</id>
</atribut>
</winstrom>
V desktopovej aplikácii potom atribút vyzerá takto:
Adresár
Princíp je rovnaký, len sa namiesto cenik vyplní relácia adresar:
GET https://demo.flexibee.eu/c/demo/adresar/642/atributy.xml
GET https://demo.flexibee.eu/c/demo/atribut/(adresar='code:FIRMA').xml
Import atribútu:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut>
<hodnota>DULEZITY</hodnota>
<adresar>code:FIRMA</adresar>
<typAtributu>code:VZTAH</typAtributu>
</atribut>
</winstrom>
Úprava atribútu:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut>
<id>1</id>
<hodnota>NEDULEZITY</hodnota>
<adresar>code:FIRMA</adresar>
<typAtributu>code:VZTAH</typAtributu>
</atribut>
</winstrom>
A odstránenie atribútu:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut action="delete">
<id>1</id>
</atribut>
</winstrom>
V desktopovej aplikácii potom atribút vyzerá takto:
FAQ
Je možné filtrovať cenníkové položky podľa atribútov?
Nie je to možné. Dotaz ako /cenik/(atributy.hodnota='KUZE') vracia 400 s hlásením Vlastnosť 'atributy' neexistuje. Filtrovať je možné iba v evidencii atribut a výsledné ID potom použiť pre dotaz do cenníka.
Ako pracovať s atribútmi cenníka v aplikácii?
Prejdite si návod pre webové aj desktopové rozhranie.
Je možné importovať atribúty z Excelu?
Áno, ale iba pre cenník — postup popisuje Import z Excelu - Atribúty.
Ako zabrániť vzniku duplicitných atribútov pri opakovanom importe?
Postup nájdete v článku Ako ošetriť duplicitu atribútov pri importe XML do cenníka.


