CONCURRENTRESET(file: IDENT;
index: IDENT;
{ indexFieldValue: ANYTYPE; }
{ fileField:
FIELDIDENT });
Выполняет конкурентное присваивание полям fileField файла file указанной записи значений по умолчанию.
Условно можно считать, что работа состоит из следующих этапов:
После успешного выполнения процедуры текущая позиция всегда определена (OCCURE вернет 1) и соответствует обрабатываемой записи. Если индекс index совпадает с текущим индексом курсора файла file, и обрабатываемая запись попадает в селект курсора файла file, то индекс и селект в курсоре не меняется. Иначе текущим становится индекс index без зафиксированных полей (селект на 0 полей).
Подробнее о том, как система обрабатывает конкурентные операции см. здесь.
CONCURRENTRESET(File, FileIndex,
FileIndexField1Value, FileIndexField2Value + 2,
FileField,
FileArrayField[3]);
В файле File устанавливает текущим индекс FileIndex, состоящий из двух полей. По индексу FileIndex ищет запись со значением FileIndexField1Value первого поля индекса FileIndex и значением FileIndexField2Value + 2 второго поля индекса FileIndex. Если такая запись не нашлась, то выполняется вставка. Затем формируется псевдоэкземпляр, в котором сказано, что полям FileField и 3-му элементу массивового поля FileArrayField нужно присвоить значение по умолчанию.
fileField не является полем файла file | Исключение 19 |
Тип поля fileField не определен или является массивом | Исключение 10 |
Поле fileField имеет не числовой тип | Исключение 7 |
Попытка выполнения операции модификации для подключаемого файла, открытого на чтение | Исключение 941 |
Поле %s файла %s, указанное в параметрах процедуры CONCURRENTRESET, входит в состав индекса поиска записи | Исключение 956 |
В индекс %s файла %s входит более одного поля, из указанных в параметрах процедуры CONCURRENTRESET | Исключение 957 |
Указан неуникальный индекс либо значения не всех его полей | Исключение 959 |
Файл File не находится в конкурентном режиме | Исключение 962 |
Исходное значение записи файла file не удовлетворяет файловому фильтру (см. TABLE.Filter) | Исключение 396 |
Последовательное (в любом порядке) выполнение CONCURRENTRESET и CONCURRENTADD (или CONCURRENTADDONLY) | Исключение 960 |
Только при включенном контроле целостности БД: исходная запись ссылается на справочную запись, не удовлетворяющую файловому фильтру (см. TABLE.Filter) | Исключение 219 |
Только при включенном контроле целостности БД: исходная запись ссылается на несуществующую справочную запись | Исключение 218 |