• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Вывести переменную на шаблон

Автор F0bo$, 03.08.11, 10:58:06

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

F0bo$

Добрый день, коллеги!
Подскажите, как в "менеджере отчетов" вывести значение переменной на лист? Речь как о переменных из  диалога "Переменные", так и о VBS- переменных, которые можно самостоятельно объявлять.

Вячеслав

Добрый день!
Слишком общо задачу обрисовали, без конкретики.
Переменные хотя бы описали, где используете...

F0bo$

прошу прощения, если неясно....
моя конкретная цель - пользователь с готовой технологией переходит на вкладку "комплект карт", нажимает кнопку "параметры", вводит некоторую строку, нажимает "формировать" и эта строка определенным мной образом выводится на моих картах.

Как получить возможность ввода своей строки в "параметры" известно - через диалог "переменные" менеджера отчетов. Как я понимаю, переменные созданные здесь - просто глобальные (как если бы их объявить в "Параметры формирователя"->"Глобальные функции").

Мне была бы полезна информация, как вывести ЛЮБУЮ переменную, объявленную пользователем самостоятельно в любой VBS-функции.

Вячеслав

Тогда Вам нужно запрос в техподдержку оформить...

tur

Цитата: F0bo$ от 04.08.11, 10:24:01
прошу прощения, если неясно....
моя конкретная цель - пользователь с готовой технологией переходит на вкладку "комплект карт", нажимает кнопку "параметры", вводит некоторую строку, нажимает "формировать" и эта строка определенным мной образом выводится на моих картах.


А зачем так сложно?
Проще это вывести из самого ТП. Пользователь открывает технологию вводит в техпроцесс некоторую строку, нажимает "формировать" и эта строка определенным мной образом выводится на моих картах.

F0bo$

такой вариант я не рассматривал......
а куда можно бы было это вписать? Не создавать же новую операцию/переход ради таких целей.... Использовать ради этого комментарии тоже не совсем правильно. Возможно ли ручное добавление полей во вкладку "Атрибуты"? Это было бы идеальным решением вопроса

tur

Создайте новый строковый атрибут например в классе dseunit и выведете его куда вам нужно, хоть в заголовок, хоть в текст техпроцесса.

Можно воспользоваться готовым комментарием в карты для ДСЕ, он выводится перед техпроцессом на первой странице.

Цитата: F0bo$ от 05.08.11, 09:25:51
.... Возможно ли ручное добавление полей во вкладку "Атрибуты"? Это было бы идеальным решением вопроса

В ВЕРТИКАЛЬ-Конфигуратор добавьте что Вам нужно.

F0bo$

#7
tur, спасибо!! Это отлично работающий метод.
Однако, я бы хотел расширить его с использованием переменных карты.

Я ввел новый атрибут класса dseunit (tableno), он появился на вкладке Атрибуты, но я бы хотел иметь возможность изменять его через кнопку "параметры" вкладки "комплект карт". Для это я создал переменную в свойствах документа редактора шаблонов (table_no). Помещаю на карту атрибут dseunit.tableno, в "Функция" добавляю строку   obj.vrAttrByName("tableno").vrValue = table_no и ничего не выводится. Попробовал obj.vrAttrByName("tableno").vrValue = rptBuilder.rVariable("table_no") - тоже ничего. При этом, если сделать, скажем, obj.vrAttrByName("tableno").vrValue = 4, то все проходит нормально. Почему нельзя так использовать переменную?

tur

Цитата: F0bo$ от 05.08.11, 15:47:57
Я ввел новый атрибут класса dseunit (tableno), он появился на вкладке Атрибуты, но я бы хотел иметь возможность изменять его через кнопку "параметры" вкладки "комплект карт". Для это я создал переменную в свойствах документа редактора шаблонов (table_no). Помещаю на карту атрибут dseunit.tableno, в "Функция" добавляю строку   obj.vrAttrByName("tableno").vrValue = table_no и ничего не выводится. Попробовал obj.vrAttrByName("tableno").vrValue = rptBuilder.rVariable("table_no") - тоже ничего. При этом, если сделать, скажем, obj.vrAttrByName("tableno").vrValue = 4, то все проходит нормально. Почему нельзя так использовать переменную?


А тут rptBuilder.rVariable("table_no") буква не пропущена?

Совсем непонятно, что это за переменная, для чего её возможно использовать. Если возможно то поподробней объясните.

F0bo$

Где именно? Имя переменной скопировано, объект и метод вставлены автодополнением кода...

tur

Не уверен поэтому и спросил - rptBuilder.vrVariable("table_no")

F0bo$

Цитата: tur от 05.08.11, 16:32:49
,,,
Совсем непонятно, что это за переменная, для чего её возможно использовать. Если возможно то поподробней объясните.
эта переменная, созданная как показано на скрине. Цитата из "ВЕРТИКАЛЬ_Руководство_администратора":
Цитировать7.3.2  Переменные карты
Для  гибкости  формирования  карты  пользователем  может  быть  задан  некоторый  набор
переменных,  которые  будут  инициализированы  при  формировании  отчета.

Т.е. по идее это переменные, такие же, как если их создать в разделе "Глобальные функции" ("Параметры формирователя"), но начальное значение им задает пользователь, перед тем, как сформировать карту (Кнопка "Параметры" "Формирователя карт"). Так должно быть, но так не получается.........

На текущий момент это оставшаяся часть вопроса, все остальное работает.

tur

Всё равно непонятно, что вы пытаетесь "построить".

F0bo$

Все, спасибо тех поддержке, проблема закрыта!!!
Итак, подытожив, имеем 2 способа добавления пользовательской информации на карту:

  • Добавить новые dseunit-атрибуты в Вертикаль-Конфигуратор, выводить их на карту и заполнять в разделе "Атрибуты" в Вертикали
  • В свойствах шаблона в "Менеджере отчетов", в функции PageBeforeFill использовать следующий код:
      PageBeforeFill = 0
      for i = 0 to page.rItemCount-1
        if page.rItem(i).rName = "текст1" then
          page.rItem(i).rAsTextBlock.rText = rptBuilder.rActiveBuild.rVariable("var")
        end if
      next
    (текстовый элемент с соответствующим именем должен присутствовать на шаблоне, переменная var - создана в диалоге (п.п. 7.3.2 руководства администратора))

2tur:
Есть форма, на которой присутствует таблица, ее номер автоматически никак не расчитать, его надо вводить вручную, так же в этой форме можно указывать схожие изделия (изготавливаемые по похожей технологии). Вот эти данные я и хочу вводить с помощью переменных.

Спасибо всем на участие!!!!!!