![]() |
|
Форма констант. Изменение строкового значения через ВыделенныйТекст | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
21.05.18
✎
20:21
|
Созрел выкатить голосовалку. Надеюсь на поддержку.
Если плохо искал сабж среди имеющихся веток, ткните, плиз. Все умозаключения отталкиваются от принципов проектирования управляемых форм. Итак. Сейчас в типовых достаточно интересный подход к формам редактирования констант: в той или иной обработке "Панель администрирования" создается форма констант, которая и показывается юзеру. Но устанавливается значение той или иной константы индивидуально (метод на сервере Установить()) при интерактивном изменении соответствующего флага. Назовем такой способ "современным". <...> Тут у меня пробел в знаниях. Т.е. я знал и раньше, что форма констант в том виде, в каком она создается по умолчанию, предполагает перезапись сразу всех констант, входящих в НаборКонстант. (Назовем такой способ "прежний".) Но я лишь недавно задумался о том, что если редактирование констант организована в конфе именно "прежним" способом, то изменение значения одной (подчеркнуть) константы фактически приведет к перезаписи нескольких констант. Вопрос: "прежний способ" вообще имеет право на применение? С точки зрения производительности, логики и осмотрительности. Как вы считаете? |
|||
1
PiotrLoginov
21.05.18
✎
20:22
|
Сразу добавлю, что поднять вопрос меня сподвигло созерцание формы констант в одной нетленке, с которой сейчас приходится работать.
Автор её предлагает юзеру редактировать Общую форму с набором всех констант. При чем, если значение константы строковое, ее значение в поле ввода может устанавливаться программно следующим образом: НовоеЗначениеКонстанты = //здесь выражение, получающее строку-значение ЭтотОбъект.ТекущийЭлемент.ВыделенныйТекст = НовоеЗначениеКонстанты; Т.е. автор не пишет значение напрямую в константу. Он меняет в поле ввода ВыделенныйТекст, рассчитывая, что потом, при записи набора констант, содержимое поля ввода попадет в константу, указанную в свойстве поля ввода ПутьКДанным. |
|||
2
PiotrLoginov
21.05.18
✎
20:23
|
*При чем = причем
|
|||
3
b_ru
21.05.18
✎
21:45
|
>>Вопрос: "прежний способ" вообще имеет право на применение? С точки зрения производительности, логики и осмотрительности. Как вы считаете?
Да, конечно имеет. Если конфигурация не высоконагруженная и константы не меняются каждые две минуты, то зачем заморачиваться? |
|||
4
Cyberhawk
21.05.18
✎
23:06
|
"автор не пишет значение напрямую в константу. Он меняет в поле ввода ВыделенныйТекст, рассчитывая, что потом, при записи набора констант, содержимое поля ввода попадет в константу" // Что тебя смущает? Конечно же при интерактивном изменении нельзя записывать изменение в объект БД, а надо взводить модифицированность формы, что и сподвигает пользователя сохранять внесенные им изменения в БД
|
|||
5
Cyberhawk
21.05.18
✎
23:06
|
Однако писать можно и в реквизит формы "НаборКонстант.КонстантаТакаяТо" - эффект будет тот же
|
|||
6
PiotrLoginov
22.05.18
✎
06:46
|
(4) т.е. такой способ менять реквизит формы или свойство реквизита - не заполнять сам реквизит, а заполнять поле на форме - имеет право на жизнь. Ок. Но я первый раз с таким сталкиваюсь.
|
|||
7
Cyberhawk
22.05.18
✎
08:52
|
(6) Ну, этот способ позволяет изменить отображаемые элементом управления данные, не меняя значение в реквизите формы, который явлется источником данных для элемента управления.
Зачем так сделано там у тебя, где ты это видишь, отсюда не видно. Я константы (в форме констант) меняю тупо в наборе констант (т.е. в реквизите формы), как сказано в (5) все нормуль (ну, кроме того, что все константы перезапишутся, да). Для самых взыскательных - форму констант делать без набора констант, а с отдельныи реквизитами формы под каждую константу и после еще писать прикладной код по непосредственному обновлению значений самих констант в БД. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |