• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/document.php
  • Класс: BitrixDocumentGeneratorDocument
  • Вызов: Document::checkFields
public function checkFields(bool $requiredOnly = true): array
{
	$emptyFields = [];

	if($this->result->isSuccess())
	{
		$this->resolveProviders();
	}

	$fieldNames = $this->getFieldNames();

	if($this->result->isSuccess())
	{
		$values = $this->getValues($fieldNames);
		foreach($fieldNames as $placeholder)
		{
			if(
				isset($this->fields[$placeholder]['REQUIRED'])
				&& $this->fields[$placeholder]['REQUIRED'] === 'Y'
				&& empty($values[$placeholder])
			)
			{
				$emptyFields[$placeholder] = $this->fields[$placeholder];
			}
			elseif(
				!$requiredOnly
				&& empty($values[$placeholder])
				&& !isset($this->getExternalValues()[$placeholder])
			)
			{
				$emptyFields[$placeholder] = [];
			}
		}

		foreach($this->selectFields as $placeholder => $field)
		{
			if(
				$field['VALUE']
				&& is_array($field['VALUE'])
				&& DataProviderManager::getInstance()->getValueFromList($field['VALUE']) === $field['VALUE']
			)
			{
				$emptyFields[$placeholder] = $field;
			}
		}
	}

	return $emptyFields;
}