• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/parametermapper/firstforminvoice.php
  • Класс: Bitrix\Crm\Recurring\Entity\ParameterMapper\FirstFormInvoice
  • Вызов: FirstFormInvoice::fillMap
public function fillMap(array $params = [])
{
	$scheme = $this->getScheme();
	foreach ($scheme as $code => $fieldName)
	{
		if (
			$fieldName === self::FIELD_DAILY_WORKDAY_ONLY_NAME
			|| $fieldName === self::FIELD_MONTHLY_FIRST_TYPE_WORKDAY_ONLY_NAME
			|| $fieldName === self::FIELD_YEARLY_FIRST_TYPE_WORKDAY_ONLY_NAME
		)
		{
			$this->map[$code] = ($params[$fieldName] === 'Y') ? 'Y' : 'N';
		}
		elseif ($fieldName === self::FIELD_WEEKLY_WEEKDAYS_NAME)
		{
			$this->map[$code] = is_array($params[$fieldName]) ? $params[$fieldName] : [];
		}
		else
		{
			$item = (int)$params[$fieldName];
			$this->map[$code] = ($item > 0) ? $item : 0;
		}
	}

	if (empty($this->map[self::FIELD_DAILY_TYPE]))
	{
		$this->map[self::FIELD_DAILY_TYPE] = DateType\Day::TYPE_ALTERNATING_DAYS;
	}
	if (empty($this->map[self::FIELD_WEEKLY_TYPE]))
	{
		$this->map[self::FIELD_WEEKLY_TYPE] = DateType\Week::TYPE_ALTERNATING_WEEKDAYS;
	}

	$this->mode = $this->map[self::FIELD_PERIOD];
	$this->unitType = $this->map[$this->getUnitTypeMapCode()];
	$this->interval = $this->map[$this->getIntervalMapCode()];
}