Калькуляторы и формы для сайтов
0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 6875 Просмотров
*

css_ufa

  • Осваиваюсь на форуме
  • 179
  • 10
Вопрос: Как реализовать в форме автоматическую вставку номера заявки?
То есть, я сделал форму заказа, клиенты заполняют заявку, после я получаю на почту готовый бланк заявки, а в шапке нужно указать номер, например, ИЗ-24/11-01, где ИЗ - обозначение, что заявка сделана через интернет, 24/11 - сегодняшняя дата 24 ноября, 01 - очередной номер заявки в этот день. Либо проще - ИЗ-0001 (Интернет Заявка №1)
Поле формы "Support Tickets" не подходит, так как он генерирует случайное число. А мне надо последовательное.
Всё что не делается, всё к лучшему (с). Так говорили великии люди.
*

DARGO

  • Новичок
  • 7
  • 0
А здесь вообще кто-нибудь кому-нибудь отвечает?
*

css_ufa

  • Осваиваюсь на форуме
  • 179
  • 10
А здесь вообще кто-нибудь кому-нибудь отвечает?
Бывают что не отвечают)

Видимо они так кого стимулируют не лениться, хотя я до сих пор не нашел ответ на свой вопрос)
Всё что не делается, всё к лучшему (с). Так говорили великии люди.
*

AL_ALEX

  • Support Team
  • 891
  • 111
Вот Вам тема в которой есть похожая ситуация, которая может помочь в вашем решении
*

sky777

  • Новичок
  • 3
  • 2
Вижу, что тема старая, но все же отвечу, т.к. сам долго ломал голову над формированием уникального номера заявки.

Сначала пытался получать значение поля Support Ticket как getElementsByName('form[Name]').value , но в ответ почему-то всегда возвращается undefined

Потом случайно наткнулся на  статейку на родном форуме http://www.rsjoomla.com/support/documentation/view-article/95-adding-a-counter-for-submissions.html, в которой собс-но и написано как получать порядковый номер заявки (количество отправленных форм +1).

Если по-русски, то вкратце так (для RSForm версии выше 30)
1. создаем невидимое поле, обзываем, например, counter
2. Значение по-умолчанию этого поля пишем

//<code>
$db=JFactory::getDBO();
$db->setQuery("SELECT COUNT(`SubmissionId`) cnt FROM #__rsform_submissions");
$db->query();
$result=$db->loadResult();
return intval($result)+1;
//</code>

и ВСЕ!

Номер заявки получаем например так: getElementByID('counter').value

Ну и конечно к номеру заявки можно лепить различные производные от времени/даты.

И не забудьте в настройках формы включить "сохранять данные  в БД"!

*

leo_leo_184

  • Новичок
  • 7
  • 0
А подскажите пожалуйста как этот номер прикрепить к названию файла, который загружался вместе с этой  формой ?
________________________________________
Решилось добавлением в поле "File Prefix"

Код
//<code>
return $_POST['form']['Counter'].'_';
//</code>

Может пригодится кому нибудь )
« Последнее редактирование: 03.03.2013, 00:06:22 от leo_leo_184 »
*

maxi812

  • Новичок
  • 9
  • 0

Если по-русски, то вкратце так (для RSForm версии выше 30)
1. создаем невидимое поле, обзываем, например, counter
2. Значение по-умолчанию этого поля пишем



Немного не понятно вы бы могли  поподробнее объяснить куда что  вставлять ..писать ..включить...

если есть возможность со скринами ...


Спасибо
*

Langust

  • Новичок
  • 6
  • 1
Минимум с 44 версии номер заявки делается просто.
Используем глобальное значение "{global:submissionid}" (порядковый номер записи, под которым она легла в БД),
А дальше как угодно. Хотите припишите к нему нули для солидности:  ИЗ-00{global:submissionid}
Хотите - дату.
Дату можно тоже взять из глобальных параметров {global:date_added}
Или в свой формат настроить. Для этого в форме создаем скрытое поле, называем его как-нибудь по смыслу (data, chislo), затем в поле "Значение по умолчанию" пишем:
//<code>
return date('d-m-o');
//</code>
И получаем дату в формате 25-10-1917 (или как вам захочется: см. настройки даты в пхп); через value забираем и ставим куда нужно.
...
PROFIT! :)
*

Nats

  • Захожу иногда
  • 11
  • 1
Подскажите, пожалуйста.
Нужно  вывести значение {global:submissionid} в скрытое поле. Как?
*

BroodingAngel

  • Захожу иногда
  • 14
  • 0
Цитировать
//<code>
$db=JFactory::getDBO();
$db->setQuery("SELECT COUNT(`SubmissionId`) cnt FROM #__rsform_submissions");
$db->query();
$result=$db->loadResult();
return intval($result)+1;
//</code>
sky777, спасибо огромнейшее за код, работает!!
Цитировать
Номер заявки получаем например так: getElementByID('counter').value
Номер заявки у меня вывелся вот так: НОМЕР ЗАЯВКИ: {counter:value}
Вы можете заказать сайт в моей веб-студии недорого. Цены - от $150.
*

Anna228

  • Новичок
  • 3
  • 0
sky777, спасибо огромнейшее за код, работает!! Номер заявки у меня вывелся вот так: НОМЕР ЗАЯВКИ: {counter:value}
скажите а куда разместить код "getElementByID('counter').value" если можно по подробнее. Буду вам очень признательна!
*

BroodingAngel

  • Захожу иногда
  • 14
  • 0
RSForm! Pro - Manage Forms - Ваша форма - Properties - Admin Emails - Edit the Email Text

Вот вам как образец Email, которое приходит на почту с моего сайта:

Код
Новая заявка с сайта на проведение ремонтно-технического обслуживания.

НОМЕР ЗАЯВКИ: {counter:value}

ИНФОРМАЦИЯ О ЗАКАЗЧИКЕ:

{date1:caption}:  {date1:value}

{name1:caption}:  {name1:value}

{person1:caption}:  {person1:value}

{phone:caption}:  {phone:value}

{mail:caption}:  {mail:value}

{adress1:caption}:  {adress1:value}

ИНФОРМАЦИЯ ОБ ОБОРУДОВАНИИ:

{dogovor:caption}:  {dogovor:value}

{product:caption}:  {product:value}

{model:caption}:  {model:value}

{number:caption}:  {number:value}

{version:caption}:  {version:value}

{color:caption}:  {color:value}

{guarantee:caption}:  {guarantee:value}

{problems:caption}:  {problems:value}

{recommendation:caption}:  {recommendation:value}

Повторю, что код "getElementByID('counter').value" у меня не заработал, т.е делаете скрытое поле все как написал sky777, а в настройках письма администратору указываете :НОМЕР ЗАЯВКИ: {counter:value}. Этого достаточно, код работает.
Вы можете заказать сайт в моей веб-студии недорого. Цены - от $150.
*

Anna228

  • Новичок
  • 3
  • 0


Спасибо. Все сделала, но у меня счетчик заказов не заработал. Может дело в версии, у меня RSForm pro 1.2.22
*

BroodingAngel

  • Захожу иногда
  • 14
  • 0
Скорее всего да, дело в версии, sky777 написал что код для RSForm версии выше 30. У меня версия RSForm! Pro 1.4.0 Rev 45. Попробуйте установить новую версию.
Вы можете заказать сайт в моей веб-студии недорого. Цены - от $150.
*

Anna228

  • Новичок
  • 3
  • 0
Скорее всего да, дело в версии, sky777 написал что код для RSForm версии выше 30. У меня версия RSForm! Pro 1.4.0 Rev 45. Попробуйте установить новую версию.
По-хорошему конечно нужно обновить, но для этого сначала нужно Joomla обновлять тк RSForm перестали выпускать продукт для версии 1,5. А обновление Joomla - это уже серьезно и долго )))
*

68pin

  • Осваиваюсь на форуме
  • 27
  • 1
Вижу, что тема старая, но все же отвечу, т.к. сам долго ломал голову над формированием уникального номера заявки.

Сначала пытался получать значение поля Support Ticket как getElementsByName('form[Name]').value , но в ответ почему-то всегда возвращается undefined

Потом случайно наткнулся на  статейку на родном форуме http://www.rsjoomla.com/support/documentation/view-article/95-adding-a-counter-for-submissions.html, в которой собс-но и написано как получать порядковый номер заявки (количество отправленных форм +1).

Если по-русски, то вкратце так (для RSForm версии выше 30)
1. создаем невидимое поле, обзываем, например, counter
2. Значение по-умолчанию этого поля пишем

//<code>
$db=JFactory::getDBO();
$db->setQuery("SELECT COUNT(`SubmissionId`) cnt FROM #__rsform_submissions");
$db->query();
$result=$db->loadResult();
return intval($result)+1;
//</code>

и ВСЕ!

Номер заявки получаем например так: getElementByID('counter').value

Ну и конечно к номеру заявки можно лепить различные производные от времени/даты.

И не забудьте в настройках формы включить "сохранять данные  в БД"!


Данный способ не совсем корректный
Если два человека откроют форму то у обоих будет одинаковый номер заявки
есть решение чуть получше
//<code>
$num=date('zis');
return $num;
//</code>
пишешь в значения по умолчанию в скрытом поле
$num- это номер заявки сформированный из данных времени (z- день в году i-минуты s- секунды) будет типа 2741248
будут  некорректно если два пользователя откроют форму одновременно с точностью до секунды . Но это мало вероятно
*

Agard

  • Осваиваюсь на форуме
  • 83
  • -1
есть решение чуть получше
//<code>
$num=date('zis');
return $num;
//</code>
пишешь в значения по умолчанию в скрытом поле
$num- это номер заявки сформированный из данных времени (z- день в году i-минуты s- секунды) будет типа 2741248
будут  некорректно если два пользователя откроют форму одновременно с точностью до секунды . Но это мало вероятно

Всё хорошо! Работает. Только почему-то у кода разница в три минуты (меньше) с "Дата представления": ДП    2015-12-28 22:59:33, код 3615653.
Мне это не фатально, устраивает и так, косяком не считаю. Спасибо за код!
(Время в общих настройках - Калининград, которое реально - Москва)
*

Agard

  • Осваиваюсь на форуме
  • 83
  • -1
Чёт я совсем...  crazy! код формирует число при открытии формы, а дата п... по сохранению
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кто возьмется помочь с RSForm

Автор machmach

Ответов: 6
Просмотров: 122
Последний ответ 11.09.2017, 20:43:51
от Septdir
Побороть спам - RSForm! Pro 1.51.13

Автор sergey113

Ответов: 29
Просмотров: 1704
Последний ответ 05.09.2017, 23:58:08
от Slava77
RSForm и скрипты

Автор alexvai

Ответов: 29
Просмотров: 17273
Последний ответ 26.08.2017, 15:20:31
от rsn
настройка RSform- ограничения по возрасту

Автор xak400

Ответов: 3
Просмотров: 263
Последний ответ 22.06.2017, 09:01:25
от xak400
Форма расчетов в RSForm (ошибки при расчете)

Автор Stasweb

Ответов: 0
Просмотров: 153
Последний ответ 16.06.2017, 07:59:36
от Stasweb