Рус      Eng      
 
Comtec (499) 753-32-39
ул. Лодочная, 6к216/1, офис 502
Меню Меню forum
 
Тема: «Важно! Задвоение проводок...»


Вернуться к списку тем
 

Модератор
 
Всего сообщений: 235
Дата регистрации: 05.11.2008
Создано: 20.04.2009 15:45:48
 
Уже было три обращения от пользователей, связанных с тем, что по какой-то непонятной причине в версии 6666 начинают задваиваться проводки с двойной аналитикой (аналитикой по кредиту) в случае просмотра ЖХО через отчеты (в частности, журнал расчетов с партнерами). К сожалению мы у себя глюк воспроизвести не можем, но предполагаем, что это связано с ошибочным FK на таблице jdog.

Всем рекомендую выполнить лечилку:

ALTER TABLE "DBA"."jdog"
DELETE FOREIGN KEY "JDOG__ID";

ее нужно выполнять в однопользовательском режиме через интерактивный SQL.

Вроде бы после выполнения этой команды ошибка перестает проявляться.
 

Модератор
 
Всего сообщений: 235
Дата регистрации: 05.11.2008
Создано: 21.04.2009 17:51:34
 
К сожалению указанная в предыдущем сообщении лечилка не до конца исправляет ситуацию. Поэтому всем тем, у кого установлены версии 9.0.5 или 9.0.6 (6867) нельзя редактировать связанные проводки (с двойной аналитикой) в ЖХО, который открывается из отчетов по кнопке ЖХО. Иначе после редактирования будет возникать еще одна паразитная проводка. Связанные проводки можно редактировать только в ЖХО, который открыт по пункту меню "Журнал хозяйственных операций". Завтра-послезавтра на сайте будет новая версия, где указанной проблемы не будет и тогда я напишу лечилку, как удалить уже сформированные паразитные проводки.

К сожадению эта проблема нашей платформы и уследить за этой ошибкой мы не смогли.

Извиняюсь за причиненные неудобства.
 

Модератор
 
Всего сообщений: 235
Дата регистрации: 05.11.2008
Создано: 22.04.2009 16:35:33
 
Удалось исправить эту непрятную ошибку. Релиз выйдет сегодня-завтра. Для удаления образоваашихся лишних проводок с двойной аналитикой необходимо выполнить запрос:

Drop trigger xoz."Del_combined";

Delete xoz
FROM xoz
left outer join (SELECT min(id) a FROM xoz WHERE id_combined_trans > 0 group by id_combined_trans, whos_analit
having whos_analit = 'C') as cred on (xoz.id = cred.a)
left outer join (SELECT min(id) b FROM xoz WHERE id_combined_trans > 0 group by id_combined_trans, whos_analit
having whos_analit = 'D') as deb on (xoz.id = deb.b)
WHERE id_combined_trans > 0 and
whos_analit in ('C', 'D') and
(cred.a is null and deb.b is null);

CREATE TRIGGER "Del_combined".Del_combined after delete order 1 on DBA.xoz
referencing old as old_name
for each row
when(IsNull(old_name.id_combined_trans,0) <> 0)
begin
delete from xoz where id_combined_trans = old_name.id_combined_trans
end

Выполнять запрос желательно в однопользовательском режиме. Мы вставили эту лечилку в процедуру обновления, так что все, кто обновится на новый релиз лишние проводки почистятся автоматом.

Еще раз приношу наши извинения за ошибку.
 


Для комментариев необходимо пройти авторизацию.
 
Авторизация
 
Помощь

 
Форум Блоги Обновления
  hr
© Comtec, 2023
Почта: comtec@comtec.ru