Jak na jazykové překlady v systému ABRA Gen

S jedním jazykem si ve světě obchodu často nevystačíte a proto ABRA Gen nabízí možnost překladu pro vybrané pole objektových tříd (dodávané položky Business objektů) a uživatelsky Definovatelné položky. Můžete si například vytvořit databázi názvů vašeho zboží v libovolném množství cizích jazyků a tyto překlady následně zobrazovat v definovatelných sloupcích, panelech nebo tiskových sestavách. Ukážeme si jak.

Nejdříve je třeba zadat, co a do jakých jazyků chceme překládat. To se dělá v agendě Definice překladů.

Definice překladů

Otevřeme agendu Definice překladů. Viz modul Nástroje přizpůsobení → záložka Definice → agenda Definice překladů

Agenda Definice překladů

 

Tato zpočátku prázdná agenda umožní vybrat, pro jaké třídy Business objektů a pro jaká pole chceme následně zadávat překlady. Pojďme tak udělat pro názvy skladových položek, které budeme chtít zadávat také v angličtině. Vybereme tedy objektovou třídu Skladové karty:

Možnosti výběru objektových tříd.

 

Dále vybereme překlad pro pole "Název" a zadáme jazyk překladu "angličtina". Jazyky jsou čerpány z číselníku Jazyky, který je předvyplněný evropskými a hlavními světovými jazyky a jejich kódy. Můžete do něj doplňovat libovolné množství dalších jazyků.

Toto nastavení nám umožní ke každé skladové kartě zadat anglický překlad jejího názvu.

 

Záložka Překlady

Dále naše cesta povede na záložku Překlady. Ta se vyskytuje v těch agendách, pro jejichž objektové třídy byla vytvořena definice překladu. V našem případě v agendě Skladové karty.

Díky našemu nastavení přibyla v agendě Skladové karty záložka Překlady.

 

Pokud zadáte definici překladů pro agendu, která bude v danou chvíli otevřená/spuštěná, záložka Překlady se nezobrazí hned, ale bude k dispozici až po znovuspuštění této agendy.

 

Zde můžeme pro jednotlivé skladové karty zadat jejich anglické názvy. Tedy vybereme například následující skladovou kartu, na záložce Překlady vyvoláme funkci Opravit a zadáme její cizojazyčný název:

Je pravděpodobné, že se vám pro tuto záložku a situaci (i jiné) bude hodit zobrazení Seznamu přímo v této záložce jako na obrázku – vyzkoušejte: Stiskněte klávesu F10Ostatní nastaveníZobrazovat seznam i na jiných záložkách

Tiskové sestavy

Nyní si předvedeme, jak tyto zadané překlady využít např. na tiskové sestavě.

Pro naši skladovou kartu, k níž jsme zadali překlad, vyvoláme funkci Tisk, Export a vybereme možnost Aktuální záznam.

 

Systémovou tiskovou sestavu nelze měnit (případné změny v editaci nelze uložit), ale můžeme si vytvořit její kopii a tu si upravit dle potřeb. V tomto příkladu vybíráme Štítky a otevřeme Velký číselník, kde si uděláme kopii.

 

Zde s vybranými Štítky vyvoláme funkci Zkopírovat, nastavíme vše potřebné a po stisknutí OK se nám otevře nově vytvořená kopie sestavy Štítky.

 

Nyní máme k dispozici editační režim tiskové sestavy. Vybereme nebo vytvoříme pole, které bude sloužit k zobrazení překladu, a zadáme jeho typ (klikněte pravým tlačítkem na pole) na "Expr" (výraz). Toto nám dovolí v následném kroku využít funkci, která do tiskové sestavy promítne náš překlad.

 

To samé pole nyní otevřeme dvojklikem (levé tlačítko myši), klávesovou zkratkou alt+F nebo pravým tlačítkem a → Vlastnosti. V otevřeném okně vyvoláme funkci Edituj.

 

Z nabídky vybereme funkci NxGetFieldTranslation ze skupiny Ostatní. Dvojklikem na ni se zapíše do editačního okna níže. V popisu funkce je zároveň syntaktická nápověda, jak funkce nachází volaný výraz (anglický název skladové karty v našem případě).

 

Pro další krok bude potřeba získat 4 hodnoty:

  • 01 - CLSID třídy objektu - najdeme v GenDoc.chm
  • 02 - ID objektu, kterého se překlad týká - najdeme v editační tabulce výrazu, v části Datové položky objektu
  • 03 - ID jazyka - najdeme v číselníku Jazyky
  • 04 - Název pole, pro které chceme vrátit překlad - najdeme v agendě Definice překladů

01 - CLSID třídy objektu

Třída je v tomto případě "Skladové karty". Její CLSIC (Identifikaci třídy) najdeme v databázi GenDoc.chm. Jde o samostatný soubor, který se spouští z adresáře, ve kterém je nainstalovaný systém ABRA Gen. Po jeho spuštění najdeme popis ke třídě, jejíž identifikaci potřebujeme – u nás je to 0 - Jádro systému a skladové hospodářství → kapitola Seznam business objektů. Zde vyhledáme pomocí ctrl+f "Skladová karta" a hodnota "PackedCLSID" v posledním sloupci je ta, kterou potřebujeme. Zkopírujeme si ji do schránky.

Prostředí GenDoc.chm.

 

Zpátky v systému ABRA Gen můžeme vložit zkopírované PackedCLSID třídy do syntaxe. Je třeba dávat pozor na tvar zápisu (apostrofy, mezery, závorky...), jako nápovědu lze využít příklad nad samotným editačním polem.

Zadání zkopírovaného PackedCLSID.

02 - ID objektu, kterého se překlad týká

Následuje ID (interní identifikátor) objektu. Pro zápis této hodnoty najdeme v okně Datové položky to pole, které se týká našeho případu. V našem případě jsou to Skladové karty → Vlastní ID (ID). Po dvojkliku myší se jeho hodnota propíše do editačního pole funkce:

Pozor - tento výraz se na rozdíl od konkrétního CLSID do apostrofů nedává.

 

03 - ID jazyku

Identifikaci jazyku získáme v číselníku Jazyky. Vybereme jazyk, jehož ID potřebujeme, a klávesovou zkratkou ctrl+I toto ID zkopírujeme do schránky a vložíme do editačního řádku funkce zpátky v tiskové sestavě:

Zkopírování ID do schránky je možné zkratkou ctrl+I u všech systémových objektů.

 

Správnost zápisu lze posoudit i tak, že se hodnoty vybarví, tzn. že jsou rozpoznány.

 

04 - Název pole, pro které chceme vrátit překlad

Poslední článek funkce odkazuje na interní název samotného pole, pro které je překlad vytvořen. To najdeme v agendě Definice překladů, v záložce Detail u pole, které jsme pro překlad vybrali.

Interní název pole Název je "Name". Pozor na velká a malá písmena.

Hotová funkce

Nyní máme k dispozici funkci, která pro každou naši skladovou kartu bude zobrazovat její anglický překlad. Zkontrolujeme zápis podle příkladu v popisu funkce a uložíme tlačítkem OK.

Zápis funkce zde se liší od příkladu tím, že její výsledek bude anglický název jakékoliv vybrané skladové karty, namísto 1 konkrétní s vlastním ID, jako je tomu v příkladu.

 

Po uložení tiskové sestavy ji lze použít, stačí pro vybranou nebo vybrané skladové karty vyvolat funkci Tisk, Export a zvolit tuto nově vytvořenou sestavu Štítky (anglicky).

U všech skladových karet se v této sestavě objeví jejich anglický překlad, pokud byl zadán v záložce Překlady.