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


Публикации Александр Jet

31 публикаций создано Александр Jet (учитываются публикации только с 29-Март 23)



#38805 Вопросы по напоминаниям

Отправлено от Александр Jet в 20 Август 2018 - 19:59 in Как это сделать

Возник вопрос по работе с напоминаниями, в разделе помощи информацию не нашел.

1. Как быстро обновляются напоминания? Допустим я изменил текст уведомления в настройках напоминания и нажал сохранить. Как быстро изменения вступят в силу?

2. Раз во сколько система проверяет таблицы на условия для напоминаний? Можно ли где-то изменить это время, чтобы снизить нагрузку на сервер?



#38800 Срабатывание JS при изменении двух полей

Отправлено от Александр Jet в 18 Август 2018 - 18:19 in Как это сделать

Следующий код расположен в поле 4581, он срабатывает при изменении этого поля, которое является доступным для редактирования пользователю:

//Если поле 4581 = 111 и поле 4591 = 222, то в поле 5681 установится ААА

function onchange_{$one_field.id}() {	
	if (document.getElementById('value4581').value == "111" && document.getElementById('value4591').value == "222")
	document.getElementById('value5681').value = "ААА";
}

$(document).ready(onchange_{$one_field.id});  //запускаем при загрузке страницы
$('#value{$one_field.id}').change(onchange_{$one_field.id});  //запускаем при изменении поля

Что нужно добавить, чтобы вычисление срабатывало при изменении этого поля, если оно не будет доступным для редактирования пользователю, а также при редактировании не только поля 4581, но и 4591?



#38789 Вкладки подтаблиц в несколько рядов

Отправлено от Александр Jet в 07 Август 2018 - 19:59 in Как это сделать

Решение найдено: эти свойства добавил напрямую в подключаемый файл css



#38788 Вкладки подтаблиц в несколько рядов

Отправлено от Александр Jet в 07 Август 2018 - 19:32 in Как это сделать

Подскажите пожалуйста, как при помощи js изменить css-свойства отдельного поля?

Для поля f1234 нужно применить следующие параметры:
.user-data__key {
	  display: none;
}
.user-data__value {
	  width: 550px;
}
.user-data textarea.hidden-input {
	  max-width: 550px;
}

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



#38785 Раскрытый список вместо поля связи

Отправлено от Александр Jet в 03 Август 2018 - 17:17 in Как это сделать

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

Я вижу решение следующим образом:
1. Создать текстовое многострочное поле с HTML-форматированием, в котором будет код раскрытого списка <input type="radio">....</input>
2. Получив значение из вышеуказанного поля, записать его при помощи js в поле Связь для дальнейшего использования

Исходя из этого возникает несколько вопросов:
Как получить значения списка поля связи для поля с HTML форматированием, чтобы каждый раз не переписывать код HTML поля?
Как при помощи js изменить значения поля связь в зависимости от выбранного в HTML-поле варианта?


Может быть есть другие, более простые варианты решения проблемы?



#38765 Фильтр поля связи

Отправлено от Александр Jet в 20 Июль 2018 - 13:25 in Как это сделать

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

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


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

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



#38762 Фильтр поля связи

Отправлено от Александр Jet в 19 Июль 2018 - 21:13 in Как это сделать

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

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

Только помимо стандартных настроек фильтра в поле связи, я хочу чтобы применялись дополнительные настройки, как я писал в начале темы, что-то вроде:
{стандартные настройки фильтра, задаваемые в поле связи} and `Кто добавил` = {текущий}

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

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

Что в этом случае писать в фильтре вместо {стандартные настройки фильтра, задаваемые в поле связи} и где этот фильтр сохранять?



#38760 Фильтр поля связи

Отправлено от Александр Jet в 19 Июль 2018 - 12:55 in Как это сделать

Просмотр сообщенияАлександр Jet (18 Июль 2018 - 14:54) писал:

Сделал следующее:

Забыл написать) код не работает, выдает ошибку при сохранении.

Правильно ли я понял, для того чтобы отфильтровать выпадающий список поля связи Услуга по полю Категория в таблице Заявки, нужно создать фильтр в таблице Услуги и выбрать его в настройках поля связи Услуга?



#38754 Показ/скрытие полей через JavaScript

Отправлено от Александр Jet в 19 Июль 2018 - 10:24 in Как это сделать

Просмотр сообщенияWhitescorpion (06 Июнь 2018 - 16:29) писал:

А можно попросить какой-нибудь пример кода?

Пример кода для вашего вычисления

function onsubmit_{$one_field.id}()   // Функция по событию "сохранение поля"
{

  
	if (document.getElementById("value5741").value == "" &
		document.getElementById("value5751").value == "")
		{
		alert("Заполните поле Состою в браке");
		return false;   //прерываем сохранение
		}
addHandler(document.getElementById("edit_form"), "onsubmit", onsubmit_{$one_field.id});



#38743 Фильтр поля связи

Отправлено от Александр Jet в 18 Июль 2018 - 14:54 in Как это сделать

Сделал следующее:
`Услуга` IN (SELECT f_data541.id
			FROM f_data541
			LEFT JOIN f_data531 on f_data531.id = f_data541.f10521
			WHERE f_data541.f10521 = f_data561.f10681)

Фильтр вставляю в таблицу Услуги, по идее его нужно будет выбрать в настройках поля Услуга таблицы Заявки.

531 - таблица Категории услуг
10441 - поле Наименование категории таблицы Категории услуг

541 - таблица Услуги
10521 - поле Категория услуги таблицы Услуги (связь с таблицей 531)
10531 - поле Наименование услуги таблицы Услуги

561 - таблица Заявки
10681 - поле Категория таблицы Заявки (связь с таблицей 531)
10691 - поле Услуга таблицы Заявки (связь с таблицей 541)



#38679 Отправить в архив пользователя

Отправлено от Александр Jet в 08 Июнь 2018 - 09:55 in Как это сделать

Как можно вычислением отправить пользователя в архив?



#38645 Показ/скрытие полей через JavaScript

Отправлено от Александр Jet в 25 Май 2018 - 14:11 in Как это сделать

Просмотр сообщенияWhitescorpion (18 Май 2018 - 19:46) писал:

function onchange_{$one_field.id}()
{
  display_field(5951, $('#value{$one_field.id}').val()=="состою в браке");
  display_field(6081, $('#value{$one_field.id}').val()=="состою в браке");
  display_field(5941, $('#value{$one_field.id}').val()=="в разводе");

  // id1 и id2 - id тех полей, которые необходимо скрыть/отобразить, вместо них подставляете нужные вам номера
}
function check_main()
{
if (document.getElementById('value5931').value == "состою в браке") document.getElementById('main5951').value = 1;
if (document.getElementById('value5931').value != "состою в браке") document.getElementById('main5951').value = 0;
}

$(document).ready(onchange_{$one_field.id});
$('#value{$one_field.id}').change(onchange_{$one_field.id});
$(document).ready(check_main);
$('#value{$one_field.id}').change(check_main);

Все перепробовал. В чем проблема подскажите. Нужно, чтобы при значении поля "состою в браке" поле 5951 становилось обязательным для заполнения, при остальных значениях нет.

Можно сделать так, чтобы при сохранении выдавалась ошибка, если значение поля "Состою в браке" и поле 5951 не заполнены.



#38644 Группировка по месяцу

Отправлено от Александр Jet в 24 Май 2018 - 16:46 in Как это сделать

Просмотр сообщенияalex_yakovlev (23 Май 2018 - 16:29) писал:

Добрый день! Та же задача. Удалось получить в итоге нужный результат?
С предложенной последней компоновкой тоже не работает.

Вот код, который работает сейчас у меня:

//Получаем дату из поля Дата выполнения
$data1 = strtotime($line['Дата выполнения']);
//Получаем месяц
$months = array( 1 =>
   'Январь' ,
   'Февраль' ,
   'Март' ,
   'Апрель' ,
   'Май' ,
   'Июнь' ,
   'Июль' ,
   'Август' ,
   'Сентябрь' ,
   'Октябрь' ,
   'Ноябрь' ,
   'Декабрь' );

//Выводим месяц и год в поле Период
$line['Период'] = '<p style="display: none;">' . date('Y ',$data1 ) . date('m ',$data1 ) . '</p>' . $months[date( 'n',$data1 )] . date(' Y',$data1 );



#38590 Создание фильтра

Отправлено от Александр Jet в 10 Май 2018 - 17:50 in Как это сделать

Есть вычисление, которое получает поле Организация через таблицу Наши сотрудники у текущего пользователя:
//получаем строку сотрудника текущего пользователя
$sotr = data_table("Наши сотрудники", "`Пользователь`='".$line['Кто добавил']."'");

//по полученному сотруднику получаем строку организации сотрудника
$sotr2 = data_table("Моя компания", "`ID`='".$sotr['Организация']."'");

Как исходя из такого вычисления сделать фильтр, который будет выводить все записи таблицы Заявки, где Организация = организация текущего пользователя, то есть где Организация = $sotr2



#38574 Отображение списка полей для заполнения

Отправлено от Александр Jet в 20 Апрель 2018 - 11:13 in Как это сделать

Какие будут номера у этих полей?



#38571 Отображение списка полей для заполнения

Отправлено от Александр Jet в 20 Апрель 2018 - 09:51 in Как это сделать

В настройках поля связи есть пункт - список полей для заполнения. Как можно сделать, чтобы поля, появляющиеся после нажатия на плюс заполнялись при выборе существующего значения в поле связи?
https://yadi.sk/d/FgPQbsPV3UbBns



#38570 Фильтр поля связи

Отправлено от Александр Jet в 19 Апрель 2018 - 19:15 in Как это сделать

В таблице заявки есть два поля типа связь: Категория услуги 4461 и Услуга 4471, которые ведут в две разные таблицы. В первом поле выводятся все категории, во втором должны выйти услуги выбранной категории.

В таблице Услуги 461 я создал фильтр со следующим кодом:
`Категория услуги` = (SELECT id FROM ".DATA_TABLE."461 WHERE f10451 = $line['Категория услуги']['Наименование категории'])  //10451 поле Категория в таблице Услуги, в которой хранится категория услуги

Фильтр должен выводить в поле Услуга таблицы Заявки только те услуги, у которых поле Категория 10451 = $line['Категория услуги']['Наименование категории'].

При сохранении фильтра выходит ошибка.



#38566 Фильтр поля связи

Отправлено от Александр Jet в 17 Апрель 2018 - 15:04 in Как это сделать

Можно ли отфильтровать выпадающий список поля связи по нескольким параметрам?

Нужно чтобы выводились значения, которые:
- видны по фильтру ААА
- у которых Поле 1 = $line['Поле 123']

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



#38538 Связать две таблицы

Отправлено от Александр Jet в 04 Апрель 2018 - 11:37 in Как это сделать

Есть две таблицы: Услуги и Компании. В каждой по несколько строк. Нужно, чтобы в таблице Компании отображался перечень услуг в подтаблице. У двух компаний могут быть одни и те же услуги.

Как я вижу решение:
1. создается дополнительная таблица Связи, в которой указываются два поля - Компания и Услуга, она является подтаблицей таблицы Компании
2. чтобы прикрепить запись Услуги к Компании нужно создать запись в таблице Связи, где указать компанию и услугу
3. в потдатблице таблицы Компании выводятся все Услуги, которые есть в таблице Связи и у которых Компания = {текущая}

Есть ли более оптимальное решение, без создания дополнительной таблицы?



#38496 Объединение строк подтаблицы

Отправлено от Александр Jet в 24 Март 2018 - 12:56 in Как это сделать

Убрал лишнее:
$result2 = data_select(91, 'f7381=', $ID, ' and status=0');  // таблица Прайс-лист 91, поле 7381 является связью с текущей таблицей 111
$txt2 = array();
while ($row = sql_fetch_assoc($result2)) {
		$thatTxt1 = "";
		$thatTxt1 = $row['f6811']." - ".$row['f6501'];  // "Сложить" через тире поля Наименование 6811 и Группа 6501
		}
				
$txt2[] = $thatTxt1;
$line['9011'] = implode("; ", $txt2);  // Вывести данные "сложения" через разделитель в поле 9011
Теперь код выводит значение не для первой, а для последней записи в подтаблице



#38493 Объединение строк подтаблицы

Отправлено от Александр Jet в 21 Март 2018 - 20:09 in Как это сделать

Не работает похожее вычисление:

У таблицы 111 есть подтаблица Прайс-лист. К каждой записи таблицы 111 прикреплено несколько строк из Прайс-листа.

В поле таблицы 111 нужно вывести объединенные данные из подтаблицы, в формате Наименование 1 - Группа 1; Наименование 2 - Группа 2; и т.д.

Изменил вычисление выше, получилось следующее:
$result2 = data_select(91, 'f7381=', $ID, ' and status=0'); // таблица Прайс-лист 91, поле 7381 является связью с текущей таблицей 111
$txt2 = array();
while ($row = sql_fetch_assoc($result2)) {
		$thatTxt1 = "";
		$numen1 = data_select_array(91, 'f7381=', $ID, ' and status=0');	
		$thatTxt1 = $numen1['f6811']." - ".$numen1['f6501'];  // "Сложить" через тире поля Наименование 6811 и Группа 6501
		}
				
$txt2[] = $thatTxt1;
$line['9011'] = implode("; ", $txt2); // Вывести данные "сложения" через разделитель в поле 9011

Код, который у меня получился выводит значение только для первой строки подтаблицы, Наименование 1 - Цена 1. Дальше почему-то не идет. Пожалуйста. помогите разобраться.



#38328 Мгновенная подгрузка связанных полей

Отправлено от Александр Jet в 23 Декабрь 2017 - 20:48 in Как это сделать

Просмотр сообщенияmaksn (23 Декабрь 2017 - 20:28) писал:

В поле Клиент ставите JS
Большое спасибо, буду разбираться!



#38325 Мгновенная подгрузка связанных полей

Отправлено от Александр Jet в 23 Декабрь 2017 - 12:38 in Как это сделать

Цитата

на яваскрипте (аякс) писать обработчик самому.
Может быть кто-то такое уже делал? Есть ли примеры?



#38323 Показ/скрытие полей через JavaScript

Отправлено от Александр Jet в 23 Декабрь 2017 - 08:40 in Как это сделать

Просмотр сообщенияmaksbazhin (22 Декабрь 2017 - 09:53) писал:

Как скрывать поля по разному в режиме просмотра (скрывать большую часть) и редактирования (показывать все доступное)?
Это можно настроить в настройках доступа



#38320 Мгновенная подгрузка связанных полей

Отправлено от Александр Jet в 20 Декабрь 2017 - 21:47 in Как это сделать

Есть поле типа связь Клиент, а также поле Телефон. В поле Телефон загружается значение из таблицы Клиенты:

$line['Телефон'] = $line['Клиент']['Телефон']

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