Флаг

Проверяет, установлено ли указанное значение у поля типа "Флаги".

Синтаксис

Флаг(Поле, Название|Номер|Номер п/п)

Параметры

Поле (идентификатор | целое) – имя проверяемого поля типа "Флаги".

Название|Номер (текст | целое) – проверяемое название или номер значения флага. Нумерация значений флага начинается с "0". Все возможные значения проверяемого поля можно посмотреть, открыв в словаре данных описание нужной таблицы. Затем открыть в ней описание интересующего поля и прочитать список значений (колонки "Название" и "Номер").

В качестве значения может выступать номер значения, указанного по п/п. Нумерация начинается с "0" с верхней строки таблицы. В этом случае при установке значения флага с номером п/п надо писать "#+Номер п/п". Например, чтобы установить значение флага "Закрыт" можно написать либо "+Закрыт", либо "+10" (как показано на рисунке), либо "#+0".

Возвращает

1 – указанное значение установлено в поле флагов. Т.е. в поле установлена галочка - .

0 – указанное значение не установлено в поле флагов. Поле принимает вид: .

-1 -  значение неопределенно. Поле принимает вид: .

-2 – флаг установлен, но значение флага неопределенно. Поле принимает вид: .

Комментарий

Последние два значения, возвращаемые функцией "Флаг", могут эффективно использоваться пользователем, например, чтобы отличать полностью оплаченные документы по сделке от частично-оплаченных. В программе такие документы имеет разные иконки:  и  соответственно, но одинаковое состояние поля "Оплачен": неопределенно ().

Примеры

При выборе товара в расходной накладной можно проверить значение поля "Разрешены скидки":

ДляВсех(Наименований)
  Сообщить(Флаг(Наим.СкладРасходы.Признаки, "Разрешены скидки"));

Тот же результат мы получим, если вместо названия значения поля укажем номер этого значения:

ДляВсех(Наименований)
  Сообщить(Флаг(Наим.СкладРасходы.Признаки, 2));

А таким образом можно установить значение флага в 1:

Наим.СкладРасходы.Признаки = "+Разрешены скидки";

…или в 0:

Наим.СкладРасходы.Признаки = "-Разрешены скидки".

Узнаем номера частично оплаченных документов в реестре расходных накладных, воспользовавшись окном поиска по выражению <Ctrl+F>:

Если (Флаг(Состояние, "Оплачен")==-1)
   Сообщить(Документ.Номер)