Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Форма констант. Изменение строкового значения через ВыделенныйТекст

Форма констант. Изменение строкового значения через ВыделенныйТекст
Я
   PiotrLoginov
 
21.05.18 - 20:21
1. Не стоило столько курить0% (0)
2. Современный - тот же прежний. Только вид сбоку0% (0)
3. Редактирование констант - только программно0% (0)
4. Даешь "современный" способ0% (0)
5. Одна форма на все константы - идеальный вариант0% (0)
Всего мнений: 0

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

Итак. Сейчас в типовых достаточно интересный подход к формам редактирования констант: в той или иной обработке "Панель администрирования" создается форма констант, которая и показывается юзеру. Но устанавливается значение той или иной константы индивидуально (метод на сервере Установить()) при интерактивном изменении соответствующего флага. Назовем такой способ "современным".
<...>
Тут у меня пробел в знаниях. Т.е. я знал и раньше, что форма констант в том виде, в каком она создается по умолчанию, предполагает перезапись сразу всех констант, входящих в НаборКонстант. (Назовем такой способ "прежний".)

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

Вопрос: "прежний способ" вообще имеет право на применение? С точки зрения производительности, логики и осмотрительности. Как вы считаете?
 
 
   PiotrLoginov
 
1 - 21.05.18 - 20:22
Сразу добавлю, что поднять вопрос меня сподвигло созерцание формы констант в одной нетленке, с которой сейчас приходится работать.
Автор её предлагает юзеру редактировать Общую форму с набором всех констант. При чем, если значение константы строковое, ее значение в поле ввода может устанавливаться программно следующим образом:

НовоеЗначениеКонстанты =//здесь выражение, получающее строку-значение

ЭтотОбъект.ТекущийЭлемент.ВыделенныйТекст = НовоеЗначениеКонстанты;


Т.е. автор не пишет значение напрямую в константу. Он меняет в поле ввода ВыделенныйТекст, рассчитывая, что потом, при записи набора констант, содержимое поля ввода попадет в константу, указанную в свойстве поля ввода ПутьКДанным.
   PiotrLoginov
 
2 - 21.05.18 - 20:23
*При чем  = причем
   b_ru
 
3 - 21.05.18 - 21:45
>>Вопрос: "прежний способ" вообще имеет право на применение? С точки зрения производительности, логики и осмотрительности. Как вы считаете?

Да, конечно имеет. Если конфигурация не высоконагруженная и константы не меняются каждые две минуты, то зачем заморачиваться?
   Cyberhawk
 
4 - 21.05.18 - 23:06
"автор не пишет значение напрямую в константу. Он меняет в поле ввода ВыделенныйТекст, рассчитывая, что потом, при записи набора констант, содержимое поля ввода попадет в константу" // Что тебя смущает? Конечно же при интерактивном изменении нельзя записывать изменение в объект БД, а надо взводить модифицированность формы, что и сподвигает пользователя сохранять внесенные им изменения в БД
   Cyberhawk
 
5 - 21.05.18 - 23:06
Однако писать можно и в реквизит формы "НаборКонстант.КонстантаТакаяТо" - эффект будет тот же
   PiotrLoginov
 
6 - 22.05.18 - 06:46
(4) т.е. такой способ менять реквизит формы или свойство реквизита - не заполнять сам реквизит, а заполнять поле на форме - имеет право на жизнь. Ок. Но я первый раз с таким сталкиваюсь.
   Cyberhawk
 
7 - 22.05.18 - 08:52
(6) Ну, этот способ позволяет изменить отображаемые элементом управления данные, не меняя значение в реквизите формы, который явлется источником данных для элемента управления.
Зачем так сделано там у тебя, где ты это видишь, отсюда не видно.
Я константы (в форме констант) меняю тупо в наборе констант (т.е. в реквизите формы), как сказано в (5) все нормуль (ну, кроме того, что все константы перезапишутся, да).
Для самых взыскательных - форму констант делать без набора констант, а с отдельныи реквизитами формы под каждую константу и после еще писать прикладной код по непосредственному обновлению значений самих констант в БД.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует