Тема: Быстрое создание формы ввода для заполнения данных пользователем

Очень часто в макросах требуется чтобы пользователь заполнил множество входных данных, которые потом будут использоваться для работы макроса или для записи данных в TechnologiCS.

Для этого хорошо подходят формы ввода.
Однако когда данных очень много, создавать такую форму достаточно муторно и долго ( хотя формы ввода и позволяют нарисовать довольно красивую и удобную форму).

Для ввода множества данных часто можно использовать  UserGModule. Тогда данные будут представлены в виде сетки, однако нужно все равно писать свои библиотеки по вводу данных.

В TechnologiCS 6.3 есть еще одна удобная и быстрая возможность создавать такие формы - это использование ICSDNAxDbTree.

Во вложении к данному сообщению приведен пример такой формы ввода.

Мы прямо в коде задаем значения, которые пользователь должен заполнить, после чего показываем эту форму в виде дерева/сетки и пользователь заполняет эти значения, причем легко используются специальные контролы для исключения ошибок ввода, и можно так же использовать прочие формы/справочники.


Итак импортируем файл TreeViewInputValues. В модуле скриптов запускаем макрос Тестирование формы ввода и без труда получаем такую формочку
http://forum.technologics.ru/misc.php?action=pun_attachment&item=820

проходим по колонке значение и изменяем его (клавиша F2) и после ее работы легко получаем результаты. На создание такой формы требуется минимум времени и усилий.



Надеюсь данный пример будет полезен.

Post's attachments

1.png 21.73 Кб, 1 скачиваний с 2015-02-20 

2.png
2.png 6.25 Кб, 4 скачиваний с 2015-02-20 

TreeViewInputValues.eiScript 27.64 Кб, 13 скачиваний с 2015-02-20 

You don't have the permssions to download the attachments of this post.
Спасибо сказали: Дмитрий Гамий1

2

Re: Быстрое создание формы ввода для заполнения данных пользователем

Здравствуйте.
Не нахожу в макрос "Тестирование формы ввода".
Подскажите пожалуйста где его можно взять.
Спасибо.

3 (изменено: Дмитрий Гамий, 22-07-2016 10:05:17)

Re: Быстрое создание формы ввода для заполнения данных пользователем

lesvg пишет:

Не нахожу макрос "Тестирование формы ввода".
Подскажите пожалуйста где его можно взять.

Скорее всего, в вашей базе данных его нет. Добавьте в скриптовый модуль справочника "Скриптовые модули" (обычно это CSDN_Scripts) следующий код:

Sub FormMacro_TestInputForm(TCSActiveModule)'Проверка формы ввода
    
    Dim ModuleName ' As String Название модуля
    Dim TCSForm ' As ITCSForm Проверяемая форма ввода
    
    LogObject.ScriptTimeOut = 0 
    
    ModuleName = TCSActiveModule.Properties("SCRIPT_SOURCE_NAME").DisplayText 
    
    If TCSActiveModule.Properties("SCRIPT_SOURCE_TYPE").AsInteger = 1 Then
        Set TCSForm = TCSApp.TCSForm(ModuleName, False )
        
        If TCSForm.Caption="" Then 
          TCSForm.Caption = "Тестируем форму ввода: " + ModuleName
        End If
        
        TCSForm.ShowModal
        Set TCSForm = Nothing   
    Else
        TCSApp.ShowErrorMessage "Скриптовый модуль """ & ModuleName  _
            & """ не является формой ввода!" & vbNewLine _
            & "Выберите модуль формы ввода."    
    End If ' TCSActiveModule.Properties("SCRIPT_SOURCE_TYPE").AsInteger = 1     
End Sub

Потом - добавьте сам макрос  "Проверка формы ввода".

Спасибо сказали: lesvg1