-AND- написал(а):
-------------------------------------------------------
> Кирилл у меня несколько вопросов:
> 1.POLZV - почему не отдельная настроечная база?
> 2.Зачем сортировать &uf('MI927') ?
> 3.Зачем тут (v5000^h'*') '*' ?
> 4.Что значит p(g1001) "g" ?
1. Потому, что создавать отдельную базу для изменения значения одного поля в одной записи нецелесообразно.
2. Чтобы исключить обнуление счётчика в случае, если пользователь будет вводить индексы не по порядку.
927: ^h32
927: ^h24
927: ^h32
(вот это, как раз, пример повторяющегося поля. Посмотрите любую запись в формате ALL, а не Оптимизированном)
Использование различных систематических индексов для одной записи – крайне редкая ситуация, но я решил её предусмотреть.
4. &uf('+1W301#',(v5000^h'*')),(if p(g1001) then if &uf('+1R301'):s(g1001^h'*') . . . . . . применяется для исключения повторного добавления уже имеющихся индексов. Того же результата можно было достигнуть при помощи ref()(как это сделано в REP), но ref() потребовала бы больших ресурсов.
3. G - форматный вывод глобальной переменной. Используется здесь, поскольку ref() не работает с модельными полями типа 1001. Простейший пример использования вывода найдёте тут: [
irbis.gpntb.ru] Более полная информация находится в RELEASE_OVERALL.doc из дистрибутива демоверсии(ftp://ftp.gpntb.ru/pub/irbis/).
Эта корректировка включает ряд достаточно сложных для понимания решений. Она не может выступать в качестве учебного пособия. Я рекомендую Вам начать изучение языка с чтения четвёртого приложения Irbis1.doc. Но сейчас, надеюсь, Вы убедились, что некоторые задачи лучше решать с помощью PHP, чем средствами ИРБИС Script...
Редактировано 2 раз. Последний раз 01.03.2007 15:33 пользователем Кирилл Соколинский (СЗТУ).