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


Функция get_control


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

#1 arsenal

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

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

Отправлено 21 Июль 2012 - 08:29

Подскажите, пожалуйста.
Какие преимущества дает применение этой функции по сравнению с обычным вводом? И когда её лучше использовать?

#2 Гость_Roman_*

  • Гости

Отправлено 21 Июль 2012 - 08:42

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

#3 arsenal

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

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

Отправлено 24 Июль 2012 - 12:52

А можно ли сделать при помощи этой функции ввод типа "чекбокс"?

#4 Гость_Roman_*

  • Гости

Отправлено 24 Июль 2012 - 13:07

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

#5 arsenal

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

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

Отправлено 24 Июль 2012 - 14:17

А множественный выбор и не нужен. Просто нужен аналог ДА / НЕТ

#6 Гость_Roman_*

  • Гости

Отправлено 24 Июль 2012 - 15:00

Такой тип поля есть пока только в планах.

#7 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Ноябрь 2012 - 11:37

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#8 CbCoder

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

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

Отправлено 16 Ноябрь 2012 - 11:41

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

#9 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Ноябрь 2012 - 11:45

Просмотр сообщенияCbCoder (16 Ноябрь 2012 - 11:41) писал:

Дорабатывать будем наверняка. Пока она далека от совершенства, скорее экспериментальная разработка.
Разработка хорошая. Если бы вы смогли в стандартную конфигурацию ввести динамическое поле с настройками было бы шикарно. Был бы крупный шаг в сторону динамического интерфейса.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#10 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 16 Ноябрь 2012 - 12:26

Поддерживаю. Из-за проблем, описанных antibrag, пока что отказался от использования!

#11 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Ноябрь 2012 - 21:23

Функция может работать без явного указания прав на запись в настройках доступа группы пользователей?
При установке прав на запись только в поле "Пользователь" - она не редактируема. Что-то не так делаю или есть особенности?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#12 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 16 Ноябрь 2012 - 21:54

Просмотр сообщенияandibrag (16 Ноябрь 2012 - 21:23) писал:

Функция может работать без явного указания прав на запись в настройках доступа группы пользователей?
При установке прав на запись только в поле "Пользователь" - она не редактируема. Что-то не так делаю или есть особенности?
Если правильно понял. Сюда

#13 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 17 Ноябрь 2012 - 20:04

Просмотр сообщенияwondertalik (16 Ноябрь 2012 - 21:54) писал:

Если правильно понял. Сюда
Спасибо. Да ситуация аналогичная.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#14 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 19 Ноябрь 2012 - 09:29

Есть поле список Тип задачи. И четыре поля, совпадающие по названию со строками из него. Почему код для поля Процесс отрабатывает, а для поля _Процесс нет
...
$field_name = $line['Тип задачи'];
$line['_Процесс'] = $line[$field_name];
$line['Процесс'] = get_control($row, $line, $line[$field_name]);
Что содержится в переменной $field_name?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#15 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 19 Ноябрь 2012 - 14:43

Несколько перефразирую вопросы.
1) Где используется третий параметр в функции get_control? Спрашиваю, поскольку даже передача пустого параметра на формирование динамического поля не повлияла.
2) Должна ли работать конструкция вида
$field_name = $line['Тип задачи'];
$line['_Процесс'] = $line[$field_name];
в КБ.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#16 CbCoder

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

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

Отправлено 19 Ноябрь 2012 - 15:25

1) Это текущее значение поля.
2) Нет, не должна. В $line содержатся внутренние имена полей ('fxx'), а у вас в $field_name - как я понял, внешние.

#17 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 19 Ноябрь 2012 - 15:42

Просмотр сообщенияCbCoder (19 Ноябрь 2012 - 15:25) писал:

2) Нет, не должна. В $line содержатся внутренние имена полей ('fxx'), а у вас в $field_name - как я понял, внешние.
Структура и код приведены здесь. В поле список значения: Документы, Типовые процессы и т.д. Есть поля, которые называются также. Мне не понятно почему не срабатывает. Может кодировки как-то путаются?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#18 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 19 Ноябрь 2012 - 15:46

Код приведенный выше, это попытка уйти от явного задания значений на условие через if или switch: если $line['Тип задачи'] = 'Документы', то $line['_Процесс'] = $line['Документы'] и т.д.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#19 CbCoder

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

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

Отправлено 19 Ноябрь 2012 - 16:08

Еще раз говорю: если в переменной $field_name содержится внешнее имя ('Документы' к примеру), то задавать $line[$field_name] нельзя, т.к. в качестве ключей у $line используются внутренние имена. То что вы вручную задаете в редакторе вычислений, при сохранении заменяется на внутреннее имя.

#20 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 19 Ноябрь 2012 - 16:52

Просмотр сообщенияCbCoder (19 Ноябрь 2012 - 16:08) писал:

Еще раз говорю: если в переменной $field_name содержится внешнее имя ('Документы' к примеру), то задавать $line[$field_name] нельзя, т.к. в качестве ключей у $line используются внутренние имена. То что вы вручную задаете в редакторе вычислений, при сохранении заменяется на внутреннее имя.
Спасибо, огромное. Несколько часов потерял в поисках причины.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






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

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