AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.08.2004, 12:38   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Yaroslav Batozskiy
Анализ алгоритма "Проверки кодов записей" показал, что при любых эксплуатационных условиях он не исправляет никаких ОЛЦД,
Да он, собственно, для этого и не предназначен.
Цитата:
Изначально опубликовано Yaroslav Batozskiy
а может добавлять свои.
Вот об этом и речь. Пока в обсуждении не было ни одного сообщения, подтверждающего создания новых ошибок процедурой проверки кодов записи. Почему у Вас нет личной неприязни, к примеру, к процедуре обработки накладной по заказу? А чем существенно отличается процедура проверки кодов записей?
Цитата:
Изначально опубликовано Yaroslav Batozskiy
Алгоритм достаточно простой, просто посмотрите, как себя он себя поведет, если есть дубликаты recid в разных таблицах, как будет работать с виртуальными компаниями, если есть ссылки, которые ссылаются на несуществуюшие строки, и наконец типы, которые не наследуются от recid.
По пунктам:
(1) Виртуальные компании
Если в таблицах, которые разделяются между компаниями, входящими в виртуальную, есть ссылки на RecId между собой, ситуация будет обработана корректно. Если есть ссылки из разделяемых таблиц на не разделяемые или наоборот - это уже ошибка целостности данных. Таким образом, процедура проверки кодов записей новых ошибок в этом случае не добавляет, а лишь повторяет старые.
(2) Ссылки на несуществующие строки
Проверка кодов записей сообщит о таких строках в infolog. Исправлены они не будут.
(3) Типы, которые не наследуются от RecId
Поля с такими типами, разумеется, не будут обработаны. Однако это, по сути, ошибка программистов. Кроме того, таблиц с такими полями, я что-то немного нашел (1 в 3.0 и 3 в 2.5).

Таким образом, проверка кодов записей практически (кроме (3)) во всех указанных случаях не добавляет ошибок целостности данных. Правда, не исправляет имеющихся, но этого никто и не обещал. Для таких процедур есть стандартная функциональность "Проверка целостности данных"
Цитата:
Изначально опубликовано Yaroslav Batozskiy
Я просто дал совет. Хотите-разберитесь, хотите-проигнорируйте.
Можно я тоже дам совет на случай, если вдруг кто-то из начинающих пользователей Axapta будет читать эту ветку. Прежде, чем разработать что-то свое, обязательно разберитесь со стандартным функционалом, решающим похожие задачи. В случае, если стандартный функционал позволяет решать Вашу задачу при условии внесения некоторых модификаций, отдавайте предпочтение изменению стандартного функционала, не создавайте собственное решение по любому случаю.
Цитата:
Изначально опубликовано Yaroslav Batozskiy
При relation ссылка не пересчитается при exp-imp и прочих оп.
А она, знаете ли, и не должна пересчитываться. Это ID проводки. Он импортируется вместе с проводкой из файла импорта. Это не RecId, который становится новым при импорте для каждой записи.
Цитата:
Изначально опубликовано Yaroslav Batozskiy
Да Бог с ней, с трансляцией, таких полей в системе туча, и много их в тех модулях, которые используются редко.
Максим, искать и приводить здесь не буду
Да, аргументация у Вас... Просто виновна, а почему не скажу... Далеко Вы так уйти можете.

В общем, я таких мест нашел не много (см. выше: всего одно).
Цитата:
Изначально опубликовано Yaroslav Batozskiy
Максим, если речь идет о моем скрипте
Нет, речь о стандартной процедуре дефрагментации. Вашего скрипта я не видел.
Цитата:
Изначально опубликовано Yaroslav Batozskiy
Не хотелось бы, чтоб этот топик превращался в обсуждение моего скрипта. Написал я об этом просто, чтоб знали, что если у кого то возникнет критическая ситуация с этой проблемой, то мы можем помочь её решить.
Во-первых, вряд ли мы начнем обсуждать Ваш скрипт, так как никто его кроме Вас не видел.
Рекламы в этой ветке, действительно не было. Она была в ветке, на основании которой родилась эта. Правда, с Вашим последним сообщением, намек на нее появился и здесь. Впрочем, ничего страшного в этом нет. Я вовсе не против рекламы в этом топике. Просто мне кажется достаточно странным его наличие в форуме Проекты.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
ax3.0, faq, recid, дефрагментирование recid

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
if (record) vs if (record.RecId) kashperuk DAX: Программирование 18 27.11.2008 18:53
поля, содержащие RecId somebody DAX: Программирование 15 16.05.2008 17:50
aEremenko: Дефрагментация RecID Blog bot DAX Blogs 2 06.03.2007 22:25
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56
Форма InventOnhandItem, Почему RecID у InventSum в этой форме всегда 0? Кирилл DAX: Программирование 2 25.05.2004 18:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:14.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.