Функция BlockList предназначена для работы с системными списками, доступ к элементам которых осуществляется по индексу. Использование системных списков вместо системных переменных в качестве стеков или для хранения информационных списков в табличных контекстах сложных контекстных преобразований намного сокращает время их обработки.Системная текстовая переменная retBlockList (код возврата) равна false в случае ошибки, иначе - true.

BlockList (<операция>, <блок чтения>, <блок записи>,
           <индекс списка>, <разделитель лексем>)
<операция>:

ladd    -  добавление в системный список блока записи строки из блока чтения;

lins    -  вставка перед заданным индексом в системный список блока записи
           строки из блока чтения;

ldel    -  удаление строки из системного списка блока чтения по заданному
           индексу; 

lclear  - очистка строк системного блока чтения;

lcount  - размер (число строк) системного блока чтения;

lgetstr -  получение строки с заданным индексом из системного списка блока
           чтения в блоке записи с заменой содержащихся в тексте конструкций
           подстановки (в переменную или архив);

lsetstr -  занесение строки из блока чтения с заменой содержащихся в тексте 
           конструкций  подстановки (из переменной или архива) в строку
           системного списка блока записи с заданным индексом блока записи;

rdtext  -  получение строк системного списка блока чтения в виде текстовой
           строки с разделителями EOLN в блоке записи без замены содержащихся
           в тексте конструкций подстановки (в переменную или архив);

adtext  -  занесение строки из блока чтения без замены содержащихся в тексте 
           конструкций подстановки (из переменной или архива) в строку
           системного списка блока записи с заданным индексом блока записи;

ldtext  -  загрузка системного  списка блока записи лексемами с разделителем
           EOLN из блока чтения без замены содержащихся в тексте конструкций
           подстановки (из переменной или архива);

ldlexm  -  загрузка системного списка блока записи лексемами с заданным
           разделителем из блока чтения с заменой содержащихся в тексте
           конструкций подстановки (из переменной или архива);

svlexm  -  выгрузка системного списка блока  чтения в виде лексем с заданным
           разделителем (пустой разделитель - """" ) в блок записи
           (переменную или архив);

ldfile  -  загрузка системного списка блока записи строками файла,
            полное имя которого задано в блоке чтения;

svfile  -  выгрузка системного списка блока чтения в файл, полное имя
           которого задано в блоке записи;

lcopy   -  копирование системных списков;
<блок чтения>:
{10}       -  блок редактирования (10 - стандартный номер);
{{n}}      -  ячейка с номером n=1,2,… из общего архива;
sysvar[n]  -  системная переменная (n=1,2,3…);
syslist[n] -  системный список (n=1,2,3…);
" … "      -  явно заданный контекст чтения (если содержит пробел, запятую,
              закрывающие круглую или квадратную скобку, то заключается в
              двойные кавычки);
fname      -  полное имя файла;
<блок записи>:
{10}       -  блок редактирования (10 - стандартный номер);
{{n}}      -  ячейка с номером n=1,2,… из общего архива;
sysvar[n]  -  системная переменная (n=1,2,3…);
syslist[n] -  системный список (n=1,2,3…);
fname      -  полное имя файла;
<индекс списка>   -  целое число (n>=1), которое не должно превышать размер
                     списка
<разделитель лексем>  -  произвольный контекст  (по умолчанию - пробел);
Разделитель в виде двойного пробела " ", указывает на то, что контекст, содержит лексемы, заключенные в двойные кавычки и содержащие внутри себя пробелы-разделители; применение такого разделителя необходимо, например, для контекста, состоящего из трех лексем: "a b c" "a1 b1" c1, либо для контекста из одной лексемы: ( a b c ).
Замечание. Задание разделителя актуально только для операций с лексемами.