- Можно ли получить информацию о критериях связности таблиц для того, чтобы время от времени проверять их (связей) целостность?
Поясню на примере, для чего это нам понадобилось...
В SpSopHoz обнаружено примерно 10% от общего числа записей, отвязанных от Soprhoz. Данная информация получена путем выполнения простенького запроса:Эти отвязанные записи показываются в хозоперациях в интерфейсе распределения платежа (нижняя панель), не удаляются в интерфейсе и препятствуют распределению платежа!Код: Выделить всё
Select SpSopHoz.* Where (( SpSopHoz.cSoprHoz == SoprHoz.NRec )) and not IsValidAll(tnSoprHoz) order by SpSopHoz.cSoprHoz;
Выискивать их в таблице SpSopHoz фактически можно только по сумме, либо нужно строить более сложные запросы с привлечением информации из KatSopr и пр.
Посему и возникает вопрос: есть ли информация о связности таблиц - критерии? И можно ли ее получить?
Ну, или (на худой конец) нельзя ли получить ответ на вопрос: приведенный выше запрос можно считать критерием связности этих двух таблиц?
Иными словами, можно ли удалить выбранные таким образом записи, не опасаясь удалить нужную информацию?
Есть ли критерии связанных таблиц?
-
- партнер
- Сообщения: 82
- Зарегистрирован: Ср, 19/09/2007 08:35
- Имя Фамилия: Максим Шагубаков
- Откуда: Галактика-Урал
- Контактная информация:
Есть ли критерии связанных таблиц?
От заказчика поступил следующий вопрос:
-
- топ-софт
- Сообщения: 97
- Зарегистрирован: Пн, 24/09/2007 17:53
- Имя Фамилия: Юрий Герман
- Откуда: ТопСофт
- Контактная информация:
Проверка целостности должна производиться встроенными средствами проверки:
1. Если распределение не работает - обращайтесь в техподдержку для регистрации инцидента
2. Не факт, что SpSopHoz должен всегда ссылаться на SoprHoz, так что приведенный критерий использовать нельзя
- модуль Настройка
пункты меню Администратор - Проверка целостности таблиц - ...
1. Если распределение не работает - обращайтесь в техподдержку для регистрации инцидента
2. Не факт, что SpSopHoz должен всегда ссылаться на SoprHoz, так что приведенный критерий использовать нельзя
-
- партнер
- Сообщения: 82
- Зарегистрирован: Ср, 19/09/2007 08:35
- Имя Фамилия: Максим Шагубаков
- Откуда: Галактика-Урал
- Контактная информация:
Все-таки остался следующий вопрос:
Каким штатным средством я могу «выловить» и удалить зависшую ссылку: запись SpSopHoz, имеющую ссылку на несуществующую запись SoprHoz?
У меня есть предположение насчет Контроля целостности таблиц КБУ.
В нем есть следующие настройки:
При проверке удалять отвязанные записи в журнале хозопераций (и в журнале платежей)
И проверять синхронизацию журнала хозопераций и платежей
Хватит ли этих проверок, чтобы убедиться в корректности всей таблицы SpSopHoz?
Каким штатным средством я могу «выловить» и удалить зависшую ссылку: запись SpSopHoz, имеющую ссылку на несуществующую запись SoprHoz?
У меня есть предположение насчет Контроля целостности таблиц КБУ.
В нем есть следующие настройки:
При проверке удалять отвязанные записи в журнале хозопераций (и в журнале платежей)
И проверять синхронизацию журнала хозопераций и платежей
Хватит ли этих проверок, чтобы убедиться в корректности всей таблицы SpSopHoz?
- larin
- топ-софт
- Сообщения: 228
- Зарегистрирован: Пн, 10/09/2007 12:13
- Имя Фамилия: Михаил Ларин
- Откуда: ТопCофт
- Контактная информация:
Если не критерии, то сами связи таблиц поможет выявить вот это: http://forum.galaktika.ru/viewtopic.php?t=523
-
- топ-софт
- Сообщения: 2
- Зарегистрирован: Пт, 25/04/2008 17:40
- Имя Фамилия: Игорь Яковлев
- Откуда: ТопСофт
- Контактная информация:
Имеется служебный интерфейс, который производит анализ корректности записей таблицы SpSopHoz.
В меню его нет, поэтому для его вызова следует через меню "Сервис->Утилиты->Запуск внешнего интерфейса" запустить внешний интерфейс F_SOPRHOZ::RESCUE_DB3 (F_SoprHoz.res).
В данном интерфейсе после выполнения диагностики отображаются все отвязанные записи таблицы SpSopHoz, т.е. записи, которые ссылаются на несуществующий SoprHoz. Там же можно удалить эти отвязанные записи.
В меню его нет, поэтому для его вызова следует через меню "Сервис->Утилиты->Запуск внешнего интерфейса" запустить внешний интерфейс F_SOPRHOZ::RESCUE_DB3 (F_SoprHoz.res).
В данном интерфейсе после выполнения диагностики отображаются все отвязанные записи таблицы SpSopHoz, т.е. записи, которые ссылаются на несуществующий SoprHoz. Там же можно удалить эти отвязанные записи.
- larin
- топ-софт
- Сообщения: 228
- Зарегистрирован: Пн, 10/09/2007 12:13
- Имя Фамилия: Михаил Ларин
- Откуда: ТопCофт
- Контактная информация:
Хочу предостеречь!
Утилиты
F_SOPRHOZ::RESCUE_DB1
F_SOPRHOZ::RESCUE_DB2
F_SOPRHOZ::RESCUE_DB3
F_SOPRHOZ::RESCUE_DB4
используйте только на свой страх и риск.
Это экспериментальные, местами не доделанные, утилиты. Нет гарантии, что реализованные в них алгоритмы диагностики выдают верный диагноз.
Также нет гарантии, что реализованные в них алгоритмы исправления будут корректно чинить базу.
К оценкам, которые выдают эти утилиты, нужно относиться взвешенно.
Утилиты
F_SOPRHOZ::RESCUE_DB1
F_SOPRHOZ::RESCUE_DB2
F_SOPRHOZ::RESCUE_DB3
F_SOPRHOZ::RESCUE_DB4
используйте только на свой страх и риск.
Это экспериментальные, местами не доделанные, утилиты. Нет гарантии, что реализованные в них алгоритмы диагностики выдают верный диагноз.
Также нет гарантии, что реализованные в них алгоритмы исправления будут корректно чинить базу.
К оценкам, которые выдают эти утилиты, нужно относиться взвешенно.