Перейти к содержимому


Сброс значения поля при изменении элемента списка

список сброс значения

Сообщений в теме: 6

#1 Aktubar

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 19 Июнь 2015 - 11:19

Корректирую элемент списка в конфигураторе.
Поиск в таблице по новому значению не осуществляется.
В режиме просмотра элемента таблицы отображается старое значение (до корректировки).
При входе в режим редактирования значение поля оказывается пустым - приходится заново выбирать уже новое значение.
Подскажите, пожалуйста, как добиться автоматической замены значения поля после его корректировки в конфигураторе, а не его сброса?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Июнь 2015 - 14:32

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

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

#3 Aktubar

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 19 Июнь 2015 - 15:04

Просмотр сообщенияCbCoder (19 Июнь 2015 - 14:32) писал:

например с помощью временного доп.действия, которое заменит одно значение на другое
Поясните подробнее, пожалуйста.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Июнь 2015 - 17:31

http://clientbase.ru...r_admin_16/dop/

Код доп.действия:

if ($line['Нужное поле'] == 'старое значение') $line['Нужное поле'] = 'новое значение';

Например,

if ($line['Статус контрагента'] == 'Партнер') $line['Статус контрагента'] = 'Компаньон';

В результате все значения "Партнер" заменяться на "Компаньон".

#5 Aktubar

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 21 Июнь 2015 - 14:40

Спасибо большое, теперь все понятно!

#6 Aktubar

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 21 Ноябрь 2015 - 21:22

Получается, то же самое можно сделать с помощью инструмента "Массовое редактирование", сначала отфильтровав элементы таблицы по старому значению, а затем заменив на новое.

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 23 Ноябрь 2015 - 09:14

Просмотр сообщенияAktubar (21 Ноябрь 2015 - 21:22) писал:

Получается, то же самое можно сделать с помощью инструмента "Массовое редактирование", сначала отфильтровав элементы таблицы по старому значению, а затем заменив на новое.

Да, действительно. Но кнопкой чуть быстрее, особенно если это часто используемая замена.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных