Bei der Arbeit mit dem Programm 1C: Enterprise ist es sehr oft notwendig, den Cursor an der richtigen Stelle innerhalb der Programmoberfläche zu positionieren. Dies kann zum automatischen Ausfüllen von Feldern, zum Navigieren im Formular oder zum Aufrufen bestimmter Aktionen erforderlich sein. Das programmgesteuerte Setzen des Cursors ist eine der wichtigsten Aufgaben von Entwicklern und Automatisierern.
Verwenden Sie zum Festlegen des Cursors ein spezielles Objekt, "Benutzerschnittstellensteuerung". Sie können damit auf das aktuelle Programmfenster, die Steuerelemente und die Eingabefelder zugreifen. Um beispielsweise einen Cursor in ein Eingabefeld zu setzen, müssen Sie einen Verweis auf dieses Feld abrufen und die Methode "Fokus festlegen()" verwenden. Auf diese Weise wird der Cursor an der richtigen Stelle positioniert, bereit, Eingaben vom Benutzer zu akzeptieren.
Neben dem Festlegen des Cursors in das Eingabefeld können Sie mit dem Objekt "Benutzerschnittstellensteuerung" auch andere Elemente der Benutzeroberfläche steuern, z. B. Schaltflächen, Listen, Kontrollkästchen usw. Mit diesem Objekt können Sie auch Informationen zu den Elementen der Benutzeroberfläche abrufen, deren Verfügbarkeit überprüfen und auf verschiedene Ereignisse reagieren, die während der Arbeit mit dem Programm auftreten.
Geben Sie den Fokus an ein Element auf einem Formular weiter
Um den Cursor programmgesteuert auf 1C zu setzen, müssen Sie den Fokus an das Element auf dem Formular übergeben. Dies kann mit der Methode Fokus des Steuerelementobjekts festlegen erfolgen.
Es folgt ein Beispielcode in 1C:Enterprise, der veranschaulicht, wie der Fokus auf eine Schaltfläche gesetzt wird:
Форма = Новый Форма("МояФорма");Кнопка = Форма.ЭлементыФормы.Кнопка1;Кнопка.УстановитьФокус();
In diesem Beispiel wird ein Formularobjekt "Mein ForMular" erstellt. Sie erhalten dann einen Verweis auf eine Schaltfläche mit dem Namen "Button 1" und rufen die Methode Fokus für diese Schaltfläche festlegen auf. Dadurch wird der Fokus auf diese Schaltfläche gesetzt.
Mit der Methode Fokus festlegen können Sie den Cursor programmgesteuert auf ein beliebiges Formularsteuerelement auf 1C setzen. Dies ist besonders nützlich, wenn Sie ein Formular mit einem Skript verwalten müssen.
Verwenden der Methode Fokus für ein Formularobjekt festlegen
Mit der Methode Fokuseinstellung können Sie den Cursor programmgesteuert in das gewünschte Formularfeld in der Informationsbasis 1C: Unternehmen setzen.
Um diese Methode verwenden zu können, müssen Sie das Formularobjekt abrufen, in dem sich das gewünschte Feld befindet.
Beispiele für die Anwendung der Methode:
-
Legt den Cursor im Feld "Name" des Objekts "Waren" im Formular "Waren" fest.Katalog" im Kontext der Eigenschaft "Aktuelles Element" des Formulars:
Форма = Новый ФормаОбъекта("Товары.Каталог");Форма.ТекущийЭлемент = Форма.ЭлементыФормы.Наименование;Форма.УстановитьФокус();
Форма = Документы.ЗаказПокупателя.Форма;Форма.ЭлементыФормы.Дата.УстановитьФокус();
Die Methode Fokus festlegen ist ein praktisches Werkzeug, um die Arbeit mit Formularfeldern in 1C zu automatisieren, sodass Sie den Cursor auf das gewünschte Feld setzen und es für die Dateneingabe aktiv machen können.
Erstellen eines Ereignisses auf einem Formular, um den Fokus festzulegen
Sie können das Formularereignis verwenden, um den Cursor programmgesteuert auf 1C zu setzen, das ausgelöst wird, wenn das Formular geladen wird oder wenn ein bestimmtes Benutzerinteraktionsereignis auftritt.
Führen Sie die folgenden Schritte aus, um ein Ereignis zum Festlegen des Fokus zu erstellen:
- Öffnen Sie das Formular, auf dem Sie den Cursor platzieren möchten.
- Wechseln Sie zum Formular-Designer, und wählen Sie das Element aus, auf das Sie den Fokus setzen möchten.
- Doppelklicken Sie auf das ausgewählte Element, um in den Bearbeitungsmodus für Elementereignisse zu wechseln.
- Wählen Sie in der Liste der verfügbaren Ereignisse "Beim Ändern des Werts" aus
- Fügen Sie im folgenden Fenster des Skript-Editors den folgenden Code hinzu:
Форма.ПолеВвода1.УстановитьФокус();
Dabei steht "Form" für den Namen des Formulars, "Feldwasser1" für den Namen des Elements, auf das Sie den Fokus setzen möchten.
Nachdem Sie den Code hinzugefügt haben, speichern Sie die Änderungen, und schließen Sie den Ereigniseditor.
Wenn Sie nun das Ereignis "Bei Wertänderung" ausführen, wird der Fokus auf das ausgewählte Formularelement gesetzt.
Festlegen des Fokus auf ein Element mithilfe der Abfragesprache
Um den Fokus auf ein Element mithilfe der Abfragesprache in 1C festzulegen, müssen Sie die folgenden Schritte ausführen:
- Bestimmen Sie die ID des Elements, auf das Sie den Fokus setzen möchten. Dies kann beispielsweise ein Eingabefeld oder eine Schaltfläche sein.
- Verwenden Sie die Abfragesprache 1C, um nach einem Element mit dieser ID zu suchen. Dazu können Sie die Funktion "Formularelemente" verwenden.
- Stellen Sie den Fokus auf das gefundene Element mithilfe der Methode "Fokus festlegen" ein.
Beispielcode zum Festlegen des Fokus auf ein Element mit einer angegebenen ID:
// Определение идентификатора элементаИдентификаторЭлемента = "ПолеВвода";// Поиск элемента с заданным идентификаторомЭлемент = ЭлементыФормы.Найти(ИдентификаторЭлемента);// Установка фокуса на найденный элементЭлемент.УстановитьФокус();
So können Sie mit der Abfragesprache 1C programmgesteuert den Fokus auf das gewünschte Formularelement legen und die Benutzerfreundlichkeit des Systems gewährleisten.
Programmgesteuerte Steuerung des Fokus beim Navigieren im Formular
Die Steuerung des Fokus in Programm 1C kann mithilfe von Methoden und Eigenschaften von Formularobjekten realisiert werden. Dadurch können Sie das aktive Element programmgesteuert festlegen, auf das der Cursor beim Navigieren durch das Formular gesetzt wird.
Sie können die Eigenschaft "Aktuelles Element" verwenden, um den Fokus auf ein bestimmtes Formularelement in 1C zu setzen. Wenn Sie beispielsweise den Fokus auf ein Textfeld mit der ID "Textfeld1" setzen möchten, müssen Sie den folgenden Code ausführen:
Форма.ТекущийЭлемент = Форма.ЭлементыФормы.ТекстовоеПоле1;
Wenn dieser Code ausgeführt wird, wird der Cursor auf das Feld Textfeld1 gesetzt und der Benutzer kann die Daten sofort eingeben, nachdem das Formular geöffnet wurde.
Außerdem können Sie beim Navigieren in einem Formular die Methode "Fokus festlegen()" verwenden, mit der Sie programmgesteuert den Fokus auf ein Formularelement setzen können. Wenn Sie beispielsweise den Fokus auf eine Schaltfläche mit der ID "Taste 1" setzen möchten, müssen Sie den folgenden Code ausführen:
Форма.ЭлементыФормы.Кнопка1.УстановитьФокус();
Mit dieser Methode können Sie auch den Cursor auf ein bestimmtes Formularelement setzen, wenn Sie durch das Programm navigieren.
So ermöglicht die programmgesteuerte Fokussteuerung beim Navigieren durch ein Formular in 1C eine bequeme Cursor-Einstellung auf das gewünschte Element und verbessert die Benutzerfreundlichkeit des Programms für die Benutzer.
Arbeiten mit dem Cursor in Formularlayouts und -vorlagen
In 1C ist es möglich, den Cursor programmgesteuert in Formularlayouts und -vorlagen zu setzen, um den Fokus beim Start des Programms zu steuern. Die Verwendung des Cursors erfolgt mithilfe von Ereignissen und Methoden des Objekts.
Sie können das OnActivate-Ereignis verwenden, um den Cursor auf ein bestimmtes Formularfeld zu setzen. Wenn das Formular aktiv wird, wird dieses Ereignis ausgelöst, wenn das Programm ausgeführt wird. Im Ereignishandler können Sie angeben, in welchem Feld der Cursor platziert werden soll:
Procedure Form_OnActivate(Cancel)ЭлементОткрытияФормы.Поле.УстановитьФокус();EndProcedure
Dieser Code setzt den Fokus auf das Feld "Feld", wenn das Formular aktiviert wird.
Wenn Sie den Cursor auf das Formularlayout setzen möchten, können Sie die SelStart-Methode verwenden. Mit dieser Methode können Sie die Texteingabeposition im Layout angeben. Zum Beispiel, um den Cursor an den Anfang des Layouts zu setzen:
ЭлементОткрытияФормы.Макет.СелСтарт = 0;
Und um den Cursor am Ende des Layouts zu setzen, können Sie die SelLength-Methode verwenden :
ЭлементОткрытияФормы.Макет.СелСтарт = ЭлементОткрытияФормы.Макет.КонСтр();
So können Sie mithilfe von Ereignissen und Methoden in 1C den Cursor programmgesteuert in Formularlayouts und -vorlagen festlegen, um den Fokus beim Starten des Programms zu steuern.