Не получается. Может я не так атрибут в число перевожу?
нарисуйте 3 ячейки, в 1 - атрибут, в 2 атрибут с заменой точек/запятых, в 3 ToDouble(атрибут с заменой точек/запятых),
и вы увидите где ошибка.
У вас атрибут выглядит не верно в формуле. Должен быть [Объект учёта].[Атрибуты объекта учёта].[…
Обратите внимание на точки и скобки
Подниму тему! Ну никак не получается у меня использовать пользовательский атрибут в отчётах, вернее проблема возникает при переводе строки в число, что в дальнейшем затрудняет использование. Если атрибут не переводить - то отображается в отчёте, если перевожу - то пустота. В чём проблема??? Уже и форму отчётную другую делаю
Ничего не выходит. Даже если значение атрибута без запятой (целое) или разделитель “точка”. Пробовал и ToDouble и ToInt по инструкциям. Там не может быть проблема в “региональных настройках” (что за настройки?). или я какой-то источник данных не указал где-то или тип поля?
Создайте 3 вычисляемых поля:
- [Объект учёта].[Атрибуты объекта учёта].[URGn - УРГн]
- Replace([Поле1], ‘,’,‘.’)
- ToDouble([Поле2])
Привяжите эти поля к отдельным ячейкам в отчёте. Всё станет предельно наглядно.
Всё в точности с Вашей рекомендацией - Ну нет значения. просто атрибут как текст выводит, а остальных нет
Что не так? в чём проблема?
вы пытаетесь заменить запятую точкой, в ОС у вас настроен разделитель запятая. Поменяйте местами точку и запятую в выражении.
И похоже что-то с синтаксисом в выражении Replace(…). То ли апостроф не тот, то ли ещё что.
Как тут тему поменять? Проблема уже не в “применении правила форматирования”, а в невозможности атрибут объекта учёта в число перевести. Может товарищ @ryaysyanen поможет с решением?
Странное выражение вычисляемого поля.
ToDouble(Replace(?ПГ, ‘,’, ‘.’)) зачем знак вопроса?
Для вычисляемого поля PG не был задан источник данных, элемент данных и тип данных.
Удалите вычисляемое поле PG и пересоздайте его снова в узле Объект учета.
Не забудьте привязать вновь созданное поле к элементу управления label3
ПГ - это пользовательский параметр задаваемый в параметрах отчёта. Знак вопроса автоматически ставится, когда создаёшь выражение
Проблема не в ПГ- он отображается, (спасибо что поправили). Проблема в атрибутах объекта - они не отображаются и не применяются при дальнейших вычислениях при конвертировании из строки в число
котельная тэст1111.7z (4.2 КБ)
Уточните в вычисляемо поле PG пользовательский параметр для отчета или атрибут объекта учета?
Повторюсь: ПГ - это пользовательский параметр, не атрибут, с ним пока проблем нет.
Атрибуты объекта:
Ну и вставьте в вычисляемое поле нужный атрибут. Самое главное вычисляемое поле должно создаваться в узле Объект учета и задать источник данных, элемент данных и тип данных.
Или все же проблема использования пользовательского параметра в вычисляемом поле?
С преобразованием в число и параметра и атрибута проблема решилась. Теперь вопрос: где создавать вычисляемое поле, если используется атрибут из Объекта учёта и данные из Архивы потреблений?
И какие поля выбирать при создании правила форматирования, когда сравниваем значение вычисляемого поля из Архивы потреблений с Атрибутом?
Правило форматирования всё по прежнему не применяется
При использовании правил форматирования используемые в нем поля должны быть в одном узле, который является элементом источника данных отчета.
Пример создания вычисляемых полей с данными из разных узлов.
Вам надо создать вычисляемое поле, использующее атрибут, в узле Архивы потреблений и интеграторов.
Чтобы не гадать с региjнальными настройками, вот пример получения нужного разделителя целой и дробной части вещественного числа:
private string _decimalSeparator = new CultureInfo(“ru-RU”).NumberFormat.NumberDecimalSeparator;
Снова скрипты… Может уже модернизировать и упростить как то этот редактор отчётов, чтоб им могли пользоваться и гуманитарии и технари и все остальные? Ну не могу я писать скрипты. Или шаблоны скриптов создать, чтоб только необходимые источники подставлять или другой инструмент придумать для реализации таких задач . Александр, напишите пожалуйста шаблон, чтоб в Архивах потреблений расчёты с использованием атрибута производить.