Формы списков объектов, списков форм связей и формы итогов, что лучше?

Статус
В этой теме нельзя размещать новые ответы.

Aleks

Продвинутый
Создаёте рядом с объектом форму над этим объектом, и не надо делать двойной клик - хватит и одинарного, но чуточку ниже.
Чудо - оно всегда рядом, надо лишь в него поверить.

Вот это я не понял совсем, можно ли подробнее?

Глобально вопрос такой - считаете ли вы что дочерние объекты являются неотъемлемой частью формы связи? Из ваших ответов, я понял, что "Да".
Например, я просматриваю список Заказов (формы связи). Когда я нажимаю кнопки "Создать", "Изменить" я бы логично ожидал открытие формы связи объекта, вместе с доступом к дочерним объектам, а не открытие объекта.

Пока получается, что форма связи не столько даже форма объекта, сколько инструмент построения списков объектов и связей и инструмент наложения ограничений в сетевой версии.
При этом, например, базовая функция списка - сортировка, почему-то относится к объекту, а по логике - это свойство списка.

Форму самого объекта (цвета, расположение по закладкам и проч.) - его детализация, все равно настраивается в самом объекте, так что утверждние
Форма в программе - это как одежда (форма) для человека. Что одел - так и воспринимают.
не совсем корректно.

Похоже и мой первоначальный вывод также не совсем верный:
Очевидно термин "Форма связи" не вполне корректный - правильно было бы назвать Форма объекта

Я бы акцентировал на том, что это форма элемента, что объект - это моделирование данных, Форма связи - способ представления данных. В моей голове прочно сидело, что Форма связи штука создается только для создания связей.
 

Aleks

Продвинутый
Давайте вернемся к простой утилитарной задаче из которой все выросло.

Вот есть Форма свзяи Заказы. У заказов много реквизитов и 5 дочерних списков, из-за этого даже с учетом закладок, вся информация по заказу с дочерними списками занимает внушительную часть экрана.
Поэтому есть такой логичный вопрос - прятать детализацию вместе с дочерними объектами совсем, дать возможноть отразить заказы списком с видимыми 6-7 ключевых реквзитами (6-7 реквизитов - это не моветон, это приятный минимум для списка). При необходимости, открывать детализацию вместе с дочерними списками быстрыми клавишами.
Можете по рекомендовать здесь что-то? Какие то лучшие практики из опыта работы в Руне?

Схлопывание - то что сделано в версии 6.0.20 - это уже хорошо. Когда добавятся горячие клавиши будет еще лучше. Но тут (может это и клише), я бы ожидал открытия детализации и дочерних объектов сразу по двойному клику или по кнопке изменить или создать.
 

Aleks

Продвинутый
Жаль что на форуме нельзя редактировать собственные сообщения или удалять их, иначе получается поток сознания: пишу, перечитываю, потом осознаю, что снова не так мыслю, как Руна:)

Всё в слове форма. Форму, как и вы я определяю как способ визуального отражения данных. То есть форма в моем понимании - это скорее Детализация в терминах Руны. Вот это правое окно состоящее из детализации объекта и отображения дочерних списков, для меня всегда и была формой связи. Поэтому я все время хочу ее отображения:) Теперь я понимаю, что это не так, что Форма связи - это никакая не визуальная форма, а набор правил и фильтров, определяющих:
1. Cвязи с дочерними объектами,
2. Ограничения доступа к реквизитам
3. Правила формирования списка объектов (здесь вот пожалуй она чуть-чуть визуальная "Форма").

Наверное здесь философию нужно закрывать, у меня остается только конкретный вопрос по рекомендациям из поста выше №22.
 

Aleks

Продвинутый
По поводу Формы Итогов. Смысл стал понятен спустя время.

Суть формы итогов - сбор данных, расчёт итогов.
Не стоит применять такой сложный инструмент для таких тривиальных задач, как просто отображение данных или получение суммирующего значения. Данная форма может производить выборку данных из любого количества объектов, имеющих ссылку на родительский. При этом там настраиваются диапазон выборки данных, выставляется неограниченное число условий отбора данных, производятся взаимные вычисления и прочее.

Однако, вот возникает путаница и я провел довольно много времени делая бесполезную работу.
Если форма итогов предназначена ТОЛЬКО для калькуляции в разрезе дочерних объектов, то почему не запретить создавать эту форму во всех других случаях, если это принципиально неверный подход?
Кроме того, кнопки "Создать" и "Изменить" - какой они имеют смысл в отчетах с агрегированными итоговыми данными? Это сбивает с тольку, кажется что с помощью этой формы можно создавать списки объектов.
 

Vladimir

Администратор
Команда форума
Хорошо что я написал такой развернутый текст:)
Нас радует, когда человек серьёзно задаётся вопросами. И нет ничего плохого в том, что на каком-то этапе он не видит всю картину целиком. Важен не текущий результат, а движение. Кто-то потиху разбирается сам, а кто-то стремиться добраться до "истины" максимально быстро. Все пути хороши, у каждого свои особенности и преимущества.
Глубокие вопросы требуют глубоких ответов. Приятно поделиться своими мыслями в ответ на настоящий интерес.
 

Vladimir

Администратор
Команда форума
Очевидно термин "Форма связи" не вполне корректный - правильно было бы назвать Форма объекта
По сути все формы - это формы над объектом.
Перед нами стояла совсем не тривиальная задача: создать инструмент для создания программ, не имеющего в себе программирования. Было понятно, что в лоб такая задача неосуществима. Опыт многих разработок и информация о множестве попыток других людей и организаций в этой области говорил, что привычными методами цель не достигнуть. Надо было искать другой путь, по которому ещё никто не шёл.
Интересно в этой связи отметить, что редкие попытки скопировать нашу идею закончились привычным возвращением в известную для них область. Ещё одно подтверждение того, что нельзя просто взять и скопировать идею на каком-то этапе её реализации. Это напоминает анекдот про то, что как не пытаются что-то своё сделать - всё равно танк получается.
Объект в конструкторе - это совсем не таблица в базе данных. Кроме самой структуры данных, объект содержит дополнительные поля, которые служат для дополнительной обработки данных. И его нельзя было назвать таблицей. Больше тут для него подошёл именно термин "объект", так как он содержит как то, что является предметом обработки (информация), так и частичные средства для этой обработки (отдалённый привет принципам ООП).
Аналогично и форма: каждая форма служит для расширения возможностей уже существующего объекта. Поэтому дать точные названия для инструментов, назначение которых достаточно широко - достаточно сложно.
В обычном программировании имеет место относительно строгая иерархия уровней: хранение, обработка, анализ и визуализация. Для решения поставленной перед собой задачи эти уровни для пользователя размываются. Тут приходится учитывать особенности логики и восприятия обычного человека.
Поэтому не стоит в Руне искать чётких терминов для каждого элемента конструктора. Вот тут и кроется камень преткновения для специалистов, и открытая дорога для людей, не знакомых с программированием: они берут наш инструмент без заранее известных схем в сознании и, не задумываясь особо над терминологией, реализуют с его помощью свои задачи.
Как ни странно, но самые большие проблемы в жизни мы создаём для себя сами. И пример этому - дети, гениальность у которых заложена изначально, в силу отсутствия привычных способов восприятия информации.
 

Vladimir

Администратор
Команда форума
Вот это я не понял совсем, можно ли подробнее?
Можно создать множество форм над одним объектом с разными представлениями хранящейся в объекте информации. Остаётся лишь выбирать нужную форму: со списками или без, с краткой информацией или полной, с детализацией или без и пр.
Объект скрывается и оставляется лишь работа с формами над этим объектом.
 

Vladimir

Администратор
Команда форума
Глобально вопрос такой - считаете ли вы что дочерние объекты являются неотъемлемой частью формы связи? Из ваших ответов, я понял, что "Да".
Нет, конечно нет.
Надо вам переоформить объект для различных целей - создали форму связи и сделали то, что надо. Дочерние объекты в данной форме - лишь один из её инструментов.
 

Vladimir

Администратор
Команда форума
Пока получается, что форма связи не столько даже форма объекта, сколько инструмент построения списков объектов и связей и инструмент наложения ограничений в сетевой версии.
Форма связи включает в себя инструменты:
- представление данных объекта;
- работа со связями;
- настройка уровней доступа в сетевой версии.
Можно сказать, что форма связи является дополнением и расширением для поля Объект. Она автоматически создаёт данное поле в нужном объекте и предоставляет удобный способ просмотра данных для созданного системного поля. Поэтому зачастую надо не самому создавать поле объекта, а позволять системе его создать. Но это уже другая область для обсуждения.
 

Vladimir

Администратор
Команда форума
При этом, например, базовая функция списка - сортировка, почему-то относится к объекту, а по логике - это свойство списка.
Список записей - это неотъемлемая часть представления данных в программе. Свойства в Руне есть только у тех элементов системы, которые очевидно доступны пользователю: объект, форма, поле, операция и др. Попытка привнести в данную схему свои представления о других продуктах лишь приведёт к усложнению восприятия программы. И понять Вас никто не сможет, если Вы будете пытаться говорить о конструкторе с позиции своих представлении и программах.
 

Vladimir

Администратор
Команда форума
я бы ожидал открытия детализации и дочерних объектов сразу по двойному клику или по кнопке изменить или создать.
Не понял вопроса. Форма связи содержит детализацию и дочерние списки. Открывается форма по кнопке в левом меню. Что надо открывать по двойному клику ил по кнопке "Изменить"? Учитывая возможность скрытия детализации с дочерними списками.
 

Vladimir

Администратор
Команда форума
Если форма итогов предназначена ТОЛЬКО для калькуляции в разрезе дочерних объектов, то почему не запретить создавать эту форму во всех других случаях, если это принципиально неверный подход?
Что подразумевается под "другими случаями"?
Наверно Вы подразумеваете под дочерним объектом тот, который задан в форме связи. Не совсем так (привет привычным схемам).
Дочерним объектом в конструкторе называется тот, который имеет ссылку на другой объект, который можно назвать родительским.
Т.е. если Вы добавили в объекте А ссылку на объект Б, то А становится дочерним по отношению к Б. В форме связи, когда добавляется дочерний объект, то в нём автоматически создаётся ссылка на объект данной формы, образуя при этом связь "один-ко-многим".
Форма итогов позволяет собирать данные из дочерних объектов, имеющих ссылки на объект формы.
К примеру есть объект товаров. И есть множество объектов, где используется ссылка на товар: поступление, расход, перемещение, списание и прочее. Даже не создавая форм связи, можно создать формы итогов для обработки информации по работе с товарами.
Это уже Ваше право, разрешать или запрещать себе использование данной формы.
 

Vladimir

Администратор
Команда форума
кнопки "Создать" и "Изменить" - какой они имеют смысл в отчетах с агрегированными итоговыми данными? Это сбивает с тольку, кажется что с помощью этой формы можно создавать списки объектов.
Вы можете использовать форму связи так, как хочется. Редактирование данных объекта, на базе которого создана форма - это лишь одна из его возможностей, которая может пригодиться. Если она категорично недопустима - просто запрещаете редактирование и всё.
Вам ещё не приходилось создавать множество проектов при помощи конструктора, поэтому изначально может казаться, что что-то в нём лишнее на имеющийся опыт разработок. Хотя обычно люди жалуются на недостаток возможностей, что мы постепенно и исправляем с учётом основной концепции.
 

Aleks

Продвинутый
Вот у нас хороший разговор получается. Спасибо за ответы! Мне кажется, я во многом разобрался, хоть и не со всем согласен:)
Однако самое главное то, что получается достаточно быстро построить учетную систему для небольшой фирмы. Посмотрим, как она будет вести себя на большом объеме данных и в реальном времени!)
 

Aleks

Продвинутый
Не понял вопроса. Форма связи содержит детализацию и дочерние списки. Открывается форма по кнопке в левом меню. Что надо открывать по двойному клику ил по кнопке "Изменить"? Учитывая возможность скрытия детализации с дочерними списками.

вот этот вопрос я вынесу в отдельный пост, пожалуй. Я кажется пользуюсь другой терминологией, поэтому не получается понять друг-друга
 

Aleks

Продвинутый
Список записей - это неотъемлемая часть представления данных в программе. Свойства в Руне есть только у тех элементов системы, которые очевидно доступны пользователю: объект, форма, поле, операция и др. Попытка привнести в данную схему свои представления о других продуктах лишь приведёт к усложнению восприятия программы. И понять Вас никто не сможет, если Вы будете пытаться говорить о конструкторе с позиции своих представлении и программах.

Мне кажется здесь я рассуждаю как обычный пользователь:
Вот у меня есть набор данных. Пусть она изначально сортируется как угодно.
Потом Руна предоставляет инструмент Форма связи, который позволяет отобразить список как угодно - ограничить видимость полей, отфильтровать и т.п. Так чем же сортировка отличается от фильтров? Не кажется Вам что это свойство отображения списка, а не свойство самих данных или единичного объекта?
Вот эта мысль по моему как раз чисто пользовательская без всяких примесей и представлений.
 

Aleks

Продвинутый
Что подразумевается под "другими случаями"?
Наверно Вы подразумеваете под дочерним объектом тот, который задан в форме связи. Не совсем так (привет привычным схемам).
Дочерним объектом в конструкторе называется тот, который имеет ссылку на другой объект, который можно назвать родительским.
Т.е. если Вы добавили в объекте А ссылку на объект Б, то А становится дочерним по отношению к Б.

Я отлично понимаю это.
Вот у меня есть объект Б у которого нет совсем объектов типа А, то есть я не могу создать формулу (результирующие поля).
Если здесь поставить запрет, то это просто поможет людям изучать Руну быстрее и правильно ее использовать, а также сэкономить ваше время избежав повторяющихся вопросов на форуме.
 

Aleks

Продвинутый
Вы можете использовать форму связи так, как хочется...

я имел ввиду формы итогов.
Например, я сделал кучу калькуляций, собрал какие то суммарные итоги объекту А, на основе объектов типа Б (термины А и Б - из вашего поста №32).
Какой смысл мне здесь вводить новые объекты типа А (кнопка "Создать")? или изменять объект А (кнопка "Изменить")?

"Изменить" еще может иметь смысл, если, например, поправить ошибку в объекте А, увиденную в форме итогов. Но тогда, желательно сразу делать пересчет формы, иначе данные в форме итогов будут некорректные. В этом смысле, наверное, логичнее была бы кнопка "Переход", но ее как раз нет на объекте А.

Меня наличие этих кнопок навело на мысль, что я могу строить список объектов с помощью форм итогов. Мысль, как выянилось, неверная. Снова потеря времени (моего и вашего) и скорость усвоения Руны.
 

Vladimir

Администратор
Команда форума
Однако самое главное то, что получается достаточно быстро построить учетную систему для небольшой фирмы. Посмотрим, как она будет вести себя на большом объеме данных и в реальном времени!)
Быстрое построение учётной задачи - главная цель нашего конструктора.
В наши дня время становится исключительно ценным ресурсом, так как всё меняется крайне стремительно. Надо иметь возможность не только быстро создать программу, но также быстро её изменить под новые условия. Любой продукт, созданный специалистом, знающим язык программирования, требует больших временных затрат, особенно при изменении. И хорошо, если программист под рукой и программа написана на распространённом языке - тогда можно рассчитывать на относительно быстрое решение проблемы (что случается крайне редко). А если владелец системы не имеет исходного кода, либо нет (или уже нет) нужного программиста, либо программа создана на исключительно специфической платформе с применением программирования (привет разработчикам-одиночкам собственных сред разработки), то пользователь оказывается в крайне неприятной ситуации. Это не смертельно, но приучает людей более серьёзно относиться к выбору системы автоматизации, учитывая горький опыт.
Мы создаём продукт, которым может пользоваться абсолютно любой человек. Повторюсь: любой человек. Зачастую разработчиками проектов для нужд своей фирмы или подразделения являются сами руководители, о чём мы иногда узнаём. Т.е. пропадает необходимость не только в программисте, но и в постановщике задачи, который обычно исключительно необходим, чтобы свести воедино желания заказчика и возможности разработчика (в крупных софтверных компаниях такие люди получают значительно больше обычных кодеров).
Из опыта можем сказать, что с момента появления конструктора Руна, им продолжают пользоваться до настоящего момента, переходя на новые версии - это необходимо, так как мы постоянно исправляем обнаруженные ошибки и добавляем новые функции.
Первый выпуск Руны произошёл 25 марта 2013 г., который вобрал в себя весь опыт создания подобных систем, накопленный с 2006 года.
 

Vladimir

Администратор
Команда форума
Так чем же сортировка отличается от фильтров? Не кажется Вам что это свойство отображения списка, а не свойство самих данных или единичного объекта?
На данный момент тип сортировки записей определён только в объекте. В 6-ой версии запланировано переопределение порядка сортировки в формах.
Изначально думали создать список полей для переопределения порядка, но жизнь показывает, что 2-х полей вполне достаточно.
Также в планах создать пользовательский список вкладок, не ограничивая их число. Это, к сожалению, усложнит пользователю создание объекта, но будет удобно при больших объёмах данных. Изредка нам сообщают, что даже 8-ми вкладок с их максимальных наполнением - не хватает. Эту информацию можно отнести к предыдущему ответу, отвечая на вопрос:
как она будет вести себя на большом объеме данных
Встречаются базы данных с числом полей в объекте более 300-400.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу