Цикл проверки обязательности заполнения полей.
Запись от Poleax размещена 03.09.2010 в 14:18
Перебор пользовательских полей в таблице. Проверка на обязательное заполнение
Код использовался на форме.
Часть кода взята из Копирование строк таблицы с помощью DictTable
Проверка на обязательность (MANDATORY) http://msdn.microsoft.com/en-us/library/aa556779.aspx
Код использовался на форме.
X++:
#macrolib.dictfield //Tables DictTable dictTable = new DictTable(TABLE.tableId); //Variables DictField dictField; int i = 0 ; int nFlags; fieldId fieldId = dictTable.fieldNext(0); ; while select firstfast TABLE {//Ниже агресивно-насильственный цикл проверки обязательности заполнения полей. //К сожалению метод TABLE_DS.write(); не помог в некоторых случаях. for (i = 1; i <= dictTable.fieldCnt(); i++) { dictField = new dictField(TABLE.TableId, dictTable.fieldCnt2Id(i)); if(!dictField.isSystem()) { nFlags = dictField.flags(); if (bitTest(nFlags,#DBF_MANDATORY)) { fieldId = dictTable.fieldCnt2Id(i); if(! TABLE.validateField(fieldId)) throw error("Заполните поля"); } } } }
Проверка на обязательность (MANDATORY) http://msdn.microsoft.com/en-us/library/aa556779.aspx
Всего комментариев 0