[ОТВЕТИТЬ]
Опции темы
22.10.2015 23:43  
qwrty40
Доброго времени суток всем!
Возникла дурацкая ситуация... Дали задание создать подарочные сертификаты. Создал. А их вместо того, чтобы продавать по собственному номеру (в процессе продажи сертификат активируется и на его баланс зачисляется номинал), просто раздали в качестве подарков. В принципе, как вариант, можно оформить продажу и возврат этого чека (чтобы устаканить деньги в кассе) и далее использовать для оплаты, но это не лучший вариант. Подскажите, плз, как решить эту проблему (куда - главное - и что прописать в базу?)...
 
23.10.2015 05:51  
Eugin_S
Ну можно взять кассу без фискальника и через неё продать, а можно и руками добавить в БД. Но всё это, только, если ты знаешь номера сертификатов которые раздали.
Итак, тебе понадобится редактор таблиц MySQL и 3 таблицы из УКМ:
local_auth_account_journal - тут мы берем соответствие номера сертификата с его ID в базе
local_auth_certificate_account - тут мы сделаем сертификат активным
local_auth_account_journal - тут мы создадим начисление на счет сертификата

1. Идем в таблицу local_auth_account_journal и ищем в поле NAME наш сертификат, смотрим в поле ID из строки нашего сертификата.
2. Идем в таблицу local_auth_certificate_account и ищем строку нашего сертификата по полю ACCOUNT_ID. В поле ACTIVE ставим 1, в поле DATE_TO ставим дату, до которой сертификат действителен, в поле DAYS_TO_AFTER_ACTIVATE ставим количество дней, которые сертификат будет действителен после активации.
3. Идем в таблицу local_auth_account_journal, в конце нужно создать запись типа:

Код:
ID		ACCOUNT_ID	AMOUNT		DATE					SOURCE_TYPE		SOURCE_ID	CASH_ID		COMMENT					BALANCE		ACTION_DATE
45784	14866		1000.00		2015-10-22 	15:42:27	1				707526		1017004		Продажа сертификата		1000.00		2015-10-22 15:42:27
(Разметка тут разъехалась, но если вставишь в текстовый редактор - будет нормально)

ID не заполняешь - там автоинкремент, нужный ID сам встанет
ACCOUNT_ID тут твой ID из первой таблицы
AMOUNT тут сумма начисления
DATE время операции
SOURCE_TYPE, SOURCE_ID, CASH_ID, COMMENT - вроде можно оставить как есть, это привязка к чеку, но у тебя же нет чека
BALANCE сумма которая будет на сертификате (то же что в AMOUNT)
ACTION_DATE то же что в DATE
 
"Спасибо" Eugin_S от:
23.10.2015 05:54  
Eugin_S
Ну и забыл добавить: обязательно сначала забэкапиться и всё на свой страх и риск. (хотя я сотни раз такое делал)
 
23.10.2015 05:55  
Eugin_S
Цитата:
Сообщение от qwrty40
можно оформить продажу и возврат этого чека (чтобы устаканить деньги в кассе) и далее использовать для оплаты
Так не получится, при возврате начисление на сертификат отменится.
 
"Спасибо" Eugin_S от:
23.10.2015 14:38  
XsevenBeta
Более щадящий вариант активировать:
SET @Cert:='XXX';
UPDATE ukmserver.local_auth_account laa,ukmserver.local_auth_certificate_account laca SET laca.`active`=1
WHERE laca.`active`=0 AND laca.`account_id`=laa.`id` AND laa.`params`=@Cert;

А сами деньги закидывать через вёб.
 
"Спасибо" XsevenBeta от:
 
Опции темы



Часовой пояс GMT +3, время: 02:08.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.