Форум русской поддержки Joomla!® CMS
07.12.2016, 12:45:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Формирование номера заявки/заказа в RSForm

 (Прочитано 6251 раз)
0 Пользователей и 1 Гость смотрят эту тему.
css_ufa
Осваиваюсь на форуме
***

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 179



« : 29.11.2010, 11:50:22 »

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

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #1 : 03.12.2010, 02:00:42 »

А здесь вообще кто-нибудь кому-нибудь отвечает?
Записан
css_ufa
Осваиваюсь на форуме
***

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 179



« Ответ #2 : 06.04.2011, 08:27:23 »

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

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

Репутация: +112/-1
Offline Offline

Пол: Мужской
Сообщений: 891



« Ответ #3 : 06.04.2011, 08:34:31 »

Вот Вам тема в которой есть похожая ситуация, которая может помочь в вашем решении
Записан
sky777
Новичок
*

Репутация: +2/-0
Offline Offline

Сообщений: 3


« Ответ #4 : 06.01.2013, 06:16:49 »

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

Сначала пытался получать значение поля 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
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #5 : 01.03.2013, 21:43:36 »

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

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

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

Репутация: +0/-0
Offline Offline

Сообщений: 9



« Ответ #6 : 19.04.2013, 11:26:24 »


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



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

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


Спасибо
Записан
Langust
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 5


« Ответ #7 : 25.11.2013, 17:57:25 »

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

Репутация: +1/-0
Offline Offline

Сообщений: 11



« Ответ #8 : 13.10.2014, 01:21:05 »

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

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 13



« Ответ #9 : 15.05.2015, 13:27:20 »

Цитировать
//<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
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #10 : 30.07.2015, 17:07:09 »

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

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 13



« Ответ #11 : 30.07.2015, 17:30:20 »

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
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #12 : 31.07.2015, 15:17:45 »



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

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 13



« Ответ #13 : 31.07.2015, 15:36:45 »

Скорее всего да, дело в версии, sky777 написал что код для RSForm версии выше 30. У меня версия RSForm! Pro 1.4.0 Rev 45. Попробуйте установить новую версию.
Записан
Anna228
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #14 : 03.08.2015, 10:03:12 »

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

Репутация: +1/-0
Offline Offline

Сообщений: 27


« Ответ #15 : 10.10.2015, 09:05:42 »

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

Сначала пытался получать значение поля 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
Осваиваюсь на форуме
***

Репутация: +0/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #16 : 29.12.2015, 00:05:08 »

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

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

Репутация: +0/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #17 : 29.12.2015, 00:29:53 »

Чёт я совсем...  Crazy код формирует число при открытии формы, а дата п... по сохранению
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet