Расчетное поле оказывается можно изменить ручным вводом значения - НЕДОПУСТИМО!

Рустам

Продвинутый
#1
Оказывается можно изменить расчетное поле ручным вводом.
Как заблокировать такую возможность?
 

Вложения

  • 104.8 KB Просмотры: 27

Рустам

Продвинутый
#3
После того, как я изменил вручную поле ОПЛАЧЕНО (я временно переименовал в ОПЛАЧЕН) с 60 000 на 70 000,
я изменил сумму платежа (сумма которых формирует значения поля ОПЛАЧЕН).
Но значения поля ОПЛАЧЕН не изменились. Вроде значение обновилось, после ручного изменения,
должно было и связанное поле измениться.
 

Vladimir

Администратор
Команда форума
#7
Оказывается можно изменить расчетное поле ручным вводом.
Как заблокировать такую возможность?
Поле для итога суммирования из дочернего списка - это обычное числовое поле. В самом объекте оно допустимо к изменению, а в форме, если ему задано условие суммирования, оно блокируется.
Поэтому если пользователю дан доступ к объекту или к дублирующей форме, где нет условия суммирования, поле может изменяться.

Если изменение происходит при установленном условии суммирования, то это ошибка. Нам нужен образец проекта для выяснения причины некорректного поведения.
 

Vladimir

Администратор
Команда форума
#8
Не меняется связанное поле.
По скрину сложно понять - что за ошибка.
Как обычно - нужен пример проекта (желательно упрощённый вариант, так как при необходимости отладки, большое число полей и объектов, значительно усложняет процесс поиска проблем).
 

Vladimir

Администратор
Команда форума
#9
Ноль и пустота.
Как выбрать?
В детализации для числового типа всегда отображается ноль. А в списках (объекта и всех типов форм) для повышения удобства восприятия, нулевое значение скрывается.
В первых версиях конструктора ноль отображался всегда, но данный вариант, на наш взгляд, оказался гораздо лучше.
 

Рустам

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

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



Пустота действительно воспринимается лучше, чем нули.
Но что, если нужно будет их отображать, чтобы поонять, где значение именно ноль, а где пустота?
 

Вложения

Рустам

Продвинутый
#11
Разу уж я выслал вам файл, Владимир, посмотрите, пожалуйста,
почему у меня не связались в форме СЧЕТА и ПРОИЗВОДСТВО ПЛАН???
Я так и не понял. Я просто сперва завел данные в ПРОИЗВОДСТВО ПЛАН,
а уже затем добавил его в форму.

Если чтобы связать данные, заводить записи нужно только после их связки,
то что, если мне понадобится через некоторое время связать какие-либо
рабочие таблицы между собой, перебивать которые может быть сопряжено
с большим риском ошибок, которые будут дорого стоить???

С типом поля КРАСКА разобрался, можете не отвечать.
 

Рустам

Продвинутый
#12
И, кстати, теперь, если я удалю уже заведенные данные в таблице ПРОИЗВОДСТВО ПЛАН,
чтобы завести новые, чтобы они свяазлись с таблицей СЧЕТА - счетчик начнет отсчитывать первую запись
с 8-ой цифры. А хотелось бы по-человечески - первую с первой. А дальше - уже как получится.
А то знаете ли - КАК КОРАБЛЬ НАЗОВЕТЕ - ТАК ОН И ПОПЛЫВЕТ )))
А удалять эту таблицу и создавать новую, даже если это 5 минут - ЛЕНЬ -
нужен другой выход ))
 

Vladimir

Администратор
Команда форума
#13
Прикрепляю образец к сообщению.
Поле "Оплата"?
В форме "_Счета" для поля установлено суммирование из дочернего списка. А в форме "111" - не установлено. Поэтому во второй форме поле разрешено к изменению.
Обратите внимание на лёгкий оттенок поля: если оно не чисто белого цвета, то его редактирование запрещено.

Пустота действительно воспринимается лучше, чем нули.
Но что, если нужно будет их отображать, чтобы поонять, где значение именно ноль, а где пустота?
Это обычно требуется при выводе в документы.
Использовать в документах функцию String с условием, где выводить ноль при равенстве поля значению 0.

Напомню, что функции работают не только в составных полях, но и в шаблонах документов.
 

Vladimir

Администратор
Команда форума
#14
Разу уж я выслал вам файл, Владимир, посмотрите, пожалуйста,
почему у меня не связались в форме СЧЕТА и ПРОИЗВОДСТВО ПЛАН???
Я так и не понял. Я просто сперва завел данные в ПРОИЗВОДСТВО ПЛАН,
а уже затем добавил его в форму.

Если чтобы связать данные, заводить записи нужно только после их связки,
то что, если мне понадобится через некоторое время связать какие-либо
рабочие таблицы между собой, перебивать которые может быть сопряжено
с большим риском ошибок, которые будут дорого стоить???
Посмотрите структуру документа - у Вас есть поле ссылки на объект "Счет 1" созданное вручную. И есть поле ссылки "~Счета", созданное автоматически при добавлении объекта в форму связи в качестве дочернего.
Удалите своё поле и оставьте только системное. Перед удалением можно отобразить системное в списке объекта, открыть объект и вбить в системное поле значения, аналогичные ручному полю (если требуется), а затем удалить своё поле.
 

Vladimir

Администратор
Команда форума
#15
И, кстати, теперь, если я удалю уже заведенные данные в таблице ПРОИЗВОДСТВО ПЛАН,
чтобы завести новые, чтобы они свяазлись с таблицей СЧЕТА - счетчик начнет отсчитывать первую запись
с 8-ой цифры. А хотелось бы по-человечески - первую с первой. А дальше - уже как получится.
А то знаете ли - КАК КОРАБЛЬ НАЗОВЕТЕ - ТАК ОН И ПОПЛЫВЕТ )))
А удалять эту таблицу и создавать новую, даже если это 5 минут - ЛЕНЬ -
нужен другой выход ))
Счётчик начинает считать с последнего значения + 1. Программа не проверят, есть ли пустые значения в базе до максимального значения.