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


Показывать подтаблицу по условию


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

#41 Гость_Roman_*

  • Гости

Отправлено 20 Май 2013 - 16:23

В табличном виде JavaScript не работает. Можете создать поле с настройкой "Применять HTML форматирование" и ввести туда <script>...</script>.

#42 viking

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

  • Пользователи
  • PipPipPip
  • 44 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 20 Май 2013 - 17:06

Просмотр сообщенияRoman (20 Май 2013 - 16:23) писал:

В табличном виде JavaScript не работает. Можете создать поле с настройкой "Применять HTML форматирование" и ввести туда <script>...</script>.
1) Мне обязательно это поле отображать в таблице (видимость при просмотре таблицы) или же оно будет отрабатывать в таблице даже если оно не видно?
2) И таким образом у меня получится скрыть любой элемент при просмотре самой таблицы?

#43 Гость_Roman_*

  • Гости

Отправлено 20 Май 2013 - 17:12

1. Да, в данном случае поле должно быть отображено.
2. Записать в JavaScript можно всё, что угодно, в том числе и скрытие этого поля с JavaScript.

#44 viking

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

  • Пользователи
  • PipPipPip
  • 44 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 20 Май 2013 - 17:34

Просмотр сообщенияRoman (20 Май 2013 - 17:12) писал:

1. Да, в данном случае поле должно быть отображено.
2. Записать в JavaScript можно всё, что угодно, в том числе и скрытие этого поля с JavaScript.

По моему я что-то не так делаю (я новичёк в JavaScript):
<script>
$(document).ready(function() {
$(".but2").css("display", "none"); //скрываем в основной таблице кнопку "Дополнительно"
});
</script>

Это "ломает" страницу. Над таблицей всплывает куча скрытой служебной информации системы.

Если выполнить
$(".but2").css("display", "none");
В консоли Firebug, то отрабатывает отлично.

Сообщение отредактировал viking: 20 Май 2013 - 17:39


#45 Гость_Roman_*

  • Гости

Отправлено 21 Май 2013 - 07:38

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

#46 viking

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

  • Пользователи
  • PipPipPip
  • 44 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 21 Май 2013 - 10:28

Просмотр сообщенияRoman (21 Май 2013 - 07:38) писал:

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

В техподдержку ссылку на данный пост отправил.

Сообщение отредактировал viking: 21 Май 2013 - 10:32


#47 CbCoder

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

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

Отправлено 21 Май 2013 - 11:14

Просмотр сообщенияviking (21 Май 2013 - 10:28) писал:

В техподдержку ссылку на данный пост отправил.

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

#48 viking

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

  • Пользователи
  • PipPipPip
  • 44 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 21 Май 2013 - 13:15

Просмотр сообщенияCbCoder (21 Май 2013 - 11:14) писал:

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

После Ваших слов, провёл анализ. Это в старой версии было. Перевёл базу на последнюю версию - вопрос отпал.
Теперь постараюсь, по возможности, постоянно CRM держать в актуальном состоянии.

Однако ещё актуальный вопрос:

Цитата

Это "ломает" страницу. Над таблицей всплывает куча скрытой служебной информации системы.

Сообщение отредактировал viking: 22 Май 2013 - 09:25


#49 wondertalik

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

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

Отправлено 12 Июль 2013 - 01:27

function onchange_{$one_field.id}()
	{
	 var table_id_w = 81;
	
		if(document.getElementById('value{$one_field.id}').value!="есть") {		
		   document.getElementById('sub_'+table_id_w).style.display='none';
		   document.getElementById('tab_'+table_id_w).style.display='none';	  
		} else {
		   document.getElementById('sub_'+table_id_w).style.display='';
		   document.getElementById('tab_'+table_id_w).style.display='';
		   switch_subtable(table_id_w);
		}
	}
  
  
	$(document).ready(function() {
   onchange_{$one_field.id}();
	});  
	addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
Имеется такой код, выбираю создать новую запись(в настройках стоит - сохранение при добавлении). Подчиненная таблица скрыта. Выбираю значение поля на "Есть" - появляется только имя таблицы и таблица становится активной. Проблема на скрине. Ревизия последняя.

Прикрепленные изображения

  • Прикрепленное изображение: Клиентская база   Изменение записи.png


#50 CbCoder

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

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

Отправлено 12 Июль 2013 - 09:13

Намудрили что-то.

function onchange_{$one_field.id}()
	{
	 var table_id_w = 81;
  
		if (document.getElementById('value{$one_field.id}').value!="есть") {					
			if (document.getElementById('sub_'+table_id_w).style.display!='none')
			{ // если была активна вкладка "Кредитные карты" переключаемся на любую другую вкладку
				switch_subtable(1111); // 1111 - id другой подтаблицы
			}
			document.getElementById('tab_'+table_id_w).style.display='none'; // скрываем вкладку Кредитные карты
		} else {
			document.getElementById('tab_'+table_id_w).style.display=''; // отображаем вкладку Кредитные карты
			switch_subtable(table_id_w); // переключаемся на Кредитные карты
		}
	}


#51 wondertalik

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

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

Отправлено 12 Июль 2013 - 11:37

Просмотр сообщенияCbCoder (12 Июль 2013 - 09:13) писал:

Намудрили что-то.

Взял отсюда. Спасибо заработало.

function onchange_{$one_field.id}()
	    {
		 var table_id_credit_w = 81;
		 var table_id_document_w = 31;
 
			    if (document.getElementById('value{$one_field.id}').value!="есть") {								   
					    if (document.getElementById('sub_'+table_id_credit_w).style.display!='none')
					    { // если была активна вкладка "Кредитные карты" переключаемся на любую другую вкладку
							    switch_subtable(table_id_document_w); // 1111 - id другой подтаблицы
					    }
					    document.getElementById('tab_'+table_id_credit_w).style.display='none'; // скрываем вкладку Кредитные карты
			    } else {
					    document.getElementById('tab_'+table_id_credit_w).style.display=''; // отображаем вкладку Кредитные карты
					    switch_subtable(table_id_credit_w); // переключаемся на Кредитные карты
			    }
	    }
	   
	    $(document).ready(function() {
	 onchange_{$one_field.id}();
	    });
    addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});


#52 CbCoder

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

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

Отправлено 12 Июль 2013 - 12:01

Цитата

Взял отсюда

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

#53 wondertalik

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

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

Отправлено 12 Июль 2013 - 21:07

А как скрыть обе подчиненные таблицы? За их отображение отвечают по 1 одному полю типа список соответственно в основной таблице. Скажем с значениями типа "да".

Сообщение отредактировал wondertalik: 12 Июль 2013 - 21:07


#54 CbCoder

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

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

Отправлено 13 Июль 2013 - 11:31

Используя тот же алгоритм, нет? В чем конкретно сложность возникла?

#55 wondertalik

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

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

Отправлено 13 Июль 2013 - 13:33

Просмотр сообщенияCbCoder (13 Июль 2013 - 11:31) писал:

Используя тот же алгоритм, нет? В чем конкретно сложность возникла?
Во-первых, помимо переключения на активную подчиненную таблицу switch_subtable выполняет еще какие-либо функции? В коде приставленном выше я делаю переключение на другую таблицу, а что если такой таблицы нет, то есть все таблицы по условию должны быть скрыты? Вот я попробовал так, на примере одной таблицы:

function onchange_{$one_field.id}()
		{
		 var table_id_credit_w = 81;

				if (document.getElementById('value{$one_field.id}').value!="есть") {								  
						document.getElementById('tab_'+table_id_credit_w).style.display='none'; // скрываем вкладку Кредитные карты
						document.getElementById('sub_'+table_id_credit_w).style.display='none';
				} else {
						document.getElementById('tab_'+table_id_credit_w).style.display=''; // отображаем вкладку Кредитные карты
						switch_subtable(table_id_credit_w); // переключаемся на Кредитные карты
				}
		}
	  
		$(document).ready(function() {
	 onchange_{$one_field.id}();
		});
	addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});

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

#56 CbCoder

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

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

Отправлено 13 Июль 2013 - 13:42

Цитата

Во-первых, помимо переключения на активную подчиненную таблицу switch_subtable выполняет еще какие-либо функции?

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

Цитата

В коде приставленном выше я делаю переключение на другую таблицу, а что если такой таблицы нет

Так проверяйте, отображается данная вкладка или нет, перед тем как переключаться на нее, в чем проблема то.

#57 wondertalik

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

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

Отправлено 13 Июль 2013 - 13:46

Просмотр сообщенияCbCoder (13 Июль 2013 - 13:42) писал:

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

#58 CbCoder

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

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

Отправлено 13 Июль 2013 - 13:56

Ну значит плохо понимаете порядок действий. К примеру, включаете только отображение заголовка вкладки (элемент "tab_..."), но забываете про собственно тело подтаблицы (элемент "sub_..."). Если использовать переключение перед скрытием заголовка, или его отображение с последующими переключением (как это было в первом варианте), то думать об отображении элемента "sub_..." не нужно - switch_subtable сама его покажет. А без переключения соответственно нужно самостоятельно скрывать/отображать тело (как в примере с одной вкладкой, на который вы ссылались)

#59 serg63rus

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

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

Отправлено 25 Апрель 2015 - 08:44

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

#60 CbCoder

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

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

Отправлено 25 Апрель 2015 - 18:37

Программа постоянно дорабатывается, поэтому неудивительно что на странице могут появится новые элементы. С прошлого ответа почти 2 года прошло.





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

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