Страница 1 из 1

Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 05 апр 2020, 08:41
AlexK
Несколько лет пытаюсь найти систему моей мечты — конструктор приложений, где можно соединить функционал CRM со строгим учетом продаж и прочими учетными задачами. Случайно наткнулся на Руководитель, пересмотрел все видео на канале, всю документацию, слегка просканировал форум и начал конструировать потихоньку. Все пока выглядит очень многообещающе!

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

Если конструировать системы строгого учета, например бухгалтерского, то для них характерно:
1. Массовый ввод достаточно сложных форм документов, таких как накладные, счета и т.д.
В них требуется возможность задавать реквизиты по умолчанию, рассчитывать и перерассчитывать поля исходя из значений других полей; при сохранении формы проверять корректность и согласованность реквизитов, то есть возможность программировать логику формы по событиям самой формы (например, Открытие, Закрытие, Сохранение) так и событиям в полях (Изменение )
Вот недавний запрос из форума по теме:
viewtopic.php?p=14521#p14521

2. Неизменность введенных и сохраненных данных.
Если сотрудник зафиксировал сделку и суммы в ней, она не должна изменится из-за каких то внешних факторов задним числом.
То есть здесь нужны статические, но вычисляемые поля, типа JS-формула, но с возможностью применения к тексту и редактирования результата.
Динамические поля «Текст по шаблону» и «MySQL функция» здесь применять нельзя.
Вот пара тем аналогичных:
viewtopic.php?p=14356#p14356
viewtopic.php?p=14530#p14530

С одной стороны система в целом позиционируется как управление проектами и CRM, с другой стороны благодаря крутому функционалу, многие, как я понял, пытаются уже прикрутить системы учета, и сталкиваются со сложностями.

Сергей напишите, пожалуйста, как Вы видите эту тему? Планируются ли какие-то доработки?
Ну и в целом, интресно мнение форумчан)

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 05 апр 2020, 09:00
support
Я не не развиваю систему в каком то одном направлении. Появляется интересная задача, я ее делаю И так, шаг за шагом, появляется набор инструментов с помощью которых уже можно решить множество задач.

Касательно логики в форме, вот для версии 2.7 появилось новое поле https://youtu.be/bmhw6qjdtnk где можно запрограммировать свои расчеты в форме и сохранить результат. Результат сохраняется в базе и не пересчитывается при отображении записи.

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 05 апр 2020, 10:31
AlexK
support писал(а): 05 апр 2020, 09:00 Я не не развиваю систему в каком то одном направлении. Появляется интересная задача, я ее делаю И так, шаг за шагом, появляется набор инструментов с помощью которых уже можно решить множество задач.
Тут есть опасность болезни роста, что в какой-то момент система разрастется на очень большое количество разрозненных малосвязанных или перекрывающихся инструментов, которые потом довольно сложно поддерживать и развивать. Ну это зависит от разработчика, конечно:)
support писал(а): 05 апр 2020, 09:00 Касательно логики в форме, вот для версии 2.7 появилось новое поле https://youtu.be/bmhw6qjdtnk где можно запрограммировать свои расчеты в форме и сохранить результат. Результат сохраняется в базе и не пересчитывается при отображении записи.
Возможность включения кода в форму, да еще с отладчиком - выглядит здорово!
В связи этим вопросы:
- Результатом может быть только число? Можно ли будет вычислять текст или ссылку на сущность?
- Можно ли будет пользователю редактировать полученный результат?

------
Если позволите, я бы предложил рассмотреть несколько другой подход.
Мне кажется в природе существуют Только базовые типы полей - числовой, текстовый, дата и ссылка на сущность. Остальные поля - сильно специфические и декоративные.
Для каждого базового типа поля, можно прикрутить возможность процедур (JS код или PHP, то что Вы сделали для типа поля Ajax запрос) которые срабатывают по тригеру изменение поля. В процедуру можно зашить вычисление других полей формы и/или условия проверки корректности введенных значений.
Каждый тип поля - можно закрыть или открыть для редактирования или сделать скрытым.

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

В этом случае не существует типов полей JS-формула, MySQL-формула, MySQL-запрос, Ajax-запрос и подобные так это по сути не типы полей, а способы их вычисления. То есть количество типов полей можно сильно сократить, сделав систему более универсальной, простой для изучения и поддержки, я думаю:)

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 05 апр 2020, 11:22
support
Тут есть опасность болезни роста, что в какой-то момент система разрастется на очень большое количество разрозненных малосвязанных или перекрывающихся инструментов, которые потом довольно сложно поддерживать и развивать.
Я все стараюсь делать отдельными модулями. Если к примеру какой то отчет не нужен, админ его просто не настраиваем и пользователь его просто не видит.
Результатом может быть только число?
Нет, может быть любым.
Можно ли будет вычислять текст или ссылку на сущность?
Можно
Можно ли будет пользователю редактировать полученный результат?
Нет
Для каждого базового типа поля, можно прикрутить возможность процедур (JS код или PHP, то что Вы сделали для типа поля Ajax запрос) которые срабатывают по тригеру изменение поля.
В настройках формы уже есть возможность встроить свой JS код
https://docs.rukovoditel.net.ru/index.php?p=64

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 07 апр 2020, 07:35
AlexK
support писал(а): 05 апр 2020, 11:22 Можно ли будет пользователю редактировать полученный результат?
Нет
А вот такое ограничение - это логическое ограничение или техническое?
Логических ограничений я не вижу, но я допускаю что они есть, если они есть, поделитесь пожалуйста.
Функция вычисления предварительного значения в поле ввода (текст или число) или в поле сущность - то что называется "значения по умолчанию" - стандарт для любого зрелого конструктора форм.
При всех достоинствах Руководителя, на данный момент нет возможности придумать, как заполнить текстовое поле, числовое поле, поле сущность предварительными данными, рассчитанными на основе других полей или данных БД.

Можно ли в поле Ajax запрос или JS-формула просто включить опцию "Открыть/Закрыть" для редактирования?

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 07 апр 2020, 07:48
AlexK
support писал(а): 05 апр 2020, 11:22 В настройках формы уже есть возможность встроить свой JS код
https://docs.rukovoditel.net.ru/index.php?p=64
Да спасибо, я видел эту фичу но забыл.
Я не очень разбираюсь пока в JS, но сам факт что это есть - уже круто.
Буду пробовать.
Я так понял, можно заполнить\вычислять так любые поля, включая поле сущность?

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 07 апр 2020, 15:00
aik
Александр, хочу немного Вас предупредить, на первый взгляд система действительно кажется очень гибкой, однако дьявол в деталях, продукт на взирая на свой возраст, к сожалению достаточно сыроват, потому как чтобы Вы не начинали делать, погружаясь в нюансы начиная от организации взаимодействия сущностей и полей между собой, заканчивая их визуализацией в печатной или экранной формах, Вы столкнетесь с множеством мелких недоработок, которые могут притормозить проект, в ожидании включения данных неточностей в будущий релиз Сергеем (он несомненно гений, но к сожалению одного на всех его не хватает) при условии, что Вы не планируете кастомизировать продукт под себя с командой программистов.
Однако если планируется кастомизация, то здесь Вы столкнетесь с проблемой релизов каждые полгода, что заставит Вас повторно переносить кастомные доработки кода на новый релиз. Конечно, если ваша предметная область заключается в замене эксель таблички (без макросов), на данную систему, тогда вопросов нет, а если нечто большее то готовьтесь к увлекательному путешествию...

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 07 апр 2020, 15:38
tax
support писал(а): 05 апр 2020, 09:00 Касательно логики в форме, вот для версии 2.7 появилось новое поле https://youtu.be/bmhw6qjdtnk где можно запрограммировать свои расчеты в форме и сохранить результат. Результат сохраняется в базе и не пересчитывается при отображении записи.
режим отладки - это мега круто для данного поля. Хотелось бы такой режим и для остальных подобных полей, а то почти в слепую пишутся запросы

Re: Программируемая логика заполнения формы, значения по умолчанию, статические вычисляемые поля.

Добавлено: 07 апр 2020, 16:32
AlexK
aik писал(а): 07 апр 2020, 15:00 Александр, хочу немного Вас предупредить
Спасибо Антон,
Да, для меня первым настораживающим моментом было то, что разработчик - один человек. И честно говоря, меня очень удивило, как один человек смог запилисть и поддерживать такую крутую махину. И, конечно, - это определенный риск связывать долгосрочный проект с одним человеком.

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

Как я понял многие пытаются настроить здесь строгую ученую систему, использовать в качестве другого 1С, но я думаю Руководитель изначально для этого не был предназначен. Как и задекларировано, здесь все заточено на CRM и управлние проектами, и, мне кажется, в этой части, все должно быть отлично.

Многие вещи выглядят очень здорово, на видео - все просто круто! Я пока еще под впечатлением, а я кучу похожих систем просмотрел! Так что решил еще потестировать) Благо в изоляции появилось время)) Вот сегодня сел изучать JS, что поделать, если без этого с формой ничего не сделать:))