• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/model/schedule/calendar/calendarexclusiontable.php
  • Класс: BitrixTimemanModelScheduleCalendarCalendarExclusionTable
  • Вызов: CalendarExclusionTable::getMap
static function getMap()
{
	return [
		(new FieldsIntegerField('CALENDAR_ID'))
			->configurePrimary(true)
		,
		(new FieldsIntegerField('YEAR'))
			->configurePrimary(true)
		,
		(new FieldsArrayField('DATES'))
			->configureSerializeCallback(function ($value) {
				try
				{
					return Json::encode($value);
				}
				catch (Exception $exc)
				{
					return Json::encode([]);
				}
			})
			->configureUnserializeCallback(function ($value) {
				try
				{
					return Json::decode($value);
				}
				catch (Exception $exc)
				{
					return Json::decode('[]');
				}
			})
		,

		# relations
		(new FieldsRelationsReference(
			'CALENDAR',
			CalendarTable::class,
			Join::on('this.CALENDAR_ID', 'ref.ID')
		))
			->configureJoinType('INNER')
		,
	];
}