Форум A4on.TV и ПО "Атирра"
Программный продукт "Атирра" => Неполадки и их устранения => Тема начата: Галина от Марта 03, 2010, 14:24:04
-
Дмитрий добрый день!
При закрытии месяца вылетает ошибка:
MainForm
Multiple rows in singleton select
Multiple rows in singleton select
At procedure 'calc_day_CRV_customer' line:42 col:7
At procedure 'close_month_proc' line:85 col:1
Начали вести в феврале, после установке пробовала - все закрывалось
-
Добрый день.
Галина, по характеру ошибки видно что одному абоненту назначено два персональных тарифа на одну услугу
для быстрого поиска этого абонента, выполните следующие строчки в меню Файл - Администрирование - Выполнение запросов
select c.account_no as licevoy, s.name as usluga, count(p.tarif_sum)
from personal_tarif p
inner join customer c on (p.customer_id = c.customer_id)
inner join services s on (s.service_id = p.service_id)
where '2010-03-01' between p.date_from and p.date_to
group by c.account_no, s.name
having count(p.tarif_sum) > 1
команда выведет всех абонентов с неверными тарифами
для выполнения просто скопируйте в буфер обмена текст на английсокм между линиями и вставьте его в окно выполнения запросов
и нажмите выполнить (зеленая стрелка) и, внизу страницы, выдаст список лицевых и тарифы
-
Дмитрий спасибо!!! все получилось :)
Еще один вопрос: при загрузке платежей (в нашем случае реестры сбербанка) программа игнорирует платежи с копейками, их приходиться заносить в ручную, например 100р. оо коп. - заносит, а 100руб. 80 коп. - нет. Можно ли это исправить?
-
Посмотрите Файл - Настройки -Округлять до.
должно стоять 2 - копейки
просьба вышлите мне файл. я посмотрю что шлет Сбербанк
-
Сама разобралась в чем дело, в настройках разделитель дробной части стоит точка, надо было поставить запятую.
Все равно спасибо!!!
-
скажите пожалуйста,у меня при закрытии месяца вылазит такая ошибка
MainForm
Multiple rows in singleton select
Multiple rows in singleton select
At procedure 'calc_day_CRV_customer' line:42 col:7
At procedure 'close_month_proc' line:84 col:1
как ее исправить?заранее спасибо!
-
У абонента более одного персонального тарифа
Ответ на пару строк выше, только дату нужно сменить
select c.account_no as licevoy, s.name as usluga, count(p.tarif_sum)
from personal_tarif p
inner join customer c on (p.customer_id = c.customer_id)
inner join services s on (s.service_id = p.service_id)
where '2011-12-01' between p.date_from and p.date_to
group by c.account_no, s.name
having count(p.tarif_sum) > 1
-
Дмитрий, я менял дату и выполнял запросы, у меня внизу строка вся пустая, то есть нет никого с несколькими персональными тарифами, так же просматривал вручную у всех только один персональный тариф....
-
Выполните SQL запрос в программе IBQ, которая работает с базами, и у Вас все получится. Выпадут лицевые счета в которых есть ошибки. Если проверяете в рукопашную, особое внимание в персональных тарифах обратить на дату. Как правило такая ошибка появляется при пересечении дат. Например тариф с 12.01.2010 по 31.10.2010. Я на 100 проц. уверен, что проблема в датах.
-
Ошибка закрытия месяца может возникнуть в двух случаях.
1 - У абонента несколько пересекающихся персональных тарифах.
2 - Пересечение тарифов на услуги.
В обоих случаях Вам необходимо проверить даты на пересечение,
т.е. не должно быть так, что один тариф еще не закончился, а новый уже начался.
-
все получилось, спасибо всем большое проблема была в дате! спасибо и удачи всем!
-
Помогите!
Не закрывает месяц.
Пишет в окошке:
MainForm:
Can't format message 13:98 -- message system code -4
Database file appears corupt (C:\ATIRRA\DB\PERVOMAISKY.FDB)
Wrong page type.
Page 672 is of wrong type (expected 7, found 5).
At procedure 'CALC_DAY_TARIF' line:14, col:3
At procedure 'CLOSE_MONTH_PROC' line: 26, col:3
At procedure 'CLOSE_PERIOD_PROC' line:13, col:5.
Пробовал как сказано тут: Тема: Чем исправить файл базы данных. Не помогло.
-
У Вас испорчена база данных, о чем и сообщается в тексте ошибки
Database file appears corupt (C:\ATIRRA\DB\PERVOMAISKY.FDB)
Проверьте HDD и ОЗУ вашего сервера.
Первое, Вы создаете резерные копии базы данных?
если да, то найдите рабочую версию.
если нет, то:
1) Закройте все версии программы
2) Сделайте копию файла БД C:\ATIRRA\DB\PERVOMAISKY.FDB, и ничего не делайте с копией!
далее постарайтесь самостоятельно восстановить БД http://www.atirra.com/HELP/repair_db.htm
если ничего не поможет. обращайтесь, но восстановление будет платным.
-
Спасибо за быстрый ответ.
Увы, копий нет. Да и самому не удалось восстановить. :(
Будем думать...
-
Большое спасибо, благодаря форуму исправил схожую ошибку пересечения дат персональных тарифов.
-
Запрос который находит ошибку вне зависимости от даты
select
c.account_no, s.name, c.customer_id
from PERSONAL_TARIF P1
inner join customer c on (c.customer_id = p1.customer_id)
inner join services s on (s.service_id = p1.service_id)
where exists(select
*
from PERSONAL_TARIF P2
where P2.TARIF_ID <> P1.TARIF_ID
and P1.CUSTOMER_ID = P2.CUSTOMER_ID
and P1.SERVICE_ID = P2.SERVICE_ID
and P2.DATE_FROM between P1.DATE_FROM and P1.DATE_TO)