Оператор UNDOR (откат) |
Переход к одной из предыдущих копий записи (откат) |
Количество выполняемых назад шагов задается параметром, который определяется как значение формата в колонке «Параметр1/Поле-подполе».
Значение параметра, как результат форматирования, может быть следующим :
-N - откат к N-й, относительно существующей, копии записи (N=1 - предыдущая копия)
-* - откат к исходной копии записи
-Пусто - нет действий
Примеры использования команды |
В каждом случае Формат строки параметра вырабатывает значение, задающее число шагов назад.
Пример 1: |
В команде задается явным образом количество шагов отката, например, для отката на два шага: UNDOR ‘2’ |
Пример 2: |
Использование совместно с новым форматным выходом ФОРМАТИРОВАНИЕ ПРЕДЫДУЩЕЙ КОПИИ – «&uf(‘4…». REPEAT // в переменную G1 - номер очередной копии …….&uf('+7W1#',,f(val(G1)+1,0,0)) UNTIL // выход из цикла, если условие выполнено или исчерпаны копии if s(&uf('4',,G1,,',v700^A')): 'иванов' or val(G1)>=val(&uf('4')) then '0' else '1' fi // в G1 кол-во шагов к нужной копии UNDOR G1 |
Пример 3: |
Использование в повторяющейся группе совместно с «&uf(‘4…». Откатиться к копии записи, в которой поле 210^D содержало значение «1991». UNDOR |
Счетчик повторений |
Переменная 1 является счетчиком повторений в группе. Сначала она опустошается, далее в каждом проходе группы она увеличивается на 1, также берется очередная копия записи (&uf(’4…..) и в ней проверяется поставленное условие. Выход из группы (break) выполняется, если условие выполнено или исчерпаны копии. При выходе из группы в переменной 1 количество шагов, на которые откатывается запись.
См. также:
ФОРМАТИРОВАНИЕ ПРЕДЫДУЩЕЙ КОПИИ (Прил.4)