Проверка дублирования

Ответить
boroda
Сообщения: 84
Зарегистрирован: Вт апр 15, 2008 6:06 am
Откуда: Chernushka
Контактная информация:

Проверка дублирования

Сообщение boroda »

* 14.11.2008\\
Проверка дублирования статических IP адресов для модуля Dv
А почему бы не сделать проверку на реквизиты клиентов. - ФИО , паспорт, и особенно Номер контракта
Также было бы не плохо, автоматическое предложение присвоить следующий по порядку Номер контракта, очень удобно (и нужно!) при работе нескольких операторов.

И еще такое предложение-патч, типа так:

--- Abills/mysql/Payments.pm 2008-08-08 03:25:20.000000000 +0600
+++ Abills/mysql/Payments.pm 2008-08-19 09:51:17.000000000 +0600
@@ -272,16 +272,16 @@
$WHERE = ($#WHERE_RULES > -1) ? "WHERE " . join(' and ', @WHERE_RULES) : '';

$self->query($db, "SELECT p.id, u.id, p.date, p.sum, p.dsc, if(a.name is null, 'Unknown', a.name),
- INET_NTOA(p.ip), p.last_deposit, p.method, p.ext_id, p.bill_id, p.uid, p.inner_describe
+ INET_NTOA(p.ip), p.last_deposit, p.method, p.ext_id, p.bill_id, p.uid, p.inner_describe,up.fio
FROM payments p
LEFT JOIN users u ON (u.uid=p.uid)
LEFT JOIN admins a ON (a.aid=p.aid)
+ LEFT JOIN users_pi up ON (up.uid=p.uid)
$WHERE
GROUP BY p.id
ORDER BY $SORT $DESC LIMIT $PG, $PAGE_ROWS;");

$self->{SUM}='0.00';
-
return $self->{list} if ($self->{TOTAL} < 1);
my $list = $self->{list};


--- cgi-bin/admin/index.cgi 2008-08-29 16:45:54.000000000 +0600
+++ cgi-bin/admin/index.cgi 2008-08-19 09:53:13.000000000 +0600

@@ -3601,7 +3588,7 @@
$list = $payments->list( { %LIST_PARAMS } );
$table = $html->table({ width => '100%',
caption => "$_PAYMENTS",
- title => ['ID', $_LOGIN, $_DATE, $_SUM, $_DESCRIBE, $_ADMINS, 'IP', $_DEPOSIT],
+ title => ['ID', $_LOGIN,$_FIO, $_DATE, $_SUM, $_DESCRIBE, $_ADMINS, 'IP', $_DEPOSIT],
cols_align => ['right', 'left', 'right', 'right', 'left', 'left', 'right', 'right'],
qs => $pages_qs,
ID => 'REPORT_PAYMENTS'
@@ -3610,6 +3597,7 @@
foreach my $line (@$list) {
$table->addrow($html->b($line->[0]),
$html->button($line->[1], "index=15&DATE=$LIST_PARAMS{DATE}&UID=$line->[11]"),
+ $line->[13],
$line->[2],
$line->[3],
$line->[4],

Ну и еще в паре мест, - тупо добавить столбик, бугалтерия скажет Вам огромное спасибо!

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Сообщение NiTr0 »

cols_align подправить забыли ;)
А дублирование - просто делается поле в базе ключевым...

boroda
Сообщения: 84
Зарегистрирован: Вт апр 15, 2008 6:06 am
Откуда: Chernushka
Контактная информация:

Сообщение boroda »

NiTr0 писал(а): А дублирование - просто делается поле в базе ключевым...
Я имею ввиду проверку скриптом, -иногда возникает необходимость указать одинаковые данные, и поэтому жестко привязывать к полю не имеет смысла. Я для себя написал обработчик - после нажатия просто ставит в поле следующий номер контракта, но знаний Perl не хватает, - немножко криво получается, и без проверки, ведь кто-то мог вручную поставить на порядок больший номер, например у вас след. - 845, а опер случайно введет 8045.

Ответить