0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 9896 Просмотров
*

css_ufa

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

DARGO

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

css_ufa

  • Захожу иногда
  • 182
  • 10 / 0
А здесь вообще кто-нибудь кому-нибудь отвечает?
Бывают что не отвечают)

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

AL_ALEX

  • Глобальный модератор
  • 855
  • 112 / 1
Вот Вам тема в которой есть похожая ситуация, которая может помочь в вашем решении
*

sky777

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

Сначала пытался получать значение поля 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 / 0
А подскажите пожалуйста как этот номер прикрепить к названию файла, который загружался вместе с этой  формой ?
________________________________________
Решилось добавлением в поле "File Prefix"

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

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

maxi812

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

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



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

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


Спасибо
*

Langust

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

Nats

  • Осваиваюсь на форуме
  • 12
  • 2 / 0
Подскажите, пожалуйста.
Нужно  вывести значение {global:submissionid} в скрытое поле. Как?
*

BroodingAngel

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
  • Viktoriya Studio
Цитировать
//<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}
*

Anna228

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

BroodingAngel

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
  • Viktoriya Studio
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}. Этого достаточно, код работает.
*

Anna228

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


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

BroodingAngel

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
  • Viktoriya Studio
Скорее всего да, дело в версии, sky777 написал что код для RSForm версии выше 30. У меня версия RSForm! Pro 1.4.0 Rev 45. Попробуйте установить новую версию.
*

Anna228

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

68pin

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

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

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

Agard

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

Заявки падают всегда в спам при оформлении заявки через RSForm

Автор stitch808

Ответов: 7
Просмотров: 408
Последний ответ 31.01.2024, 16:51:58
от stitch808
Калькулятор на RSForm. Вопрос по JS

Автор ukrart

Ответов: 3
Просмотров: 1236
Последний ответ 18.08.2022, 11:48:44
от sivers
Правила валидации полей RSForm Pro

Автор Anvari6120

Ответов: 0
Просмотров: 1171
Последний ответ 26.07.2022, 19:02:44
от Anvari6120
Прикрипление файлов в форме RSForm

Автор stitch808

Ответов: 0
Просмотров: 1244
Последний ответ 28.03.2022, 17:34:40
от stitch808
RSForm макеты отображаются без отступов по всей ширине экрана

Автор pechenye

Ответов: 0
Просмотров: 1284
Последний ответ 08.02.2022, 18:39:35
от pechenye