Re: выходные формы
Пользователь:
Дунаевская (IP-адрес скрыт)
Дата: 25, October, 2011 11:25
Оля написал(а):
-------------------------------------------------------
> спасибо. Действительно у меня получилось. Но не
> понятным в этой базе остаётся то что при входе в
> словарь Инв.номеров напротив каждого номера стоит
> цифра 2. С чего могло всё увеличиться в два раза
> не понятно. Вышлю вам Светлана Михайловна базу и
> картинку проблемы.
В присланной БД очень много дублетных записей - отсюда и дублеты в словарях инв. номеров, шифров, заглавий и т.д.
Как найти и удалить дублеты?
1. Стандартный вариант: экспорт, опустошение БД, импорт в АРМе Каталогизатор; при импорте дублетные записи будут логически удалены.
Но это процесс достаточно длительный, правда на Вашей, сравнительно небольшой БД 6695 зап., за ночь задание пройдет.
2. Поскольку это полные дублеты, то есть записи загружены дважды (вероятно, импортом с отключенным ФЛК), их можно идентифицировать только по шифру в поле 903.
Поэтому для ускорения процесса импорта можно на время упростить <DBN>.FST и DBNFLC.PFT, оставив в них только строки для поля 903
<DBN>.FST
903 0 "I="v903
DBNFLC.PFT,
if (l("I="v903)<=0) or (val(ref(l("I="v903),mfn))=val(mfn)) then /'0' else
if v920:'asp'then/'0' else/
'1 Ошибка : Дублетный шифр ' v903,ref(l("I="v903),' (см. N ',f(val(mfn),0,0),')')
fi fi/
После завершения импорта <DBN>.FST и DBNFLC.PFT, естественно, нужно восстановить в исходное состояние
3. Выявить и проанализировать дублеты - провести последовательный поиск
&uf('7,?I='v903"?,mfn';'") : s(';'mfn)
Результат поиска (3296 дублетных записей, введенных в БД повторно) можно просмотреть и удалить глобальной корректурой (с отключением ФЛК и Автоввода); процесс глобальной корректуры достаточно длительный, по времени сравнимый с вариантом 2.
Все-таки это самый быстрый способ
Редактировано 2 раз. Последний раз 25.10.2011 11:35 пользователем Дунаевская.