- Erste Schritte
- Bevor Sie beginnen
- Anleitungen zu …
- Greifen Sie auf die Produktions-URL einer App zu
- Erstellen einer mobilfreundlichen App
- Apps einbetten
- Karten einbetten
- Festlegen von externem Kontext
- Verwenden Sie Arrays, um Dropdown-Menüs, Dropdown-Menüs mit Mehrfachauswahl und Optionsfeld-Steuerelemente auszufüllen
- Verwenden Sie DataTable mit Tabellensteuerelementen und Bearbeitungsrastersteuerelementen
- Eingabemaske verwenden
- Benachrichtigungen
- Verwenden von VB-Ausdrücken
- Entwerfen einer App
- Ereignisse und Regeln
- Regel: If-Then-Else
- Regel: Eine Seite öffnen
- Regel: URL öffnen
- Regel: Popover/unterstes Blatt schließen
- Regel: Nachricht anzeigen
- Regel: Drehfeld anzeigen/ausblenden
- Regel: Wert festlegen
- Regel: Prozess starten
- Regel: Werte neu festlegen
- Regel: Datei in Speicher-Bucket hochladen
- Regel: Datei aus Speicher-Bucket herunterladen
- Regel: Entitätsdatensatz erstellen
- Regel: Entitätsdatensatz aktualisieren
- Regel: Entitätsdatensatz löschen
- Regel: Zu Warteschlange hinzufügen
- Regel: Workflow auslösen
- Regel: Einreichungsaktion
- Nutzen von RPA in einer App
- Nutzen von Entitäten in Ihrer App
- Nutzen von Warteschlangen in Ihrer App
- Application Lifecycle Management (ALM)
- Grundlegende Anleitung zur Fehlerbehebung
Benutzerdefinierter HTML-Code
Das benutzerdefinierte HTML-Steuerelement richtet sich an fortgeschrittene Benutzer und bietet die Flexibilität von HTML-, CSS- und JavaScript-Programmiersprachen, um benutzerdefinierte, interaktive Steuerelemente zu erstellen, die ihren geschäftlichen Anforderungen entsprechen. Das Steuerelement enthält dedizierte Editoren für HTML-, CSS- und JavaScript-Code, mit dem zusätzlichen Vorteil, dass extern gehostete CSS- und JavaScript-Dateien über URLs integriert werden können.
-
Code-Editor öffnen – Öffnet einen Editor mit drei Bereichen zum Hinzufügen des HTML-, CSS- und JavaScript-Codes.
-
Zugängliche Beschriftung – Die Beschreibung des Steuerelements. Diese Eigenschaft wird von Bildschirmleseprogrammen für eine verbesserte Zugänglichkeit verwendet.
-
Ausgeblendet – Bei „true“ wird das Steuerelement während der Runtime ausgeblendet.
-
Deaktiviert – Bei „true“ wird das Steuerelement zur Laufzeit inaktiv. Der HTML-, CSS- und JavaScript-Inhalt wird geladen, reagiert jedoch nicht auf Benutzeraktionen wie Klicken.
-
Ausrichtung von Steuerelementen – Erbt standardmäßig die übergeordnete Ausrichtung. Eine andere Ausrichtung als die übergeordnete kann festgelegt werden. Um die Standardausrichtung wiederherzustellen, heben Sie die Markierung der überschriebenen Optionen auf.
Hinweis: Die Ausrichtung hängt vom Layout ab, das für das übergeordnete Element ausgewählt wurde (vertikal vs. horizontal). - Rahmen – Der Rahmen für das Steuerelement. Rahmenstärke und Radius können konfiguriert werden.
-
Seitenrand – Der Seitenrand des Steuerelements. Standardmäßig ist ein Seitenrand von 4px festgelegt. Die Randeigenschaften Oben/Unten und Links/Rechts werden kombiniert. Diese Eigenschaften können mit der Schaltfläche Link rechts neben dem Abschnitt Seitenrand getrennt werden.
-
Größe – Die Breite und Höhe des Steuerelements. Standardmäßig ist die Größe auf
auto
festgelegt. Um Mindest- oder Höchstwerte festzulegen, klicken Sie auf das Drei-Punkte-Symbol (…).
Der Code-Editor des benutzerdefinierten HTML-Steuerelements bietet drei Bereiche zur Eingabe von Code in den Programmiersprachen HTML, CSS und JavaScript. Jeder Editor unterstützt IntelliSense oder die automatische Codevervollständigung und Syntaxhervorhebung.
Der Code aus den Panels wird zu einem Projekt kompiliert und in Apps Studio zur Vorschau gerendert. Um die Funktionalität des Steuerelements zu beobachten, zeigen Sie eine Vorschau der App an.
-
Jeder Editor hat eine maximale Inhaltsgröße von 5 MB. Wenn der Inhalt diese Größe überschreitet, können Sie Ihre Änderungen nicht mehr speichern.
-
IntelliSense funktioniert nicht für CSS- und JavaScript-Codes, die im HTML-Editor geschrieben wurden.
Wenn Sie bereits Stile oder Skripte definiert haben, können Sie im Steuerelement auf sie verweisen, ohne den Code in die entsprechenden CSS- oder JavaScript-Bereiche schreiben zu müssen.
.css
- oder .js
-Dateien:
-
Wechseln Sie im Code-Editor des benutzerdefinierten HTML-Steuerelements zur Registerkarte Externe Ressourcen .
-
Fügen Sie im Abschnitt CSS eine externe CSS-Datei hinzu. Die Datei muss unter einer für das Netzwerk zugänglichen URL gehostet werden, um die Kompatibilität und Verfügbarkeit an dem Ort sicherzustellen, an dem die App ausgeführt wird.
-
Fügen Sie im Abschnitt JavaScript eine externe Skriptdatei hinzu. Die Datei muss unter einer für das Netzwerk zugänglichen URL gehostet werden, um die Kompatibilität und Verfügbarkeit an dem Ort sicherzustellen, an dem die App ausgeführt wird.
-
Wenn Sie alle externen Ressourcen hinzugefügt haben, klicken Sie auf Speichern.
Standardmäßig fügt die Tabulatortaste einen Tabulatorbereich innerhalb des aktuellen Editors hinzu. Um das Verhalten der Tabulatortaste anzupassen, verwenden Sie die folgenden Tastenkombinationen:
OS |
Verknüpfung |
Verhalten |
---|---|---|
Windows |
STRG+M |
Weist die Tabulatortaste an, zwischen den Bereichen zu navigieren und den Fokus auf die sichtbaren Schaltflächen des Editors zu ändern. Drücken Sie STRG+M erneut, um das Standardverhalten der Registerkarte wiederherzustellen. |
MacOS |
STRG+Umschalt+M | Weist die Tabulatortaste an, zwischen den Bereichen zu navigieren und den Fokus auf die sichtbaren Schaltflächen des Editors zu ändern. Drücken Sie erneut STRG+Umschalt+M, um zum Standard-Registerkartenverhalten zurückzukehren. |
<body></body>
-Tags eines Codeblocks enthalten ist.
Um beispielsweise das Containerelement für ein interaktives Kreisdiagramm in Ihrer App hinzuzufügen, würden Sie das folgende HTML-Snippet verwenden:
<canvas id="myChart" class="chart-container" style="width:100%;max-width:600px"></canvas>
<canvas id="myChart" class="chart-container" style="width:100%;max-width:600px"></canvas>
Wo:
-
id="myChart"
verweist auf das JavaScript-Element „myChart“, das das interaktive Kreisdiagramm innerhalb des HTML-Elements generiert. Weitere Informationen finden Sie unter Der JavaScript-Editor. -
class="chart-container"
verweist auf die CSS-Klasse „chart-container“, die den Stil für das Kreisdiagramm innerhalb des HTML-Elements hinzufügt. Weitere Informationen finden Sie unter Der CSS-Editor.
In diesem Bereich können Sie den Stil Ihres Steuerelements und der darin enthaltenen Elemente eingeben.
Um dem Kreisdiagramm beispielsweise Farben und einen Rahmen hinzuzufügen, würden Sie das folgende CSS-Snippet verwenden:
.chart-container {
background-color: #f3f7e9;
border: 1px solid #cccccc;
}
.chart-container {
background-color: #f3f7e9;
border: 1px solid #cccccc;
}
In diesem Panel können Sie den interaktiven Teil Ihres Steuerelements erstellen, z. B. aktuelle Inhaltsaktualisierungen, Karten oder animierte 2D-/3D-Diagramme.
Um beispielsweise ein Kreisdiagramm für den weltweiten Vertrieb von Apple-Produkten zu erstellen und es so zu gestalten, dass Werte für das ausgewählte Segment angezeigt werden, gehen Sie wie folgt vor:
-
Fügen Sie die folgende externe JavaScript-Ressource hinzu:
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js -
Verwenden Sie den folgenden JavaScript-Snippet:
const ctx = document.getElementById('myChart').getContext('2d'); const myChart = new Chart(ctx, { type: 'pie', data: { labels: ['iPhone', 'iPad', 'MacBook', 'Apple Watch', 'AirPods'], datasets: [{ label: 'Sales', data: [120000, 80000, 50000, 40000, 30000], backgroundColor: [ '#5CB85C', // Green '#F0AD4E', // Orange '#D9534F', // Red '#5BC0DE', // Light blue '#999', // Gray ], borderColor: '#fff', borderWidth: 2, }], }, options: { plugins: { legend: { position: 'top', }, title: { display: true, text: 'Apple Products Sales', }, }, }, });
const ctx = document.getElementById('myChart').getContext('2d'); const myChart = new Chart(ctx, { type: 'pie', data: { labels: ['iPhone', 'iPad', 'MacBook', 'Apple Watch', 'AirPods'], datasets: [{ label: 'Sales', data: [120000, 80000, 50000, 40000, 30000], backgroundColor: [ '#5CB85C', // Green '#F0AD4E', // Orange '#D9534F', // Red '#5BC0DE', // Light blue '#999', // Gray ], borderColor: '#fff', borderWidth: 2, }], }, options: { plugins: { legend: { position: 'top', }, title: { display: true, text: 'Apple Products Sales', }, }, }, });
setVariable()
, getVariable()
und onVariableChange()
zu verwenden.
getVariable()
Verwenden Sie diese Funktion im JavaScript-Editor, um den Wert einer vorhandenen Variablen abzurufen.
internalValue
zu übergeben, würden Sie das folgende JavaScript-Snippet verwenden:
async function init() {
let internalValue = await App.getVariable('<app_variable_name>');
}
init();
async function init() {
let internalValue = await App.getVariable('<app_variable_name>');
}
init();
-
Die Funktion
getVariable()
ist asynchron, deshalb müssen Sieawait
verwenden. -
Wenn Sie
getVariable()
innerhalb einer Funktion aufrufen, machen Sie diese Funktion zuasync
. Im angegebenen Beispiel haben wir die Funktioninit()
erstellt und sofort aufgerufen. -
Wenn Sie
getVariable()
auf hoher Ebene aufrufen, bebetten Sie es in eineasync
-Funktion.
async function init() {
try {
const value = await App.getAppVariable("test");
} catch (e) {
console.log("Error in evaluating app variable:", e);
}
}
init();
async function init() {
try {
const value = await App.getAppVariable("test");
} catch (e) {
console.log("Error in evaluating app variable:", e);
}
}
init();
setVariable()
Verwenden Sie diese Funktion im JavaScript-Editor, um einen Wert für eine vorhandene Variable festzulegen. Das erste Argument ist der Variablenname und das zweite Argument ist der Wert, den Sie festlegen möchten.
async function setValue() {
await App.setVariable('<app_variable_name>', <app_variable_value>);
}
setValue();
async function setValue() {
await App.setVariable('<app_variable_name>', <app_variable_value>);
}
setValue();
await
.
try {
App.setVariable('<app_variable_name>', <app_variable_value>);
} catch (e) {
console.log("Error in setting app variable:", e);
}
try {
App.setVariable('<app_variable_name>', <app_variable_value>);
} catch (e) {
console.log("Error in setting app variable:", e);
}
onVariableChange()
Verwenden Sie diese Funktion im JavaScript-Editor, um Änderungen eines vorhandenen Variablenwerts abzuhören und auf den neuesten Variablenwert zuzugreifen.
App.onVariableChange('<app_variable_name>', value => {
console.log("Latest value: ", value);
});
App.onVariableChange('<app_variable_name>', value => {
console.log("Latest value: ", value);
});
onVariableChange()
zurückgegebene Funktion der Variablen deregister
zu. Wenn Sie dann die Überwachung von Variablenänderungen beenden möchten, können Sie die Funktion deregister()
aufrufen:
const deregister = App.onVariableChange('<app_variable_name>', value => {
console.log("Latest value: ", value);
});
// To stop listening for value changes, the deregister function can be invoked like below
deregister();
const deregister = App.onVariableChange('<app_variable_name>', value => {
console.log("Latest value: ", value);
});
// To stop listening for value changes, the deregister function can be invoked like below
deregister();
-
Der Listener wird gestartet, nachdem das benutzerdefinierte HTML-Steuerelement vollständig gerendert wurde. Wenn sich ein Variablenwert ändert, bevor das benutzerdefinierte HTML-Steuerelement initialisiert wird, wird der aktualisierte Wert nicht erfasst.
Um den neuesten Variablenwert abzurufen, rufen SiegetVariable()
auf, bevor SieonVariableChange()
aufrufen. -
Das HTML-Steuerelement und die darin enthaltenen Funktionen werden initialisiert, nachdem das Steuerelement zur Laufzeit angezeigt wurde.
Variablentypen
App-Variablentyp |
Beispielantwort von Variablenfunktionen |
---|---|
Text (String) |
"Hello world" |
UInt64 (Int) |
100 |
Decimal number |
50.25 |
True/False (Boolean) |
True |
DateOnly |
2024-01-02 (Format: JJJJ-MM-TT) |
DateTimeOffset |
2024-01-06T09:54:41.9170000Z (Äquivalentes JS-Format: ISO-String des Datumsobjekts) |
AppsFile – Wert eines Dateiauswahlsteuerelements | JS-Dateiobjekt
|
AppsFile – Wert, der aus der URL erstellt wurde
Zum Beispiel:
|
Dateiobjekt:
|
GUID |
"5637F7DB-391D-4C8B-805D-0A918531CA3E" |
List(Of string) | ["Banana", "Kiwi", "Apple", "Lemon"] |
ListSource(Of <Entity>) |
|
<Entity> (Single entity row) |
|
ListSource(Of <Choiceset>) |
|
Datatable |
|
-
Nehmen Sie aufgrund des clientseitigen Zugriffs keine vertraulichen Daten in das benutzerdefinierte HTML-Steuerelement auf.
-
Verwenden Sie die Tags
<html>
und<head>
nicht im HTML-Editor, da der Code automatisch innerhalb der<body>
-Tags angehängt wird. -
Fügen Sie CDN-URLs externer Ressourcen wie Bootstrap, jQuery oder anderer JavaScript SDKs auf der Registerkarte Externe Ressourcen hinzu.
-
Wenn Sie die Überwachung der Variablenänderung beenden möchten, verwenden Sie die Funktion
deregister()
. -
Vermeiden Sie große Datenschleifen, um eine Verlangsamung der Anwendung zu verhindern und die Reaktion des Steuerelements aufrechtzuerhalten.
-
Minimieren Sie die Verwendung von DOM-Elementen so weit wie möglich: Erstellen Sie DOM-Elemente nur bei Bedarf und entfernen Sie sie, wenn sie veraltet sind.
-
Verwenden Sie für große Datasets unendliches oder virtuelles Scrollen anstelle von Standard-Scroll.
-
Erstellen und pflegen Sie einen bereinigten, optimierten und Redundanz-freien Code.
-
Benutzerdefiniertes HTML bietet keine Möglichkeit, Kontrollregeln auszulösen.
-
Das Verbinden des Steuerelements mit Apps erfolgt nur mithilfe der Variablenfunktionen:
getVariable()
,setVariable()
,onVariableChange()
. -
Kopieren des vollständigen Steuerelements oder Duplizieren der Seite mit einem Steuerelement. Das Steuerelement wird nur mit den Eigenschaften auf der Registerkarte „ Stil ‟ eingefügt. Sie müssen den Code für HTML, CSS und JavaScript manuell einfügen.
-
Um auf Prozess- oder Warteschlangendaten zuzugreifen, müssen Sie für jede Prozess- oder Warteschlangeneigenschaft eine Variable zuweisen.
-
Die Abmessungen des HTML-Steuerelements werden nicht dynamisch an die Anzeige von Popups oder Dropdownmenüs angepasst. Daher müssen Sie die Größe des HTML-Steuerelements an diese Menüs anpassen.
-
Sie können während der Entwurfszeit nicht mit dem HTML-Steuerelement interagieren.
-
Die Funktionen
setVariable()
,getVariable()
undonVariableChange()
werden nur zur Laufzeit ausgeführt. -
Änderungen an Variablennamen oder Variablenlöschungen werden nicht automatisch in den Code-Editoren widergespiegelt. Sie müssen den Code manuell mit den aktuellen Variablen aktualisieren.
-
Variablen, die Dateien aus dem HTML-Steuerelement speichern, können nicht in der Regel Datei in Speicher-Bucket hochladen oder zum Ausfüllen der Dateitypfelder von Data Service-Entitäten verwendet werden.
-
Das Steuerelement kann nur über die Verwendung von Variablen mit anderen UiPath® -Komponenten kommunizieren, z. B. Prozesse, Warteschlangen oder Speicher-Buckets.
-
Vorverarbeiteter CSS-Code, der LESS oder SCSS verwendet, ist mit dem HTML-Steuerelement nicht kompatibel.
-
Die folgenden APIs schlagen bei der Verwendung aufgrund von Sicherheitsbedenken im Hintergrund fehl:
-
Herunterladen mithilfe des Attributs
download
-
Öffnen von Modalitäten mit
Window.alert()
,Window.confirm()
,Window.print()
,Window.prompt()
. -
Zeiger- und Ausrichtungssperre
-
Navigieren durch den Browserkontext der obersten Ebene
-
Eingabe des Vollbildmodus mit
requestFullscreen()
-
Bildschirmaufnahme mit
MediaDevices.getDisplayMedia()
-
Zugriff auf Kamera oder Mikrofon mit
MediaDevices.getUserMedia()
-
Anfordern von Zahlungen
-
Zugriff auf den Speicherort mit
navigator.geolocation()
-
Freigeben von Daten mit
navigator.share()
-
- Fügen Sie im JavaScript-Editor einen
console.log()
hinzu. - Öffnen Sie in Ihrer Apps Studio-Sitzung die Browserkonsole, indem Sie F12 drücken und dann die Registerkarte Konsole auswählen.
- Aktivieren Sie in den Konsoleneinstellungen das Kontrollkästchen Nur ausgewählter Kontext .
- Wählen Sie in der Dropdownliste JavaScript-Kontext oben auf der Konsolenseite die Option
html-control-base.html
für das gewünschte HTML-Steuerelement aus.
Die Protokolle aus dem ausgewählten Steuerelement werden in der Konsole angezeigt.
Weitere Informationen finden Sie im Video:
- Fügen Sie im JavaScript-Editor einen
console.log()
hinzu. - Öffnen Sie in Ihrer Apps Studio-Sitzung die Browserkonsole, indem Sie F12 drücken und dann die Registerkarte Konsole auswählen.
- Klicken Sie auf der rechten Seite des Protokolls auf die VM-Meldung.
Der Debugger wird geöffnet. Wählen Sie Ihren Haltepunkt aus, indem Sie auf die gewünschte Zeilennummer klicken.
Weitere Informationen finden Sie im Video:
Einleitung
Diese App zeigt, wie verschiedene Diagrammtypen mithilfe von JavaScript-Bibliotheken wie d3.js oder Chart.js erstellt werden.
Demo-App – selbst ausprobieren
Um die interaktiven Diagramme selbst auszuprobieren, verwenden Sie die Demo-App.
Demo-App – Verwendungsanweisungen
- Erstellen Sie in UiPath® Apps eine neue App und importieren Sie die heruntergeladene Demo-App.
- Zeigen Sie eine Vorschau Ihrer App an, um mit allen Diagrammtypen zu interagieren.
Benutzerdefiniertes HTML: Erstellen eines interaktiven Kreisdiagramms mithilfe von Variablenfunktionen
Einleitung
Diese App kombiniert Entitäten, benutzerdefiniertes HTML und Bearbeitungsrastersteuerelemente , um ein interaktives Kreisdiagramm anzuzeigen. Die Interaktivität wird aktiviert, indem eine Option aus einem Dropdownmenü ausgewählt wird, wodurch die Kreisdiagrammabschnitte und die Datensätze im Bearbeitungsraster geändert werden. Anschließend werden durch Klicken auf einen Diagrammabschnitt die Daten im Bearbeitungsraster aktualisiert.
Demo-App – selbst ausprobieren
Um das interaktive Kreisdiagramm selbst auszuprobieren, verwenden Sie die Demo-App oder folgen Sie dem Verfahren.
Demo-App – Verwendungsanweisungen
- Zeigen Sie eine Vorschau der Demo-App an.
- Wählen Sie in der Dropdownliste „Tickets nach Kundennamen filtern“ eine Option aus. Die Gesamtzahl der Tickets, die Darstellung des Kreisdiagramms und die Daten im Bearbeitungsraster sollten sich ändern.
- Zeigen Sie mit der Maus auf ein Diagrammsegment. Der Tooltip zeigt den Kategorienamen und die Ticketanzahl an.
- Klicken Sie auf einen Diagrammbereich. Im Bearbeitungsraster werden die Datensätze für die ausgewählte Kategorie angezeigt.
Verfahren
Führen Sie nach dem Herunterladen die folgenden Schritte aus:
Einleitung
Diese App zeigt, wie eine benutzerdefinierte Datums-/Uhrzeitauswahl erstellt wird.
Demo-App – selbst ausprobieren
Um die Datums-/Uhrzeitauswahl selbst auszuprobieren, verwenden Sie die Demo-App.
Demo-App – Verwendungsanweisungen
- Erstellen Sie in UiPath® Apps eine neue App und importieren Sie die heruntergeladene Demo-App.
- Zeigen Sie eine Vorschau Ihrer App an, um mit der Datums-/Uhrzeitauswahl zu interagieren.
Einleitung
Diese App zeigt, wie Kennwortfelder erstellt werden.
Demo-App – selbst ausprobieren
Um das Kennwortfeld selbst auszuprobieren, verwenden Sie die Demo-App.
Demo-App – Verwendungsanweisungen
- Erstellen Sie in UiPath® Apps eine neue App und importieren Sie die heruntergeladene Demo-App.
- Zeigen Sie eine Vorschau Ihrer App an, um mit dem Kennwortfeld zu interagieren.
Einleitung
Diese App zeigt, wie Signatureingabefelder erstellt werden.
Demo-App – selbst ausprobieren
Um die Signatureingabe selbst auszuprobieren, verwenden Sie die Demo-App.
Demo-App – Verwendungsanweisungen
- Erstellen Sie in UiPath® Apps eine neue App und importieren Sie die heruntergeladene Demo-App.
- Möglicherweise stellen Sie einige Fehler fest. Um sie zu beheben, ersetzen Sie den referenzierten Speicher-Bucket „Demo-App“ durch einen in Ihrem Mandanten.
- Zeigen Sie eine Vorschau der App an, um mit dem Signatureingabefeld zu interagieren.
- Allgemein
- Events
- Stil
- Code-Editor für benutzerdefiniertes HTML
- Hinzufügen externer Ressourcen
- Tastenkombinationen für die Tabulatortaste
- Der HTML-Editor
- Der CSS-Editor
- Der JavaScript-Editor
- Verwenden von Variablen in benutzerdefiniertem HTML-Code
- Best Practices für benutzerdefiniertes HTML
- Funktionseinschränkungen
- Debuggen des Codes eines benutzerdefinierten HTML-Steuerelements
- Hinzufügen und Filtern von Konsolenprotokollen eines benutzerdefinierten HTML-Steuerelements
- Haltepunkte hinzufügen
- Demos
- Benutzerdefiniertes HTML: Erstellen von Diagrammen
- Benutzerdefiniertes HTML: Erstellen eines interaktiven Kreisdiagramms mithilfe von Variablenfunktionen
- Benutzerdefiniertes HTML: Erstellen von Datums-/Zeitauswahlen
- Benutzerdefiniertes HTML: Erstellen von Kennwortfeldern
- Benutzerdefiniertes HTML: Erstellen von Signatureingabefeldern