AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 18.03.2004, 06:41   #1  
chel is offline
chel
Участник
 
153 / 10 (1) +
Join Date: 02.09.2003
Вопрос по ссылочной целостности
Интересно, почему разработчики Axapta не возложили контроль ссылочной целостности на СУБД? В итоге система контролирует ссылочную целостность не везде. Наример, если настроить счет кассы на счет ГК, а потом удалить этот счет из плана счетов, то строки журнала кассы будут разнесены на несуществующий счет ГК. Или я что-то где-то не включил?
Old 18.03.2004, 14:31   #2  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
потому что они принципиально решили ничего не возлагать на СУБД.

Почему НИЧЕГО не возлагается на СУБД? Изначально предполагалось, что СУБД могут использоваться разные. Даже те, кто не поддерживает развитые механизмы. Даже mySQL По маркетинговым соображениям остались только МС СКЛ и Оракл.

Почему ссылочную целостность можно включить и выключить? Потому что есть понятие черновик/данные. Черновики (журналы/заказы) могут безболезненно удалятся. Все данные остаются в проводках. Для того, чтобы черновики можно было удалять, контроль ссылочной целостности по проводкам в черновиках необходимо отключать. А вот у основных справочников наоборот включать.

Включение/выключение контроля делается программистом. См. таблицы, свойства DeleteActions.

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

Спасает то, что переключать deleteAction можно самому.
Old 18.03.2004, 21:30   #3  
chel is offline
chel
Участник
 
153 / 10 (1) +
Join Date: 02.09.2003
Спасибо за ответ. То есть, если я правильно понял, это ошибка в модуле кассы, что можно разносить на несуществующий счет
Old 19.03.2004, 11:11   #4  
Oleg Krutikov is offline
Oleg Krutikov
Участник
 
10 / 10 (1) +
Join Date: 07.10.2003
Location: Москва
К таблице LedgerTable добавьте DeleteAction "Restricted" для таблицы RCashLedgerAccount. После этого счёт указанный в профиле разноски кассы удаляться из плана счетов не будет.
Old 19.03.2004, 14:28   #5  
TravellerInTime is offline
TravellerInTime
Участник
TravellerInTime's Avatar
 
130 / 36 (2) +++
Join Date: 14.07.2003
Location: Россия, Тула
Quote:
Изначально опубликовано chel
Спасибо за ответ. То есть, если я правильно понял, это ошибка в модуле кассы, что можно разносить на несуществующий счет
Нет, не правильно! Такой бардак в Аксапте встречается повсеместно!
Old 19.03.2004, 14:57   #6  
mazzy is offline
mazzy
Участник
mazzy's Avatar
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Join Date: 29.11.2001
Location: Москва
Blog Entries: 10
Quote:
Изначально опубликовано chel
То есть, если я правильно понял, это ошибка в модуле кассы, что можно разносить на несуществующий счет
да, ошибка.
Old 20.07.2012, 17:39   #7  
imir is offline
imir
Участник
 
159 / 161 (6) ++++++
Join Date: 28.05.2010
Quote:
Originally Posted by mazzy View Post
да, ошибка.
Начал ковыряться в 2012-й и как бэ.. хм.. учитывая, что теперь много ссылок recid, проблема встает в полный рост. Банально можно удалить структуру аналитик, узнать об этом через неделю и .. куча битых recid, невозможность разнести операции, построить отчеты.. все давай досвидания база.

Зарегил даже в коннект пост на эту тему,

https://connect.microsoft.com/dynami...-table#details

Там приложен файлик - 13000 "битых" delete action по таблицам "Group" и "Main".

Мне кажется, хотя бы для "Group" и "Main" можно сделать автоматическую проверку целостности, или нет?
Old 20.07.2012, 18:22   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,004 / 3299 (118) ++++++++++
Join Date: 12.10.2004
Location: Москва
Blog Entries: 2
Да не сильно она вам поможет. Ну разве что тем что раньше в аксапте коды были говрящие и даже при битой ссылке можно было по коду определить что за запись по смыслу была в справочнике удалена, то теперь с recId-ми это невозможно.

В общем, я бы не стал перекладывать на ядро баги X++ программистов.
Лучше уж тогда настроить логирование на удаление по всем справочникам в системе, можно будет легко восстанавливать записи при возникновении подобных проблем, а также находить по битой ссылке что за запись была.
Old 20.07.2012, 19:17   #9  
imir is offline
imir
Участник
 
159 / 161 (6) ++++++
Join Date: 28.05.2010
Quote:
Originally Posted by Logger View Post
Да не сильно она вам поможет.
Откуда такой вывод?

Quote:
Originally Posted by Logger View Post
Ну разве что тем что раньше в аксапте коды были говрящие и даже при битой ссылке можно было по коду определить что за запись по смыслу была в справочнике удалена, то теперь с recId-ми это невозможно.
И я о том же. Но (!) еще в довесок -даже зная код - нельзя штатными средствами завести обратно запись с таким же Recid

Quote:
Originally Posted by Logger View Post
В общем, я бы не стал перекладывать на ядро баги X++ программистов.
Эту обязанность на программистов возложили, в 1С допустим никто про это слыхом не слыхивал - все контролирует система, значит это возможно. Опять же - 13 000 (тринадцать тысяч) багов, это тенденция знаете - я не зря вначале процитировал Маззи

Quote:
Originally Posted by Logger View Post
Лучше уж тогда настроить логирование на удаление по всем справочникам в системе, можно будет легко восстанавливать записи при возникновении подобных проблем, а также находить по битой ссылке что за запись была.
Журнал базы данных на удаление по всем таблицам, кроме транзакционных мы и раньше делали, но вот вопрос - как искать по журналу БД запись по Recid, или вообще опираясь на ошибку "не найдена запись с кодом (пусто) в таблице ..."

Last edited by imir; 20.07.2012 at 19:21.
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Вопрос по возвратам soad DAX: Функционал 2 24.07.2008 13:04
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
Еще вопрос про покрытие по аналитикам в Сводном планировании rt2 DAX: Функционал 3 24.03.2006 18:56
Вопрос по финансам Лиса* DAX: Функционал 8 04.10.2004 14:19
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 01:50.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.