...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/parametermapper/restinvoice.php
- Класс: Bitrix\Crm\Recurring\Entity\ParameterMapper\RestInvoice
- Вызов: RestInvoice::fillCompatibleFields
private function fillCompatibleFields() { $this->map[self::FIELD_DATE_PAY_BEFORE_TYPE] = Invoice::UNSET_DATE_PAY_BEFORE; if (!empty($this->map[self::FIELD_DATE_PAY_BEFORE_PERIOD])) { $this->map[self::FIELD_DATE_PAY_BEFORE_TYPE] = Invoice::SET_DATE_PAY_BEFORE; } $this->map[$this->getUnitTypeMapCode()] = $this->unitType; $this->map[$this->getIntervalMapCode()] = $this->interval; if ($this->mode === Calculator::SALE_TYPE_DAY_OFFSET) { $this->map[self::FIELD_DAILY_WORKDAY_ONLY] = $this->map[self::FIELD_IS_WORKING_ONLY]; } if ($this->mode === Calculator::SALE_TYPE_WEEK_OFFSET) { $weekday = 1; if ((int)$this->map[self::FIELD_WEEKDAY] > 0 && (int)$this->map[self::FIELD_WEEKDAY] <= 7) { $weekday = $this->map[self::FIELD_WEEKDAY]; } $this->map[self::FIELD_WEEKLY_WEEKDAYS] = [$weekday]; } elseif ($this->mode === Calculator::SALE_TYPE_MONTH_OFFSET || $this->mode === Calculator::SALE_TYPE_YEAR_OFFSET) { $dayCode = ($this->mode === Calculator::SALE_TYPE_MONTH_OFFSET) ? self::FIELD_MONTHLY_FIRST_TYPE_INTERVAL_DAY : self::FIELD_YEARLY_FIRST_TYPE_INTERVAL_DAY; $this->map[$dayCode] = $this->map[self::FIELD_NUM_DAY_IN_MONTH]; $isWorkdayCode = ($this->mode === Calculator::SALE_TYPE_MONTH_OFFSET) ? self::FIELD_MONTHLY_FIRST_TYPE_WORKDAY_ONLY : self::FIELD_YEARLY_FIRST_TYPE_WORKDAY_ONLY; $this->map[$isWorkdayCode] = $this->map[self::FIELD_IS_WORKING_ONLY]; $numWeekdayCode = ($this->mode === Calculator::SALE_TYPE_MONTH_OFFSET) ? self::FIELD_MONTHLY_SECOND_TYPE_WEEK_VALUE : self::FIELD_YEARLY_SECOND_TYPE_WEEK_VALUE; $this->map[$numWeekdayCode] = $this->map[self::FIELD_NUM_WEEKDAY_IN_MONTH]; $weekdayCode = ($this->mode === Calculator::SALE_TYPE_MONTH_OFFSET) ? self::FIELD_MONTHLY_SECOND_TYPE_WEEKDAY : self::FIELD_YEARLY_SECOND_TYPE_WEEKDAY; $this->map[$weekdayCode] = $this->map[self::FIELD_WEEKDAY]; } }