[I128-1848] Поддержка переменных параметров в пакетном задании АРМ Каталогизатор в момент фомирования самого задания


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.1 >> [I128-1848] Поддержка переменных параметров в пакетном задании АРМ Каталогизатор в момент фомирования самого задания📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Новые возможности 2026.1 🔘 Завершено Средний Иван Батрак

Компоненты: АРМ Каталогизатор ИРБИС64 Турбо Linux, АРМ Каталогизатор ИРБИС64 Турбо Windows

Завершено: 06.11.2025 10:33

Я просмотрел как это работает в других местах. Там используется база по умолчанию видимо, это IBIS. Почему это не работало. Дело в том, что этот формат должен сформировать строки задания, в строках задания могут быть тоже параметры %N. Типа как в веб ирбисе - формат выводит литералы, которые потом парсятся.   Проблема была в том, что в этом месте формат не патчится на параметры, потому что параметры разбираются после выполнения этого формата в его результатах, а не в нем самом. И только результат его выполнения реально получает эти данные. Я добавил разбор параметров в 2 прохода.

  1. до выполнения формата
  2. выполнение формата
  3. оригинальный алгоритм разбора параметров   Здесь могут быть и последствия. Оказалось, что Бродовский применяет последовательно разные схемы к первой строке. Если расширение в первой строке .WSS, делаем параметры Если первая строка строка начинается с @ делаем тоже параметры.   Как только я скопировал этот блок в начало, он тут же стал выводить окно параметров 2 раза. Причем эти 2 блока с параметрами - для .WSS и для строки с @ - они разные. Я сделал первый проход так. если первая строка с .WSS ... иначе если первая строка с @ .. Оригинальное место с просмотром первой строки задания, после выполнения формата осталось как есть.   Так что если формат выведет что-то, что в первой строке содержит .WSS или начинается с @, то окошко параметров покажется снова. Может даже 2 раза. Поэтому может и основной блок обработки параметров надо сделать не последовательно, а через ИНАЧЕ, чтобы он 2 раза не трогал первую строку.   Присланный формат косячный, не хватает FI в конце повторяющейся группы. К сожалению, клиент при разборе формата не пишет xpft_error.log, поэтому разобрать ошибку можно только в серверном редакторе. Я могу включить лог ошибок в этом месте, потом выключить после, чтобы лог писался, так как здесь - то явно формат, если это поможет трудящимся. так надо &uf('+7'), 'SILENCE'/ 'SEARCH "NKSU=%1"'  / &uf('+7W1#'(&unifor('+5Tmhr.mnu')/)), (if p(g1) then if val(&uf('+3S,0,?(NKSU=%1)(MHR='g1')?,'))>0 then 'PRINT 1,TAB4BW,,,,^A%1^B'g1',1/c:\irbiswrk\накл'&unifor('+9I!/!/*/',g1)  '.rtf', fi fi /)  

1. Связанные задачи

1.1. 🔗 blocks: SD-570

[SD-570] Пакетное задание - нужна помощь Статус: Решен | Автор: НБЧР

1.2. 🔗 Соответствует задача: I128-1858

[I128-1858] Поддержка переменных параметров в пакетном задании АРМ Каталогизатор в момент фомирования самого задания Статус: Отменено | Автор: Ilya Mikhaylenko