В вебе имеется возможность перенести обработку данных в браузер, возложив её на Javascript вместо использования языка форматирования. В некоторых случаях это может быть вполне оправданным решением. Например, когда средств языка форматирования не хватает.
Например, это можно сделать следующим образом (в контексте языка форматирования):
'<script>
var v700a = "',(if p(v700^a) then &uf('++1',v700^a),'|' fi),'";
</script>'
Здесь используется тот факт, что литералы в одинарных кавычках могут быть многострочными.
В результате, в переменную v700a будут записаны все значения из v700^a, разделенные вертикальной чертой |. И на html странице переменную v700a, содержащую массив соответствующих значений, можно обработать, пользуясь Javascript, который предоставляет много удобных возможностей, отсутствующих в языке форматирования.
Для использования этой идеи версия системы - это существенный момент. &uf('++1' необходим для кодирования символов, чтобы они не нарушали синтаксис и содержимое литерала в Javascript. Например, символы кавычек, которые могут встретиться в полях. Этот юнифор работает только в ИРБИС+. Это можно пытаться как то обходить в старых версиях, но потребует дополнительных телодвижений.
Редактировано 1 раз. Последний раз 09.06.2020 18:43 пользователем SokV.