Atributy umožňují ukládat další informace o záznamech — dají se tedy chápat jako uživatelská pole, kterými standardní evidenci rozšíříte. Nejčastěji se používají u ceníku pro lepší porovnávání zboží; podrobné vysvětlení agendy najdete v návodu Atributy ceníku.
Všechny atributy leží v jedné evidenci atribut. Ke kterému záznamu atribut patří, určuje vyplněná relace:
Relace | Atribut patří k |
| ceníkové položce |
| firmě v adresáři |
| obchodnímu, fakturačnímu, skladovému nebo internímu dokladu |
Povinný je jen typAtributu — odkaz do číselníku typ-atributu, který určuje i datový typ hodnoty (typAtributK): typAtribut.retezec, typAtribut.integer, typAtribut.numeric, typAtribut.datumCas nebo typAtribut.boolean. Legendu k jednotlivým polím číselníku popisuje článek Číselníky atributů.
ℹ️ Hodnotu zapisujte do elementu hodnota. Flexi ji podle typu atributu uloží do odpovídajícího pole — valString, valInteger, valNumeric, valBoolean nebo valDatCas — a při čtení dostanete oboje.
⚠️ Atributy adresáře lze zakládat, editovat a mazat pouze přes REST API. Jejich zobrazení je už možné i v desktopové aplikaci.
Ceník
Atributy v ceníku je možné založit, editovat i smazat přes API i v desktopové aplikaci. Vyčíst je můžete buď jako podřízený zdroj ceníkové položky, nebo přímo z evidence atributů:
GET https://demo.flexibee.eu/c/demo/cenik/42/atributy.xml
GET https://demo.flexibee.eu/c/demo/atribut/(cenik='code:CENIK').xml
⚠️ Filtrovat je nutné zápisem v kulatých závorkách v URL — funguje na obou adresách, tedy i na /cenik/42/atributy/(hodnota='KUZE'). Parametr dotazu ?filter= tyto adresy naopak tiše ignorují a vrátí všechny záznamy.
Import atributu:
<?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>
Editace existujícího atributu — s uvedením identifikátoru 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>
Odstranění atributu akcí delete — stačí uvést identifikátor:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut action="delete">
<id>1</id>
</atribut>
</winstrom>
V desktopové aplikaci pak atribut vypadá takto:
Adresář
Princip je stejný, jen se místo cenik vyplní relace 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 atributu:
<?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>
Editace atributu:
<?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 odstranění atributu:
<?xml version="1.0" encoding="UTF-8"?>
<winstrom version="1.0">
<atribut action="delete">
<id>1</id>
</atribut>
</winstrom>
V desktopové aplikaci pak atribut vypadá takto:
FAQ
Lze ceníkové položky filtrovat podle atributů?
Nelze. Dotaz jako /cenik/(atributy.hodnota='KUZE') vrací 400 s hlášením Vlastnost 'atributy' neexistuje. Filtrovat lze pouze v evidenci atribut a výsledná ID pak použít pro dotaz do ceníku.
Jak pracovat s atributy ceníku v aplikaci?
Projděte si návod pro webové i desktopové rozhraní.
Lze atributy importovat z Excelu?
Ano, ale pouze pro ceník — postup popisuje Import z Excelu - Atributy.
Jak zabránit vzniku duplicitních atributů při opakovaném importu?
Postup najdete v článku Jak ošetřit duplicitu atributů při importu XML do ceníku.


