01.12.2006, 15:28 | #1 |
Участник
|
При удалении компании не все данные...???
Добрый день!
Вопрос такой: Было ли у кого так, что при удалении компании в таблицах остаются данные удаленной компании?? И с чем это может быть связано? |
|
01.12.2006, 16:34 | #2 |
Member
|
Например, с тем, что вы удаляете из толстого клиента, а рядом работает АОС.
__________________
С уважением, glibs® |
|
01.12.2006, 16:44 | #3 |
Участник
|
Нет, толстый клиент ни у кого не настроен, только тонкий.
по произвольно выбранным таблицам видно что данные осталися везде! (проблему обнаружили при синхронизации, когда уменшили поле - не создавался уникальный индекс) ПС: кста забыл сразу написать - ax30sp4 sql2000 Последний раз редактировалось Jony; 01.12.2006 в 16:46. |
|
01.12.2006, 17:03 | #4 |
Злыдни
|
А может при запросе на удаление данных по компании Вы ответили "Нет"? Компания удалилась, а данные из таблиц нет
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
01.12.2006, 17:05 | #5 |
Member
|
Я сталкивался с такой проблемой. Но я всегда грешил на двухзвенку. Насколько я понял, она не чистит кэш АОСа, который потом благополучно сливается в базу при его остановке. Хотя могу и ошибаться.
В трехзвенке ставил несколько раз опыты, и проблема не воспроизводилась. М.б. вы раньше так работали, а м.б. еще чего. Проверить мусор можно так sp_msforeachtable "select dataareaid from ? where dataareaid <> 'dat' and dataareaid <> 'mfc' group by dataareaid" А удалить примерно так sp_msforeachtable "delete from ? where dataareaid = 'XXX'" На таблицы, у которых данные хранятся не по компаниям оно обругается, но можно не обращать внимание.
__________________
С уважением, glibs® |
|
01.12.2006, 17:08 | #6 |
Участник
|
эээ, а нету отдельного запроса на подтверждение удаления данных, только 1 - да\нет
|
|
01.12.2006, 17:14 | #7 |
Участник
|
2 glibs - как удалить мусор я вкурсе (всеравно спс , я всевремя забываю как называется sp_msForEachTable )
Но интересует причина. Удаляли с клиента, с тонкого. В любом случае в аксе нет компании (в DataArea) а данные есть - по идее либо все, либо ничего должнобыть. |
|
01.12.2006, 17:31 | #8 |
Злыдни
|
Насколько я понял, процедура удаления зависит от того, из какой текущей компании происходит удаление. Если перейти к другой компании и из нее произвести удаление, оно произойдет по одному "пути", а вот если производить удаление компании, в которой находишься сейчас, то "путь" другой.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
01.12.2006, 17:37 | #9 |
Axapta
|
Цитата:
X++: public static boolean validateDelete(DataArea dataArea) { #admin if (dataArea.Id == curExt()) { throw error("@SYS27143"); } ... } |
|
01.12.2006, 17:38 | #10 |
Участник
|
Если удалять компанию в которой находишся, то ничего не удалится. Ну просто поругает (Ошибка: Компания по умолчанию) и не даст ничего сделать (метод xDataArea::validateDelete()
но про другой путь - это верно.. Последний раз редактировалось Jony; 01.12.2006 в 17:40. |
|
01.12.2006, 17:38 | #11 |
Member
|
2 Jony
Еще бывает, удаление компании заканчивается неудачно, кстати. Тогда тоже может остаться мусор.
__________________
С уважением, glibs® |
|
01.12.2006, 17:41 | #12 |
Axapta
|
Т.е. где-то кривой код глубоко в супере? Там же, судя по коду, если неудачно удалились данные, то и компания не удаляется.
|
|
01.12.2006, 17:49 | #13 |
Axapta
|
Ну, можно просто удалить данные из таблицы DataArea ручками, через обозреватель. Тогда весь мусор и останется. Может что-то подобное некий вредитель у Вас проделал?
|
|