Флаг |
Проверяет, установлено ли указанное значение у поля типа "Флаги".
Флаг(Поле, Название|Номер|Номер п/п)
Поле (идентификатор | целое) – имя проверяемого поля типа "Флаги".
Название|Номер (текст | целое) – проверяемое название или номер значения флага. Нумерация значений флага начинается с "0". Все возможные значения проверяемого поля можно посмотреть, открыв в словаре данных описание нужной таблицы. Затем открыть в ней описание интересующего поля и прочитать список значений (колонки "Название" и "Номер").
В качестве значения может выступать номер значения, указанного по п/п. Нумерация начинается с "0" с верхней строки таблицы. В этом случае при установке значения флага с номером п/п надо писать "#+Номер п/п". Например, чтобы установить значение флага "Закрыт" можно написать либо "+Закрыт", либо "+10" (как показано на рисунке), либо "#+0".
1 – указанное значение установлено в поле флагов. Т.е. в поле установлена галочка - .
0 – указанное значение не установлено в поле флагов. Поле принимает вид: .
-1 - значение неопределенно. Поле принимает вид: .
-2 – флаг установлен, но значение флага неопределенно. Поле принимает вид: .
Последние два значения, возвращаемые функцией "Флаг", могут эффективно использоваться пользователем, например, чтобы отличать полностью оплаченные документы по сделке от частично-оплаченных. В программе такие документы имеет разные иконки: и соответственно, но одинаковое состояние поля "Оплачен": неопределенно ().
При выборе товара в расходной накладной можно проверить значение поля "Разрешены скидки":
ДляВсех(Наименований)
Сообщить(Флаг(Наим.СкладРасходы.Признаки, "Разрешены
скидки"));
Тот же результат мы получим, если вместо названия значения поля укажем номер этого значения:
ДляВсех(Наименований)
Сообщить(Флаг(Наим.СкладРасходы.Признаки, 2));
А таким образом можно установить значение флага в 1:
Наим.СкладРасходы.Признаки = "+Разрешены скидки";
…или в 0:
Наим.СкладРасходы.Признаки = "-Разрешены скидки".
Узнаем номера частично оплаченных документов в реестре расходных накладных, воспользовавшись окном поиска по выражению <Ctrl+F>:
Если (Флаг(Состояние,
"Оплачен")==-1)
Сообщить(Документ.Номер)