Здравствуйте! Необходимо понять принцип использование своих классов. Создал в конфигурации файл с исходным кодом (назвал данный файл к примеру GetTextSourceCode):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.IO;


        public class MessageBoxMy {
                private string txt;
               
                MessageBoxMy(string text) {
                        this.txt = text;
                }
                public string  ShowMessage() {
                        return txt;
                }
        }

Далее я создаю страницу на которой одна кнопка и Label, куда по нажатию на кнопку будет выводится текст. Как создать объект данного класса в скрипте обработчика события по нажатию на кнопку? Необходимо или нет использовать в классе пространство имен?

Нравится

8 комментариев

Почти аналогичный вопрос, а также во избежании некоторых тупых вопросов, можно ли где-нибудь увидеть примеры? Если зависит от версии, то для 5.2.0.

Здравствуйте!

Обращаться к классу можно следующей конструкцией:

return Terrasoft.Configuration.<имя_класса>.<имя_метода>(<параметры>);

Спасибо, попробую:smile:

"Alimova Anna" написал:

Здравствуйте!

Обращаться к классу можно следующей конструкцией:

return Terrasoft.Configuration.<имя_класса>.<имя_метода>(<параметры>);

Данный метод не сработал. Не находит мой класс:
"The type or namespace name 'MessageBoxMy' does not exist in the namespace 'Terrasoft.Configuration' (are you missing an assembly reference?)"
Configuration находится в Terrasoft.Core.Configuration. Но и это тоже не работает, выдает ту же ошибку

Здравствуйте, Александр.

Возможно, вы не сохранили схему исходного кода GetTextSourceCode или не опубликовывали ее? Это необходимо сделать, чтобы созданный вами класс был скомпилирован, после чего он будет "виден" для других элементов конфигурации.
Также, мне кажется, имеет смысл объявить конструктор класса MessageBoxMy как public...

Документация по разработке в BPMonline находится здесь - http://www.terrasoft.ru/bpmonlinesdk/

Не получается. Создаю исходный код с классом . добавляю нужные ссылки, создаю класс, опубликовываю. Далее генерирую исходный код для данного элемента(правой кнопкой по элементу->исходный код->сгенерировать для выделенных элементов) . Затем создаю событие от нажатия на кнопку, и в этом событие в скрипте пытаюсь обратиться к классу "Terrasoft.Configuration.Название класса .Название метода(параметры)". Но при этом выдает ошибку что такого типа не существует. Может метод зависит от версии приложения? У меня BPMonline Версия 5.4.0.591 On-Demand

Александр,

Попробуйте все таки обратиться к классу без указания пространства имен.

Я повторила ваш пример - создала файл с исходным кодом для класса MessageBoxMy (но с конструктором public), скомпилировала, затем в обработчик кнопки добавила код:

MessageBoxMy mb = new MessageBoxMy("Text");
Page.Label1.Caption = mb.ShowMessage();

Все получилось. Спасибо

Показать все комментарии