Автор Тема: Расчетное поле, неоднозначное поведение  (Прочитано 445 раз)

artem

  • Гость
Столкнулся с неоднозначным поведением расчетного поля, когда там используется ссылка на другой объект, если тот не задан. При первом создании записи в Объекте1 это поле пустое, но если вызвать запись на редактирование, то поле принимает значение 0. Такое поведение затрудняет фильтрацию в формах.

Прикладываю пример проекта для руны 5.1. При первичном создании записи они не появляются в "Объект1 форма", т.к. не срабатывает проверка на равенство нулю поля Расчет. Просьба исправить.

 [ You are not allowed to view attachments ]

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Расчетное поле, неоднозначное поведение
« Ответ #1 : Июль 15, 2016, 06:20:12 pm »
Логично, что числовое поле, независимо от того, является оно независимым или ссылкой, а если ссылкой - то имея или не имея значения, должно в любом случае возвращать число, а не "пусто".
Поставим в доработку.

artem

  • Гость
Re: Расчетное поле, неоднозначное поведение
« Ответ #2 : Июль 21, 2016, 10:07:46 am »
Логично, что числовое поле, независимо от того, является оно независимым или ссылкой, а если ссылкой - то имея или не имея значения, должно в любом случае возвращать число, а не "пусто".
Поставим в доработку.
Добрый день.
Проверил исправление на версии от 19 июля. Все равно работает не совсем правильно (см. пример test2)
Если ссылка на объект на форме скрыта, то расчетное поле отображается правильно (Расчет[Объект2.Число] = 0), а если ссылку на объект отображать, то почемуто расчетное поле пустое (Расчет[Объект3.Число] = "").

artem

  • Гость
Re: Расчетное поле, неоднозначное поведение
« Ответ #3 : Июль 28, 2016, 10:41:57 am »
В версии 5.1.0 от 25 июля все работает как надо.
Спасибо.

porqes

  • Ученик
  • *
  • Сообщений: 8
  • Благодарностей 0
Re: Расчетное поле, неоднозначное поведение
« Ответ #4 : Август 13, 2016, 02:32:09 pm »
Добрый день,
изучаю Runa. Впечатления отличные. Сравниваю с 1С. Многие вещи реализуются гораздо проще. Но есть и куча вопросов.
Решил ради интереса разработать программу расчета потребностей в материалах для ремонта зданий на основании сборников ГЭСнр.
Недоработанный проект и скрин во вложениях. Версия 5.1.0.
Вопрос: пытаюсь создать расчетное поле "Количество итого" путем умножения двух ссылочных полей. В итоге выдает просто строку расчета.
Даже не знаю что и делать. В справке и видео ответов не нашел. Помогите.

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Расчетное поле, неоднозначное поведение
« Ответ #5 : Август 13, 2016, 02:38:24 pm »
1. Для вычислений надо использовать расчётное поле. В данном случае использовано составное поле, которое и служит для "составления" значений из других полей, воспринимая их исключительно как текстовые.
2. Операции вычисления можно проводить только над числовыми или расчётными полями, которые в базе имеют числовой тип. Использовать ссылочные поля нельзя, так как они служат лишь для визуального отображения информации из ссылочных объектов.
Т.е. надо добавить числовые поля, в них свойству "Копия из" указать ссылку на объект-поле, из которого копировать данные, и уже над ними производить расчёты в соответствующем поле.
Если останутся вопросы - задавайте.

porqes

  • Ученик
  • *
  • Сообщений: 8
  • Благодарностей 0
Re: Расчетное поле, неоднозначное поведение
« Ответ #6 : Август 13, 2016, 03:38:46 pm »
Все получилось, спасибо!

porqes

  • Ученик
  • *
  • Сообщений: 8
  • Благодарностей 0
Re: Расчетное поле, неоднозначное поведение
« Ответ #7 : Август 13, 2016, 03:50:08 pm »
Все получилось, но...
из-за того, что имеем дополнительные поля, копирующие данные из существующих, дабы не смущать пользователей излишними повторяющимися полями, надо придумать механизм из скрытия....
Перенос их в другую вкладку не вариант...
Т.е. добавить параметр: видимый на форме или скрытый

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Расчетное поле, неоднозначное поведение
« Ответ #8 : Август 13, 2016, 04:38:13 pm »
Почему не вариант? Так поля в конструкторе и скрываются: закидываются не нужные (или требующие скрытия) на одну вкладку, а она убирается из отображения на форме (Управление - Вкладки - видимые).

porqes

  • Ученик
  • *
  • Сообщений: 8
  • Благодарностей 0
Re: Расчетное поле, неоднозначное поведение
« Ответ #9 : Август 13, 2016, 04:53:01 pm »
Для этого необходимо создавать форму связи. Ну да, это вариант. Спасибо.

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Расчетное поле, неоднозначное поведение
« Ответ #10 : Август 13, 2016, 05:00:38 pm »
Объект - это информация в "голом" виде, так сказать видимая без прикрас. Это базовый элемент структуры, инструмент разработчика. Если он сам работает с данными, то зачем там нужна красота? К примеру истинные ценители "железа" любили работать без крышек на системном блоке.  :)
А форма - это "форма", в которую можно облачить данные объекта, придав им нужную "форму" (извинения за тавтологию, но как есть). Ну и плюс дополнительные инструменты, расширяющие возможности базового элемента.

porqes

  • Ученик
  • *
  • Сообщений: 8
  • Благодарностей 0
Re: Расчетное поле, неоднозначное поведение
« Ответ #11 : Август 13, 2016, 05:15:47 pm »
Получается, у каждого объекта БД должна быть визуальная форма, которую пользователь и должен видеть (а не "голую" таблицу). Все правильно.
Еще вопрос (извиняюсь за то, что не в тему ветки): программа предусматривает одновременную работу в едином окне и программиста и пользователя. Есть возможность скрытия работы с конструктором (хотя бы через пароль)? Или это возможно только в многопользовательской версии?

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Расчетное поле, неоднозначное поведение
« Ответ #12 : Август 13, 2016, 05:34:31 pm »
Кроме того, что форма связи над объектом позволяет настроить отображения данных из этого объекта (http://runabase.ru/help/structure.html#link), но она также убирает чисто админские возможности по удалению всех записей в объекте (от кривых ручек), а также импорт/экспорт данных объекта (от хитрых и рыжих).
Кроме того можно вообще убрать правую детализацию, оставив лишь один список.

Ну это не единая работа, а просто работа с данными доверенным пользователем, который может быть кем угодно. Зачем скрывать от себя свою же структуру? А вот при работе нескольких людей уже полностью положиться на каждого не всегда разумно - лишь в этом случае есть смысл и необходимость закрыть структуру. К тому-же в менеджере имеется инструмент фиксации каждого телодвижения всех работников - кто что создал/изменил/удалил, чтобы иметь представление, у кого откуда руки растут.

porqes

  • Ученик
  • *
  • Сообщений: 8
  • Благодарностей 0
Re: Расчетное поле, неоднозначное поведение
« Ответ #13 : Август 13, 2016, 05:50:41 pm »
Спасибо. Есть еще вопрос. Задам в другой ветке.

 

Яндекс.Метрика