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


Публикации nk

107 публикаций создано nk (учитываются публикации только с 05-Май 23)



#16044 Печать шаблона из кода

Отправлено от nk в 27 Ноябрь 2012 - 08:28 in Как это сделать

Можно ли такое сделать?

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



#15989 Шаблоны печати

Отправлено от nk в 23 Ноябрь 2012 - 11:09 in Как это сделать

"Я согласен на медаль." (с)



#15987 Шаблоны печати

Отправлено от nk в 23 Ноябрь 2012 - 10:46 in Как это сделать

но на самом деле код такой

return
	  "Срок 1-й главы: ".date('d.m.y', strtotime($row['f160'])).
	  "\r\nСрок 2-й главы: ".date('d.m.y', strtotime($row['f161'])).
	  "\r\nСрок 3-й главы: ".date('d.m.y', strtotime($row['f162'])).
	  "\r\nСрок 4-й главы: ".date('d.m.y', strtotime($row['f163'])).
	  "\r\nСрок 5-й главы: ".date('d.m.y', strtotime($row['f164'])).
	  "\r\nСрок 6-й главы: ".date('d.m.y', strtotime($row['f165'])).
	  "\r\nВремя: ".$row['f159'];

Других вариантов нет, чтобы в одной функции?



#15986 Шаблоны печати

Отправлено от nk в 23 Ноябрь 2012 - 10:44 in Как это сделать

хм, ну можно и так :)



#15979 Шаблоны печати

Отправлено от nk в 23 Ноябрь 2012 - 08:59 in Как это сделать

Подскажите, как в шаблоне печати DOCX вывести дату в нужном формате?
return "Срок: ".date('d.m.y', $row['f158'])
возвращает 'Срок: 01.01.70'


код
return "Срок: ".date('d.m.y', strtotime($row['f158']));

возвращает 'Срок: 01.11.12', но некорректно обрабатывает незаполненное поле (f158 - дата/время), получается 'Срок: 30.11.-1'



#15866 Добавление записи в связанную таблицу

Отправлено от nk в 19 Ноябрь 2012 - 09:42 in Как это сделать

отображение ID исправите?



#15859 Добавление записи в связанную таблицу

Отправлено от nk в 19 Ноябрь 2012 - 08:08 in Как это сделать

При добавлении записи из связанной таблицы кроме обязательных полей предлагается вписать ID, хотя доступа на редактирование к нему нет. Лечится, только если убрать галку "просмотр" в правах.

И ещё вопрос, можно ли как-то управлять, какие поля предлагать заполнять при таком добавлении, но так, чтобы ругалось только на "незаполнение" обязательных?

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

  • Прикрепленное изображение: bug.png



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

Отправлено от nk в 19 Ноябрь 2012 - 07:48 in Как это сделать

спасибо, все работает



#15570 Не срабатывает проверка полей при сохранении

Отправлено от nk в 08 Ноябрь 2012 - 09:22 in Как это сделать

Просмотр сообщенияRoman (08 Ноябрь 2012 - 09:21) писал:

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

копипастил уже, бекап посмОтрите? :)



#15568 Не срабатывает проверка полей при сохранении

Отправлено от nk в 08 Ноябрь 2012 - 09:16 in Как это сделать

все также

в другом месте использую подобную конструкцию - все прекрасно, только там событие другое

$("#value112").bind("change", function()
{
if (document.getElementById("edit_value112").value != "")
{
  customer_val = document.getElementById("value112").value;
  customer_type = document.getElementById("value381").value
  $.ajax({
   type: "POST",
   url: "user_button.php",
   data: { id: '4', line: '{$line_id}', customer_type: customer_type, customer_id: customer_val },
   success: function(msg){
	eval(msg);
   }
  });
}
else
{
  document.getElementById("value113").value = "";
  ...
}
});

$customer_id = $_REQUEST['customer_id'];
$customer_type = $_REQUEST['customer_type'];
switch ($customer_type)
{
case 1:
  $table_name = "Клиенты физлица";
  break;
case 2:
  $table_name = "Контрагенты";
  break;
default:
  exit;
}
$data = data_table($table_name, "id=".$customer_id);
$phone_m = $data['Телефон моб.'];
...
echo "document.getElementById('value113').value = '$phone_m';";
...
exit;



#15566 Не срабатывает проверка полей при сохранении

Отправлено от nk в 08 Ноябрь 2012 - 08:57 in Как это сделать

javascript
function checkFields()
{
status_val = document.getElementById("value17").value;
alert(status_val);
$.ajax({
  type: "POST",
  url: "user_button.php",
  data: { id: '1', line: '{$line_id}', status_id: status_val },
  success: function(msg){
   alert(msg);
   if (msg == 1 && document.getElementById('value304').value == 0)
   {
    alert('Поле "Причина отказа" не заполнено!');
    return false;
   }
  
  }
});
};
addHandler(document.getElementById("edit_form"), "onsubmit", checkFields)

доп. действие
$status_id = $_REQUEST['status_id'];
$data = data_table("Статусы обращений по видам", "id=".$status_id);
echo $data['Это отказ'];
exit;

первый алерт показывает id стаутса, все ок, но в кнопку он почему-то не попадает, ошибка: Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1
SELECT * FROM f_data3 WHERE id= LIMIT 1
in /home/helpun/public_html/include/functions2.php on line 25

если использовать $status_id, то в кнопку id передается и запрос выполняется



#15560 Не срабатывает проверка полей при сохранении

Отправлено от nk в 08 Ноябрь 2012 - 03:33 in Как это сделать

использую такой код

if (document.getElementById("edit_value17").value != "")
{
$status_id = document.getElementById("value17").value;
$.ajax({
  type: "POST",
  url: "user_button.php",
  data: { id: '1', line: '{$line_id}', status_id: $status_id },
  success: function(msg){
   display_field(304, msg == 1);
  }
});
}
function checkFields()
{
$status_id = document.getElementById("value17").value;
$.ajax({
  type: "POST",
  url: "user_button.php",
  data: { id: '1', line: '{$line_id}', status_id: $status_id },
  success: function(msg){
   if (msg == 1 && document.getElementById('value304').value == 0)
   {
	alert('Поле "Причина отказа" не заполнено!');
	return false;
   }
  }
});
};
addHandler(document.getElementById("edit_form"), "onsubmit", checkFields)

Поле 304 отображается когда надо (при определенном значении поля 17), но при сохранении не ругается, если 304 пустое. Такое ощущение, что ajax пропускается мимо: пробовал простой алерт в самое начало success - не выскакивает, в начало checkFields() - выскакивает. Если перед ajax просто проверить заполнение поля - срабатывает, но мне необходимо ещё знать, надо ли его вообще проверять.



#15556 показ/скрытие полей по условию

Отправлено от nk в 08 Ноябрь 2012 - 01:11 in Как это сделать

Просмотр сообщенияandibrag (08 Ноябрь 2012 - 01:10) писал:

Решение более лаконичное. Все оказалось несколько проще :)

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



#15554 показ/скрытие полей по условию

Отправлено от nk в 08 Ноябрь 2012 - 01:04 in Как это сделать

Да, тут проблема есть, в параллельной ветке этот вопрос задан. Подождем ответа техподдержки: как все-таки правильнее сделать.



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

Отправлено от nk в 08 Ноябрь 2012 - 00:14 in Как это сделать

Просмотр сообщенияCbCoder (07 Июнь 2012 - 17:17) писал:

Ну, написали же выше, что да. Или у вас не так?
не получается сделать отображение поля, если в списке с множественным выбором выбрана конкретная строка

в списке с множественным выбором
function onchange_{$one_field.id}()
{
display_field(194, document.getElementById('value193').value == 'Расчеты');
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});

в отображаемом/скрываемом поле
display_field(194, document.getElementById('value193').value == 'Расчеты');

в результате поле 194 всегда скрыто, при установке галочки в строке 'Расчеты' ничего не происходит



#15551 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 23:14 in Как это сделать

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

разобрался, http://clientbase.ru...indpost&p=11222



#15544 Функции display_fgroup и display_field

Отправлено от nk в 07 Ноябрь 2012 - 16:22 in Как это сделать

Да, такая же проблема http://clientbase.ru...?showtopic=4768



#15540 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 15:04 in Как это сделать

И всё-таки работает не идеально: если выбрано пустое значение, при входе в редактирование обе группы скрыты - ок; если выбрать значение "психология" - появляется одна группа - ок; но при отказе от сохранения возвращаемся в просмотр и видим отображенную группу "психология", хотя значение выбрано пустое (не сохранили запись).

Такое чувство, что надо как-то по-другому делать.



#15533 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 14:47 in Как это сделать

Просмотр сообщенияandibrag (07 Ноябрь 2012 - 14:41) писал:

Сорри. Забыл упомянуть про один нюанс. Скрипт должен отработать только после загрузки всей страницы.
Добавьте в начало
$(document).ready(function(){
и закройте это все в конце
})

да, теперь все ок (везде использую value)


можете объяснить суть этой функции? почему с полями все работает без нее?



#15524 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 11:56 in Как это сделать

Пичего не изменилось, даже перезашел и куки почистил. В обработчике вернул сравнение с value.

Ещё раз: при создании записи и при входе в редактирование отображаются обе группы, при просмотре записи и при изменении значения поля "список" отображение происходит правильно.
У группы нельзя написать javascript. У полей display_field(123, document.getElementById('value{$one_field.id}').value =='психология'); я пишу именно именно в отображаемом поле (а не в изменяемом поле) - и с полями все ок.



#15518 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 10:08 in Как это сделать

Может быть проблема связана с тем, что value{$one_field.id} это поле "список"?



#15515 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 10:00 in Как это сделать

Просмотр сообщенияandibrag (07 Ноябрь 2012 - 09:57) писал:

В crome это должно работать.
Посмотрел у себя. - попробуйте махнуть местами. В onchange оставьте innerText, в начале модуля value.

нет, при редактировании все появляются, при любом выборе все исчезают (в IE аналогично все)

display_fgroup(1, document.getElementById('value{$one_field.id}').value == 'техническое');
display_fgroup(2, document.getElementById('value{$one_field.id}').value == 'психология');

function onchange_{$one_field.id}()
{
display_fgroup(1, document.getElementById('value{$one_field.id}').innerText == 'техническое');
display_fgroup(2, document.getElementById('value{$one_field.id}').innerText == 'психология');
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});



#15510 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 09:34 in Как это сделать

Для группы нельзя вписать яваскрипт
display_fgroup(1, document.getElementById('value{$one_field.id}').value == 'техническое');
?



#15509 показ/скрытие полей по условию

Отправлено от nk в 07 Ноябрь 2012 - 09:33 in Как это сделать

Просмотр сообщенияandibrag (07 Ноябрь 2012 - 01:17) писал:

Какой браузер у Вас?
Хром последний


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


​в чейндже оставил value, в начале модуля innerText - все работает так же, как описано в первом посте



#15499 показ/скрытие полей по условию

Отправлено от nk в 06 Ноябрь 2012 - 23:42 in Как это сделать

Для полей нужный эффект достигается переносом строки
display_field(1, document.getElementById('value{$one_field.id}').value == 'техническое');
в javascript самого отображаемого поля... а как быть с группами?