Re: Глобальная UNDEL внутри условия. Доступность логически удалённых записей для чтения IrbisGblAdmin'ом
Пользователь:
ochagova (IP-адрес скрыт)
Дата: 28, June, 2022 10:27
AZelenov написал(а):
-------------------------------------------------------
> Сторонние записи (не текущая) могут правиться в
> глобальных корректировках только, если к ним есть
> доступ через ref(l(...)). &uf('7...)' или
> &uf('J...'). А это всё в качестве аргумента имеет
> термин БД, т.е. предполагает, что они
> проиндексированы в словаре. Поэтому туда априори
> логически удалённые (которые не индексируются и на
> которые вышеуказанные функции не ссылаются)
> попасть не могут и никакой катастрофы в БД не
> вызовут.
- Не так. В логически уделенную через &uf('7 и др. попасть нельзя, но легко ИЗ логически удаленной (по-вашему) попасть на любую запись.
Например, из удаленного читателя. перейти на книги, выяснить, что статусы неверные и выдать ложные сообщения в задании контроля. Или из удаленной записи дисциплины попасть на записи контингентов, выяснить, что в них нет дисциплины и добавить ее.
> > Ваша задача решается легко, я сама это не раз
> проделывала.
> Мне тоже это решение кажется самым очевидным в
> данной ситуации. Но это очень муторно -
> переставить Этап работы, отглобалить ВСЮ БД
> (причём в Каталагизаторе, а не в IrbisGblAdmin'е,
> как я понимаю, либо в IrbisGblAdmin'е добавлять
> строчку ADD 907 '^A'&uf('3') '^BZAV^CUNDEL').
> Потом снова глобалить БД, удаляя ранее
> восстановленные.
> А не проще ли для IrbisGblAdmin'а ввести правило,
> что он логически удалённые видит для чтения точно
> также, как и обычные.
- если бы ситуация была штатная, то к определению "муторная" можно было бы прислушаться. Но здесь ситуация другая. Хорошо, что вообще ИРБИС предлагает инструмент.
>
> > Выполнение команд не может зависеть от того
> внутри они блока IF-FI или снаружи
> Я с моим опытом работы в программировании
> предполагаю, что должен зависеть. Для меня это всё
> равно, если в Delphi написать "if 1=2 then
> ShowMessage('Hello'); ", сообщение появится.
>
- чтобы такого не было, удаленные записи не идут на корректировку в глобальной и об этом выдается сообщение
> > Вы предлагаете ФОРМАТИРОВАТЬ удаленную запись
> так же как обычную? Это приведет к непредсказуемым
> последствиям, если не сказать к катастрофическим.
> Я предлагаю форматировать её как обычную только
> для чтения и только в IrbisGblAdmin. В этом случае
> никаких катастрофических последствий быть не
> должно. На редактирование, а также в словаре БД
> она учитываться не должна (ЧТО вполне логично, раз
> она ЛОГИЧЕСКИ исключена из содержимого БД).
> Актуализация словаря тоже на неё не должна
> распространяться, в смысле актуализация её
> библиографии.
- Все глобальные - и админ., и клиент., и автоввод, и списание, и проверка фонда и т.д. и т.п. выполняются единой процедурой, по единой логике.
Я предлагаю вам сдаться.
Редактировано 1 раз. Последний раз 28.06.2022 10:30 пользователем ochagova.