Andrei Опубликовано 4 января, 2018 · Жалоба ... и упомянутая вами "кастомизация под требования местных органов" еще за дополнительные деньги? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
saaremaa Опубликовано 5 января, 2018 · Жалоба Там их писать минут 20 с чаем и перекурами. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 5 января, 2018 · Жалоба 1 час назад, saaremaa сказал: Там их писать минут 20 с чаем и перекурами. Ну-ну. Я уже пробовал. Ни фига это не просто получается. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 5 января, 2018 · Жалоба Господа - кто-нить делал генерацию счетов в pdf? Поделитесь плиз Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lidia Опубликовано 12 января, 2018 · Жалоба В 04/01/2018 в 22:21, Andrei сказал: ... и упомянутая вами "кастомизация под требования местных органов" еще за дополнительные деньги? На основании требований к оператору связи мы предоставляем оценку стоимости с учетом сделанных наработок (уже с учетом кастомизации). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 12 января, 2018 · Жалоба 2 часа назад, lidia сказал: На основании требований к оператору связи Еще раз - требования типовые, утверждены ППРФ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба При ревизии абон.базы ЛБ для выгрузок в СОРМ аыявил в accounts пустую запись: > select a.uid, a.login, a.name, a.abonent_surname, a.abonent_name, a.abonent_patronymic,agr.number from accounts as a, agreements as agr where a.uid=agr.uid and a.uid=6 ; +-----+-------+------+-----------------+--------------+--------------------+-------------+ | uid | login | name | abonent_surname | abonent_name | abonent_patronymic | number | +-----+-------+------+-----------------+--------------+--------------------+-------------+ | 6 | NULL | | | | | 14-01/140_1 | | 6 | NULL | | | | | 14-02/140_2 | | 6 | NULL | | | | | number-248 | +-----+-------+------+-----------------+--------------+--------------------+-------------+ 3 rows in set (0.00 sec) При том, что реальный абонент с договором номер 14-01/140 вот он: select a.uid, a.login, a.name, a.abonent_surname, a.abonent_name, a.abonent_patronymic,agr.number from accounts as a, agreements as agr where a.uid=agr.uid and agr.number="14-01/140"; +-----+-------+-------------------------------------------------------------------------------------+-----------------+--------------+--------------------+-----------+ | uid | login | name | abonent_surname | abonent_name | abonent_patronymic | number | +-----+-------+-------------------------------------------------------------------------------------+-----------------+--------------+--------------------+-----------+ | 262 | bshu | Баххххххх ххххххххххххххххххххххххххххххОАО | | | | 14-01/140 | +-----+-------+-------------------------------------------------------------------------------------+-----------------+--------------+--------------------+-----------+ 1 row in set (0.01 sec) Думаю - подчищу базу, чтоб не отсвечивала пустая запись в выгрузках в СОРМ (там такое не допускается), однако ж delete from accounts where uid=6; ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`billing`.`card_set`, CONSTRAINT `card_set_ibfk_2` FOREIGN KEY (`acc_tpl`) REFERENCES `accounts` (`uid`)) Как я понимаю - связанные записи в других таблицах? Но не пойму где именно: mysql> select * from card_set ; +--------+----------------------------------------------------+------------+--------+---------+---------------+ | set_id | set_descr | created_by | cur_id | acc_tpl | expire_period | +--------+----------------------------------------------------+------------+--------+---------+---------------+ | 1 | Универсальная карта оплаты | 0 | 1 | 6 | 0 | +--------+----------------------------------------------------+------------+--------+---------+---------------+ 1 row in set (0.00 sec) Кто сталкивался с таким или подобным? Карты оплаты не используем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба И попутно спрошу - в каком поле хранится параметр, указывающий к какому агенту относится учетка (скорее всего таблица vgroups)? describe vgroups; +----------------+---------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+---------------------+------+-----+---------------------+----------------+ | vg_id | int(11) | NO | PRI | NULL | auto_increment | | uid | int(11) | YES | MUL | NULL | | | cu_id | int(11) | YES | MUL | NULL | | | descr | varchar(255) | NO | | | | | login | varchar(128) | YES | MUL | NULL | | | pass | varchar(128) | YES | | NULL | | | agrm_id | int(11) | YES | MUL | NULL | | | blk_req | tinyint(4) | NO | MUL | 0 | | | blocked | tinyint(4) | NO | MUL | 0 | | | changed | tinyint(4) | NO | MUL | 0 | | | tar_id | int(11) | YES | MUL | NULL | | | id | int(11) | NO | MUL | 0 | | | shape | int(10) unsigned | NO | | 0 | | | c_date | date | NO | MUL | 0000-00-00 | | | d_limit | bigint(20) unsigned | NO | | 0 | | | d_clear | date | YES | | NULL | | | max_sessions | int(11) | NO | | 1 | | | amount | double | NO | | 0 | | | current_shape | int(10) unsigned | NO | | 0 | | | ip_det | tinyint(1) | NO | | 0 | | | port_det | tinyint(1) | NO | | 0 | | | archive | tinyint(1) | NO | MUL | 0 | | | acc_ondate | datetime | NO | MUL | 0000-00-00 00:00:00 | | | acc_offdate | datetime | NO | MUL | 0000-00-00 00:00:00 | | | block_date | datetime | NO | | 0000-00-00 00:00:00 | | | creation_date | timestamp | NO | | CURRENT_TIMESTAMP | | | template | tinyint(1) | NO | | 0 | | | dirty | tinyint(4) | NO | | 0 | | | connected_from | int(11) | YES | | NULL | | | parent_vg_id | int(11) | YES | MUL | NULL | | | port_id | int(11) | YES | MUL | NULL | | | user_packet_id | int(11) | YES | MUL | NULL | | +----------------+---------------------+------+-----+---------------------+----------------+ 32 rows in set (0.00 sec) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Susanin Опубликовано 21 февраля, 2018 · Жалоба id | int(11) | NO | MUL | 0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Heggi Опубликовано 21 февраля, 2018 · Жалоба В первом случае uid=6, а во втором 262. Это разные абоненты с точки зрения БД. Да и номера договоров различаются. 14-01/140_1 != 14-01/140 Думаю надо смотреть в поле archive, если оно 1 - то учетка/договор/абонент удалены (через веб-интерфейс не видно будет) и в СОРМ удаленных выгружать наверное не стоит. ID агента - vgroups.id Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба mysql> select count(*) from accounts where login=''; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql> select count(*) from accounts where login=NULL; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql> select count(*) from accounts where login='NULL'; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql> select count(*) from accounts where login="NULL"; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) Вот и надо почистить их. В вэб-интерфейсе ни пользователей, ни учеток с номерами договоров 14-01/140_1 или 14-01/140_2 или number-248 нет. И не архивные они: select a.uid, a.archive, a.login, a.name, a.abonent_surname, a.abonent_name, a.abonent_patronymic,agr.number from accounts as a, agreements as agr where a.uid=agr.uid and a.uid=6 ; +-----+---------+-------+------+-----------------+--------------+--------------------+-------------+ | uid | archive | login | name | abonent_surname | abonent_name | abonent_patronymic | number | +-----+---------+-------+------+-----------------+--------------+--------------------+-------------+ | 6 | 0 | NULL | | | | | 14-01/140_1 | | 6 | 0 | NULL | | | | | 14-02/140_2 | | 6 | 0 | NULL | | | | | number-248 | +-----+---------+-------+------+-----------------+--------------+--------------------+-------------+ 3 rows in set (0.00 sec) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Heggi Опубликовано 21 февраля, 2018 · Жалоба 10 минут назад, Andrei сказал: select count(*) from accounts where login=NULL; Так не правильно. надо select count(*) from accounts where login is NULL; Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба mysql> select count(*) from accounts where login is NULL; +----------+ | count(*) | +----------+ | 1 | +----------+ 1 row in set (0.00 sec) mysql> select uid,name,login from accounts where login is NULL; +-----+------+-------+ | uid | name | login | +-----+------+-------+ | 6 | | NULL | +-----+------+-------+ 1 row in set (0.00 sec) Чет я не пойму что к чему. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Heggi Опубликовано 21 февраля, 2018 · Жалоба select archive from agreements where uid=6; 1 минуту назад, Andrei сказал: mysql> select count(*) from accounts where login is NULL; +----------+ | count(*) | +----------+ | 1 | +----------+ 1 row in set (0.00 sec) mysql> select uid,name,login from accounts where login is NULL; +-----+------+-------+ | uid | name | login | +-----+------+-------+ | 6 | | NULL | +-----+------+-------+ 1 row in set (0.00 sec) Чет я не пойму что к чему. 1 Абонент и к нему 3 договора. Видимо так. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба mysql> select archive,number from agreements where uid=6; +---------+-------------+ | archive | number | +---------+-------------+ | 1 | 14-01/140_1 | | 1 | 14-02/140_2 | | 0 | number-248 | +---------+-------------+ 3 rows in set (0.00 sec) Т.е. один-то должен быть виден. А нету Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Heggi Опубликовано 21 февраля, 2018 · Жалоба Интересный глюк. Проверил на тестовом - у нас не проявляется. Хотя у нас версия 2.0-024 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mvelich Опубликовано 21 февраля, 2018 · Жалоба посмотрите select * from usergroups_staff where uid = 6; абонент д.б. привязан к нулевой группе, иначе в интф он может не отобразиться Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба 28 минут назад, mvelich сказал: абонент д.б. привязан к нулевой группе, иначе в интф он может не отобразиться select * from usergroups_staff where uid = 6; +----------+-----+ | group_id | uid | +----------+-----+ | 0 | 6 | | 1 | 6 | +----------+-----+ 2 rows in set (0.00 sec) а что за 1я группа еще видна? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mvelich Опубликовано 21 февраля, 2018 · Жалоба 7 minutes ago, Andrei said: а что за 1я группа еще видна? Ну... какая-то группа с id = 1 select * from usergroups where group_id = 1; А этот абонент у Вас, случаем, не шаблон? Покажите полную запись select * from accounts where uid = 6\G 5 minutes ago, mvelich said: А этот абонент у Вас, случаем, не шаблон? Скорее всего, так и есть. При удалении ругается на связь с card_set (набор карт), как раз к набору карт и привязывается шаблон пользователя Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба Вот что видно: mysql> select * from usergroups where group_id = 1; +----------+------------------+------------------+---------------+-------------+-------------+--------------+--------------+---------------+--------------+--------------+-----------------------+-----------------------------+----------------+-------------------+ | group_id | name | description | promise_allow | promise_max | promise_min | promise_rent | promise_till | promise_limit | promise_curr | block_amount | block_duration_debtor | block_duration_denouncement | promise_ondays | promise_blockdays | +----------+------------------+------------------+---------------+-------------+-------------+--------------+--------------+---------------+--------------+--------------+-----------------------+-----------------------------+----------------+-------------------+ | 1 | Абоненты | Абоненты | 1 | 50 | 10 | 0 | 3 | 30 | 0 | 0 | 0 | 0 | 0 | 10 | +----------+------------------+------------------+---------------+-------------+-------------+--------------+--------------+---------------+--------------+--------------+-----------------------+-----------------------------+----------------+-------------------+ 1 row in set (0.00 sec) mysql> select * from accounts where uid = 6; +-----+------+-------+------+----------+------+-------+------+-------+------+-------+---------------+----------+-----------+------------------+---------------+------------------+------+-------+------+------+------+------+------+-------+-----------+-----------+-------------+-------------+-------------+---------+----------------+---------------+-----------------+------------+------------+---------------------+--------------+---------------------+------+-------+----------+---------+--------+-----------+--------------+-----------------+--------------------+ | uid | uuid | login | pass | ipaccess | type | descr | name | phone | fax | email | bill_delivery | category | bank_name | branch_bank_name | treasury_name | treasury_account | bik | settl | corr | kpp | inn | ogrn | okpo | okved | gen_dir_u | gl_buhg_u | kont_person | act_on_what | pass_sernum | pass_no | pass_issuedate | pass_issuedep | pass_issueplace | birthdate | birthplace | last_mod_date | wrong_active | wrong_date | oksm | okato | template | archive | mobile | ownership | abonent_name | abonent_surname | abonent_patronymic | +-----+------+-------+------+----------+------+-------+------+-------+------+-------+---------------+----------+-----------+------------------+---------------+------------------+------+-------+------+------+------+------+------+-------+-----------+-----------+-------------+-------------+-------------+---------+----------------+---------------+-----------------+------------+------------+---------------------+--------------+---------------------+------+-------+----------+---------+--------+-----------+--------------+-----------------+--------------------+ | 6 | NULL | NULL | | 0 | 2 | | | | | | 1 | 0 | | | | | | | | | | | | | | | | | | | NULL | | | 0000-00-00 | | 2012-06-21 07:23:01 | 0 | 0000-00-00 00:00:00 | 643 | | 1 | 0 | NULL | NULL | | | | +-----+------+-------+------+----------+------+-------+------+-------+------+-------+---------------+----------+-----------+------------------+---------------+------------------+------+-------+------+------+------+------+------+-------+-----------+-----------+-------------+-------------+-------------+---------+----------------+---------------+-----------------+------------+------------+---------------------+--------------+---------------------+------+-------+----------+---------+--------+-----------+--------------+-----------------+--------------------+ 1 row in set (0.00 sec) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mvelich Опубликовано 21 февраля, 2018 · Жалоба 39 minutes ago, Andrei said: Вот что видно: Как и предполагалось, template = 1. Можно или в том запросе, где вы получаете данные для сорма, отфильтровать "and template = 0" (best) или попробовать удалить набор карт. Возможная засада -- что он уже где-то был использован, пусть даже в тестовом режиме, и система не даст этого сделать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 21 февраля, 2018 · Жалоба Может сделать update accounts template set 0 where uid = 6 а потом просто удалить? На счет карт - в вэбе в "наборах карт" пусто и тут select * from pay_cards; Empty set (0.00 sec) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mvelich Опубликовано 22 февраля, 2018 · Жалоба 14 hours ago, Andrei said: update accounts template set 0 where uid = 6 Тоже вариант ) Можно тем же запросом проставить ей логин (чтобы удобнее было искать), а потом штатно через интф удалить Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 22 февраля, 2018 · Жалоба Только в синтаксисе я накосячил. :) Надо: update accounts set template=0, login='empty' where uid=6; Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 6 июля, 2018 · Жалоба После сильнейшей грозы почему-то стали отваливаться pppoe сессии. Запустил радиус-агента в режиме debug, в логе при разрыве сессии: [RunAcctRequestInst:1802] Acct STOP (Port-Error), Session-Id 0000198C, vg_id 1313 [RunAcctRequestInst:1825] Record with SessionID = '0000198C' found in cache [do_sql_query:354] SELECT t.traff_type, t.dynamic_rent, c.cat_idx, c.includes, c.above, l.c_limit_in, l.c_limit_out FROM .... [PutIpBack:275] Put ip 172.21.43.250 back to pool [RunAcctRequestInst:1907] Ip 172.21.43.250 released for session 0000198C (Acct-STOP) [do_sql_query:354] DELETE FROM `sessionsradius` WHERE `session_id` = '0000198C' AND nas = '1474477830' [Close:1600] Session '0000198C' removed from DB. И такие Acct STOP (Port-Error) пролетают пачкой, штук 30-40. Потом эти роутеры поднимают сессии обратно,но через 4 минуты опять тоже самое. В чем может быть причина? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...