Квитанция на чужой платеж

Технические вопросы по UTM 5.0
Ответить
Liliya
Сообщения: 6
Зарегистрирован: Сб май 29, 2010 11:23

Квитанция на чужой платеж

Сообщение Liliya »

Здравствуйте.
Обновились до 5.2.1-008 update 5. При внесении платежа выдается квитанция на платеж пятилетней давности :roll: .
В базе этот платеж с квитанции лежит в архивированной таблице payment_transactions_1 с ID внесенного.
Где и что нужно исправить?

Liliya
Сообщения: 6
Зарегистрирован: Сб май 29, 2010 11:23

Сообщение Liliya »

В логах после обновления добавляются следующие строчки:

Код: Выделить всё

?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT archive_id,start_date,end_date FROM archives ORDER BY id
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 UTM5 DBA&#58; archive ID <1> case&#58; start <= per_start && end >= per_end
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 UTM5 DBA&#58; archive ID <2> case&#58; start <= per_start && end >= per_end
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 UTM5 DBA&#58; archive ID <3> case&#58; start <= per_start && end >= per_end
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 UTM5 DBA&#58; start&#40;0&#41; <= r&#40;1311531743&#41; < end&#40;1311671025&#41;, adding non-archive table into report
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT account_id,payment_incurrency,currency_id,currency_rate,actual_date,payment_enter_date,method,payment_ext_number FROM payment_transactions WHERE id=94
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT table_name FROM archives WHERE archive_id='3' AND table_type='7'
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT account_id,payment_incurrency,currency_id,currency_rate,actual_date,payment_enter_date,method,payment_ext_number FROM payment_transactions_3 WHERE id=94
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT table_name FROM archives WHERE archive_id='2' AND table_type='7'
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT account_id,payment_incurrency,currency_id,currency_rate,actual_date,payment_enter_date,method,payment_ext_number FROM payment_transactions_2 WHERE id=94
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT table_name FROM archives WHERE archive_id='1' AND table_type='7'
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT account_id,payment_incurrency,currency_id,currency_rate,actual_date,payment_enter_date,method,payment_ext_number FROM payment_transactions_1 WHERE id=94
?Debug &#58; Jul 26 15&#58;03&#58;45 2aa9c580 DBCtx&#58; <683564032> SQL SELECT query&#58; SELECT login,password,basic_account,full_name,juridical_address,actual_address,tax_number,kpp_number,bank_account,email,passport,bank_id,mobile_telephone,home_telephone,work_telephone,web_page,icq_number,district,building,entrance,floor,flat_number,comments,personal_manager,house_id,is_juridical FROM users WHERE id='21'

Почему перебирает таблицы payment_transactions и не останавливается на нужной ?

atischenko77
Сообщения: 8
Зарегистрирован: Ср янв 09, 2013 18:05

Сообщение atischenko77 »

У меня та же проблема. Как то решили данную проблему?
У меня стоит UTM 5.2.1-008 FreeBSD 8.X (update 8).
Появилось при установке UTM на новый сервер ... ранее была UTM 5.2.1-008 FreeBSD 7.х ( какой апдейт не знаю - ставили до меня ещё в 2010-м году) на той UTM проблем таких не наблюдалось

atischenko77
Сообщения: 8
Зарегистрирован: Ср янв 09, 2013 18:05

Сообщение atischenko77 »

Нашёл причину у себя в базе. Причина данной проблемы не с UTM-кой, а с неправильным архивированием таблицы payment_transactions.
При архивировании забыли поменять AUTO_INCREMENT и в базе опять пошли записи с id = 1, 2, 3 и т.д.
Как я понимаю идёт выборка по полю id (как ключевому) и выбирает первую запись (если их несколько с одинаковым id) не зависимо от даты платежа.
Решилось только после архивирования - поставили AUTO_INCREMENT равным максимальное значение (смотрели в таблицах - payment_transactions и payment_transactions_ххххх) поля id + 1.
Могли бы ещё и по дате платежа выбирать - она же известна (как и все данные платежа). Вот такое вот нехорошее свойство в UTM 5.2.1-008u8.
По крайней мере в UTM 5.2.1-008u2 всё работало нормально.

Ответить