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

Далее откроем раздел "Анкеты" и нажимаем на кнопку "Добавить анкету"

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

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

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

После внесения всех необходимых изменений, нажимаем на кнопку "Сохранить"
Редактор стиля
В редакторе стиля мы можем изменить шрифт, цвет шрифта, а также цвет фона для Названий полей и названий заголовков (групп)

Важно: Если шрифты не выбраны, то после размещения анкеты на сайте для нее будут установлены стандартные шрифты сайта.
Также здесь возможно изменить стиль кнопки "Отправить", поставив вместо нее изображение

Отдельно можно отредактировать CSS файл

После внесения изменений также следует нажать на кнопку "Сохранить"
Отображение анкеты
В разделе отображения анкеты мы сможем примерно увидеть, как будет выглядеть наша анкета. Также здесь возможно скопировать html-код сделанной нами анкеты. В дальнейшем этот код можно будет разместить на сайте.


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

зайдя в режим редактирования страницы и переключиться в режим отображения html-кода

Вставить скопированный ранее код анкеты

Сохранить страницу

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

Вычисления в анкетах
Начиная с ревизии 3630 в анкетах реализован механизм вычислений. С его помощью вы можете реализовать обратную связь с пользователем, а также проверку данных.
Для того, чтобы внести вычисления в анкету, необходимо открыть ее и перейти в раздел "Вычисления" в настройках анкеты.
В новом окне мы сможем включить код вычислений. Здесь можно использовать как PHP код, так и javascript.

Важно: Срабатывание всех вычислений, внесенных в поле "Вычисления" происходит после нажатия кнопки "Отправить".
Примеры использования вычислений.
Пример 1
Представим, что у нас есть анкета для формирования заявок на покупку. И нам необходимо, чтобы клиент, после заполнения анкеты видел на какую сумму вышел его заказ. Для этого напишем простое вычисление
echo "Сумма заказа ".($line['Количество']*$line['Товар']['Цена'])." руб.";
По этому вычислению, после нажатия кнопки "Отправить" откроется новое окошко, где будет подсчитана и выведена информация о сумме заказа.
![]() |
|
![]() |
|
![]() |
|
Пример 2
В случае если вы хотите, чтобы подобный текст выводился после нажатия, а выводить сумму ниже, то возможно использовать для этого javascript:
echo "Сумма заказа ".$line['Количество']*$line['Цена'];
echo "<script>k_answer_hide_form2=0;</script>";
![]() |
|
![]() |
|
![]() |
|
Пример 3
В случае, если необходима проверка введенных данных, и исходя из проверки добавления или недобавления их в базу, следует использовать флаг:$event_cancel.
echo "<script>k_answer_hide_form1=0;</script>";
if ($line['Количество']==0)
{
echo "Введите количество.";
$event_cancel=1;
return;
}
echo "Сумма заказа ".($line['Количество']*$line['Цена']). "руб.";
![]() |
|
![]() |
|
![]() |
|
Пример 4
В случае, если необходим номер добавленной строки, следует использовать следующий флаг $event_post_insert, который означает, что вычисление должно быть вызвано повторно, после добавления строки в базу данных. Пример вычислений:
if ($event_post_insert)
{
echo "Ваш номер заказа: ".$line["id"];
//Вычисление срабатывает второй раз, когда строка уже добавлена в базу
}
else
{
$event_post_insert=1;
// Тут вычисление срабатывает в первый раз, строка не добавлена в базу,
// и мы можем использовать $event_cancel
}
Пример 5
Javascript в анкетах в отличие от вычислений, срабатывает сразу после загрузки анкеты у клиента. Поэтому Javascript возможно, использовать для передачи нам дополнительных скрытых параметров.
Например: Вам необходимо выбрать некоторые параметры из адресной строки (URL) в браузере и отправить их в анкете.
В данном случае нужно добавить в служебное поле в анкете значение по умолчанию, при этом не проставляя галочку "Отображать в анкете". В результате добавления значения по умолчанию, в анкете будет добавлена javascript переменная вида k_qst{ID анкеты}_def_value{ID поля}="{Значение по умолчанию}";
Важно: Данное вычисление необходимо включить в поле Javascript.
Пример переопределения значения по умолчанию:

где
1 - id анкеты,
441 - id поля.
"Добавлен с сайта" - значение по умолчанию, которое будет добавлено в поле 441.
Таким образом, здесь мы для всех добавленных через анкету клиентов указываем, что они были добавлены именно через форму анкеты, а не вручную внесены в базу.
Пример 6
Продолжая пример №5, мы можем переопределить значение по умолчанию параметром из URL.
![]()
k_qst1_def_value441=location.href.substr(location.href.indexof('&name=')+6,255);
Важно: Данное вычисление необходимо включить в поле Javascript.
В данном случае мы заполняем в переменную часть URL определяющую переменную name. Подразумевается, что переменная name содержится в конце URL, например:
http://mysite.ru/index.php?page=my_anket&name=r123456
Механизм изменения скрытых значений по умолчанию возможно использовать в реферальных системах, сохранении такой информации о пользователе как размер экрана, тип браузера и т.д.
Пример 7
В случае, если требуется перехват нажатия клавиши "Отправить", например для проверки значения e-mail, без отправки данных на сервер, следует использовать следующую javascript функцию: custom_save_qst{id анкеты}.
Как и в примере №3 данные не заносятся в таблицу программы, однако в текущем примере данные даже не отправляются на сервер, проверка происходит в браузере клиента, что способствует уменьшению времени отклика.
Например id поля "Контактный e-mail" - 71, id анкеты - 1. В этом случае javascript будет выглядеть так:
function custom_save_qst1()
{
var email = document.getElementById('k_input_field_1_71').value;
if (!((/^([a-z0-9_-]+.)*[a-z0-9_-]+@([a-z0-9][a-z0-9-]*[a-z0-9].)+[a-z]{2,4}$/i).test(email))) // Проверяем на корректность
{
alert('Вы ввели некорректный email');
return false; // Не выполняем отправку данных анкеты
}
return true; // Отправляем данные анкеты
}
Важно: Данное вычисление необходимо включить в поле Javascript.
![]() |
|
![]() |
|
![]() |
|
Важно: В случае использования скриптов в вычислениях, следует использовать "<script>" так как описано выше, без дополнительных символов.
Важно: В вычислении также возможно использовать стандартные разрывы php кода html блоком. Например:
?>
Сумма заказа <? echo $line['Количество']*$line['Цена'] ?>
<script>k_answer_hide_form2=0;</script>
<?
Важно: Если вы хотите изменить отображение текста, который выводится после нажатия кнопки "Отправить", вы можете перейти в "Редактор стиля" и найти в поле CSS стиль "k_result_text".













