Vlastní javascript na formuláři pro nový požadavek
    Vzhled a chování systémového formuláře pro odeslání nové položky můžete ovlivnit vlastním javascriptem. Můžete například:
    
        - Skrývat a zobrazovat určité položky formuláře v závislosti na hodnotách jiných položek.
- Určit, které položky jsou povinné v závislosti na hodnotách jiných položek.
Zadat vlastní javascript do servisního formuláře pomocí příkazu Javascript v ALVAO WebApp - Administration - Services - New Request Form. 
    Ve skriptu můžete použít následující funkce:
    
        
            
                | Název | Popis | Příklady | 
        
        
            
                | getElement(itemName) | Funkce vrátí objekt prvku itemName ve formuláři. | var $ticketName = self.getElement('tHdTicket.sHdTicket' ) | 
            
                | getValue(itemName) | Funkce vrací hodnotu, která je aktuálně vyplněna ve formuláři v položce itemName. 
 Funkce vrací objekt {id, value}
 
      Aktuální pole: {null, vyplněná hodnota}Pole Datum: {null, objekt typu Date()}Pole výběru: {identifikace vybrané položky, zobrazený text položky}Objekty pole: Pole[{identifikátor objektu, cesta k objektu}]Přílohy pole: {null, null} | var ticketName = self.getValue('tHdTicket.sHdTicket').value; 
 var slaId = self.getValue('tHdTicket.liHdTicketSlaId').id
 | 
            
                | setValue(itemName, value) | Vyplní položku itemName ve formuláři hodnotou value. 
 U položek typu int s výběrem hodnot zadejte v parametru value v nabídce id hodnoty(tColumnValue.iColumnValueId), nikoli její text.  Je možné vkládat i hodnoty, ke kterým uživatel nemá oprávnění.
 
 U položek s datem zadejte v parametru value objekty typu Date( ).
 
 Pokud do položky číselného typu (int, float) zadáte jinou než číselnou hodnotu, hodnota položky se nezmění a na konzoli prohlížeče se vypíše chyba.
 
 Do polí s formátovaným textem (HTML) lze vkládat pouze prostý text (bez značek HTML)
 | self.setValue('tHdTicket.@Description', 'Kóduji jako mistr'); 
 self.setValue('tHdTicket.Objects', 100);
 
 self.setValue('tHdTicketCust.CustomDate', new Date("2020-03-01T12:00 "))
 | 
            
                | show(itemName) | Zobrazí položku itemName na formuláři, pokud byla skrytá. | self.show('tHdTicket.@Description') | 
            
                | hide(itemName) | Skryje položku itemName ve formuláři, pokud je zobrazena a není vyžadována. Skryté položky se při odeslání formuláře neodesílají. | self.hide('tHdTicket.@Description' ) | 
            
                | setRequired(itemName) | Nastaví položku itemName jako povinnou, tj. uživatel musí před odesláním formuláře vyplnit její hodnotu. | self.setRequired('tHdTicket.@Description' ) | 
            
                | setNotRequired(itemName) | Nastaví položku itemName jako nepovinnou. Položky, jejichž povinnost je nastavena v servisním procesu, nelze tímto způsobem nastavit jako nepovinné. | self.setNotRequired('tHdTicket.@Description' ) | 
            
                | onChange(itemName, function()) | Při změně hodnoty položky itemName se automaticky zavolá definovaná funkce. 
 Funkci onChange() volejte pouze v těle funkce initHandlers().
 
 Definovaná funkce se obvykle volá pouze při ukončení vstupního pole. V polích s výběrem hodnot se volá po výběru hodnoty z nabídky.  Ve vstupním poli s formátovaným textem je volána po každém napsaném znaku, změně formátování atd. Funkce je volána také při programové změně hodnoty pomocí funkce setValue()
 | function ticketNameChanged() { var ticketName = self.getValue('tHdTicket.sHdTicket').value;
 self.show('tHdTicket.@Description');
 self.setValue('tHdTicket.@Description", 'Name: ' + ticketName);
 };
 
 NewFormScript.prototype.initHandlers = function () {
 self.onChange('tHdTicket.sHdTicket', ticketNameChanged);
 }
 
 Při změně názvu požadavku ve formuláři výše uvedený skript zobrazí pole popisu požadavku a vloží do něj zadaný název požadavku.
 
 Funkci ticketNameChanged( ) můžete nahradit anonymní funkcí definovanou přímo v argumentu volání funkce onChange()
 | 
        
    
    Hodnoty parametru itemName:
    
        
            
                | Položka formuláře | itemName | 
        
        
            
                | Název | tHdTicket.sHdTicket | 
            
                | Popis | tHdTicket.@Description | 
            
                | Attachments | tHdTicket.@Attachments | 
            
                | Sla | tHdTicket.liHdTicketSlaId | 
            
                | Související organizace | tHdTicket.RelatedAccountId | 
            
                | Číslo zařízení | tHdTicket.sHdTicketDeviceCode | 
            
                | Priorita | tHdTicket.Priority | 
            
                | Fall | tHdTicket.Impact | 
            
                | Emergency | tHdTicket.Urgency | 
            
                | Objekty | tHdTicket.Objekty | 
            
                | <vlastní položka> | tHdTicketCust.<název sloupce databáze> | 
        
    
    Formulář můžete upravit pomocí standardního javascriptu a nad rámec zde popsaných funkcí.
    Příklady skriptů:
    
        1. Příklad        
        Pokud má pole Priorita (tHdTicket.Priority) hodnotu kritickou nebo vysokou, objeví se ve formuláři vlastní položka Důvod (tHdTicketCust.PriorityReason), která bude povinná        
        
        var self; 
NewFormScript.prototype.init = function () { 
self = this; 
//Skrýt položku Odůvodnění při načtení formuláře 
self.hide('tHdTicketCust.PriorityReason'); 
}
            
NewFormScript.prototype.initHandlers = function () { 
//Zaznamená změnu položky Priorita 
self.onChange('tHdTicket.Priority', function(){ 
var priorityValue = self.getValue('tHdTicket.Priority').value;
//Kontrola, zda má položka Priorita vysokou nebo kritickou hodnotu 
if (priorityValue == 'high' || priorityValue == 'critical'){ 
//Nastavení položky Justification jako povinné 
self.setRequired('tHdTicketCust.PriorityReason'); 
//Zobrazení položky Reason 
self.show('tHdTicketCust.PriorityReason'); 
} else { 
//Nastavení položky Reason jako nepovinné 
self.setNotRequired('tHdTicketCust.PriorityReason');   
self.hide('tHdTicketCust.PriorityReason');   
}   
});   
}  
    
        2. Příklad        
        Ve vlastním poli Kontaktní telefon (tHdTicketCust.ContactPhone) chceme zobrazit zástupný symbol: "Zadejte v mezinárodním formátu, např. +420 123 456 789"    
        
        var self; 
NewFormScript.prototype.init = function () { 
self = this; 
//Nastavení zástupného znaku na položce 
self.getElement('tHdTicketCust.ContactPhone').find('input').attr('placeholder', 'Zadejte v mezinárodním formátu, např. +420 123 456 789'); 
} 
                 
                
                
                    Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.