AI a kontrola kódu v editorech

Od verze 5.21 má každý editor, ve kterém konzultant píše kód, pod sebou stejná tlačítka: Zkontrolovat kód a Naformátovat. Administrátor na instalaci se zapnutou AI tam má navíc tlačítko Zeptat se AI, které otevře AI chat připojený k právě tomuto editoru. AI pak kód napíše, upraví nebo vysvětlí a změnu vám nejdřív ukáže k porovnání. Článek popisuje obě funkce na výpočtu úkolu. V ostatních editorech fungují stejně.

Kde tlačítka najdete

EditorKde ho otevřete
Výpočty na úkoluŠablona → úkol → záložka Výpočty, pod každou sekcí výpočtu.
Globální skriptyAdministrace → Skripty: skripty výpočtů, skripty Case Overview i React skripty.
Servisní konzoleAdministrace → Servisní konzole.
Skript metody autentizaceAdministrace → Autentizace → detail metody.
Dynamické podmínkyOkno dynamických podmínek úkolu: záložka se skriptem i skriptový blok v builderu podmínek.
Dynamické řádky a dynamické položkyDetail proměnné daného typu, sekce se skriptem.
TiskyŠablona → Tisk: standardní (HTML) tisk, React tisk a vlastní skript v builderu tisku.

Zkontrolovat kód

Kontrola běží na serveru, takže editor a server se shodnou na tom, co je v kódu špatně. Kód se při ní nespouští a nic se neukládá.

  1. Klepněte na Zkontrolovat kód. Během kontroly má tlačítko text „Kontroluji…“.
  2. Když je kód v pořádku, objeví se štítek Bez nálezů a zpráva „Kód se přeloží, lint je bez nálezů a všechna asynchronní volání jsou awaitovaná.“
  3. Když kontrola něco najde, objeví se štítek s počtem nálezů („1 ke kontrole“), problémová místa se v editoru podtrhnou a pod editorem je seznam. Každá položka má text nálezu, řádek a sloupec a označení pravidla. Klepnutím na položku přeskočíte na její řádek.
Co kontrola hlásíPříklad
Chyby syntaxe (červeně)Chybějící závorka, překlep v klíčovém slově. Takový kód nejde přeložit a nespustí se.
Chybějící await (pravidlo calculation/missing-await)vars['Reimbursement'].setValue(...) bez await. Bez něj se do proměnné nemusí uložit výsledek, ale nedokončená operace. Viz článek Jak a kdy běží výpočty.
Nesprávné použití výsledku asynchronního volání (calculation/promise-misuse)dt.from('Rates').get(): na výsledek dt.from se volá metoda dřív, než je k dispozici.
Typové chyby (calculation/type-error)Metoda nebo vlastnost, kterou rozhraní výpočtů nemá, například přiřazení proc.IPROC_DESCRIPTION = … místo await proc.setAttribute(…).
Nálezy linteruDoporučení ke stylu a podezřelá místa, například let u proměnné, která se nemění (lint/style/useConst), nebo porovnání == místo === (lint/suspicious/noDoubleEquals). Jde o stejná pravidla, jaká používají vývojáři TAS.

Naformátovat

Tlačítko Naformátovat srovná odsazení, mezery a zalomení kódu podle jednotného stylu a výsledek vloží zpět do editoru. Uložit musíte sami. Když je kód už naformátovaný, TAS ohlásí „Kód už je naformátovaný.“ Kód, který nejde přečíst kvůli chybě syntaxe, zůstane beze změny. Text uvnitř víceřádkových řetězců (šablonových literálů) se nemění.


Zeptat se AI

Tlačítko Zeptat se AI otevře AI chat připojený k editoru. AI ví, o jaký kód jde, kdy běží a co má vracet, a čte si sama, co k práci potřebuje: u výpočtu proměnné šablony a ostatní výpočty úkolu, u tisku jeho obsah, u dynamických podmínek pole formuláře, u dynamické tabulky její sloupce, u sdíleného skriptu to, co na něm závisí. Navržený kód si AI před předáním sama zkontroluje.

Kdo tlačítko uvidí
Uživatel s rolí $Administrator (nebo superadministrátor) na instalaci, která má AI zapnuté. Tlačítko se zobrazí až u uloženého objektu: například u výpočtu úkolu, který už má ID.
AI vidí jen uložený kód
AI čte kód z databáze, ne z editoru. Než se zeptáte, klepněte na Uložit, jinak AI pracuje se starší verzí kódu.

Jak nechat AI upravit kód

  1. Uložte úkol (šablonu, skript, tisk).
  2. Pod editorem klepněte na Zeptat se AI. Otevře se AI chat. V hlavičce je štítek editoru (u výpočtu například Box výpočtu 1) a v poli zadání předvyplněno „Uprav tento kód tak, aby…“.
  3. Větu dokončete, například „…počkal na uložení hodnoty a výsledek zaokrouhlil na dvě desetinná místa“, a odešlete.
  4. Když AI kód připraví, otevře se okno Zkontrolujte vygenerovaný kód.
  5. Projděte rozdíly a klepněte na Použít vygenerovaný kód. Kód se vloží do editoru.
  6. Klepněte na Zkontrolovat kód a potom na Uložit.
Prvek oknaK čemu slouží
PoznámkyText pod nadpisem: co AI změnila a na co si dát pozor.
AktuálníKód, který je teď v editoru. Odebrané části jsou červeně.
VygenerovánoNavržený kód. Přidané části jsou zeleně.
Použít vygenerovaný kódNahradí obsah editoru navrženým kódem. Nic se zatím neukládá.
ZrušitZavře okno, kód v editoru se nezmění.

Konverzace pokračuje, takže další úpravu napíšete jako navazující zprávu („ještě ošetři případ, kdy dodavatel chybí“). Každá úprava přijde znovu jako návrh k porovnání. AI do databáze sama nikdy nic nezapíše.

Vysvětlení existujícího kódu

Ve stejném chatu se můžete na kód zeptat, například „Vysvětli, co tento výpočet dělá a kdy běží“. AI odpoví v chatu: popíše, co kód čte a kam zapisuje, ukáže příklad výpočtu a řekne, při kterém okamžiku spuštění běží. Kód v editoru se nemění.

Připojení chatu k editoru

Dokud je v hlavičce chatu štítek editoru, chat pracuje s tímto editorem. Režim Builder v tu dobu vybrat nejde. Štítek zrušíte křížkem, chat pak funguje jako běžný AI chat.

Výsledek AI vždy ověřte
AI se může mýlit. Navržený kód si přečtěte, zkontrolujte tlačítkem Zkontrolovat kód a vyzkoušejte na zkušebním případu.

TypeScript ve výpočtech

Od verze 5.21 jsou výpočty, globální skripty výpočtů a servisní konzole TypeScript. Editor napovídá skutečné názvy a parametry metod výpočtového rozhraní. Typové anotace psát nemusíte, běžný JavaScript je platný TypeScript. TAS už nedoplňuje await za vás: každé asynchronní volání musíte označit sami. Co to znamená v praxi, popisuje článek Jak a kdy běží výpočty.

Dynamické položky

V návrháři tabulky proměnné typu Dynamické položky je v liště nad seznamem sloupců také tlačítko Zeptat se AI. Chat se otevře s textem „Uprav tuto tabulku tak, aby…“ a AI navrhne změnu sloupců a nastavení tabulky, kterou opět nejdřív porovnáte a potvrdíte. Podrobnosti najdete v článku o proměnné Dynamické položky. Skript dynamických položek má tlačítka Zkontrolovat kód, Naformátovat a Zeptat se AI jako ostatní editory.

Související: Výpočty na úkolu; Jak a kdy běží výpočty; Globální skripty a React skripty; AI chat; Založení šablony: ručně, AI Builderem, importem nebo z diagramu.

Globální skripty a React skripty

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)