Здравствуйте!
Хотим поменять тип поля "строка" на "Календарь" (скриншот прилагаю.)
Мне кажется в коде надо поменять эти строки. Подскажите пожалуйста что нужно еще дописать чтобы сменить тип поля на календарь
$PROP['PERIOD_PLAN'] = htmlspecialchars(trim($arAct['PERIOD_PLAN'] );
$PROP['PERIOD_FACT'] = htmlspecialchars(trim($arAct['PERIOD_FACT'] );
Ссылка на функцию
http://dev.1c-bitrix.ru/api_help/main/functions/date/calendardate.php
Код:
<?
$arParams['DEPARTMENT']=(int)$arParams['DEPARTMENT'];
if(!(int)$arParams['YEAR'] {
$arParams['YEAR']=date('Y');
}
$arResult['CAN_EDIT']=false;
if($USER->IsAdmin() || in_array($USER->GetId(),apClass::getAccessToKPIServicesByUserId('UF_EDIT_EVENTS_USERS',$arParams['DEPARTMENT'] ))
$arResult['CAN_EDIT']=true;
if(!$arResult['CAN_EDIT'] {
$arParams['EDIT']='N';
}
if($_SERVER['REQUEST_METHOD']=='POST' && $arResult['CAN_EDIT'] && check_bitrix_sessid()){
$elem=new CIBlockElement();
$arIds=explode(',',$_POST['activities_ids'] ;
if(count($_POST['ACTIVITIES'] ){
foreach($_POST['ACTIVITIES'] as $a_id => $arAct){
if(htmlspecialchars(trim($arAct['NAME'] )){
$PROP = array();
$PROP['YEAR'] = $arParams['YEAR'];
$PROP['DEPARTMENT'] = $arParams['DEPARTMENT'];
$PROP['NUM'] = htmlspecialchars(trim($arAct['NUM'] );
$PROP['PERIOD_PLAN'] = htmlspecialchars(trim($arAct['PERIOD_PLAN'] );
$PROP['PERIOD_FACT'] = htmlspecialchars(trim($arAct['PERIOD_FACT'] );
$PROP['COST_PLAN'] = htmlspecialchars(trim($arAct['COST_PLAN'] );
$PROP['COST_FACT'] = htmlspecialchars(trim($arAct['COST_FACT'] );
$PROP['RESULT'] = htmlspecialchars(trim($arAct['RESULT'] );
$PROP['INDICATOR_NAME'] = htmlspecialchars(trim($arAct['INDICATOR_NAME'] );
$PROP['RESPONSIBLE_EMPLOYEES'] = explode(',',$arAct['USERS_ID'] ;
$arFields=array(
'NAME'=>htmlspecialchars(trim($arAct['NAME'] ),
'PROPERTY_VALUES'=>$PROP,
'ACTIVE'=>'Y',
'IBLOCK_ID'=>IB_KPI_ACTIVITIES
);
if(in_array($a_id,$arIds))
$res = $elem->Update($a_id, $arFields);
else
$elem->Add($arFields);
unset($arIds[array_search($a_id,$arIds)] ;
}
}
}
if(count($arIds)){
foreach($arIds as $id){
$elem->Delete($id);
}
}
$arParams['EDIT']='N';
/* Если изменения сбрасваем кэш */
$this->ClearResultCache(array($arResult['CAN_EDIT'] );
}
Хотим поменять тип поля "строка" на "Календарь" (скриншот прилагаю.)
Мне кажется в коде надо поменять эти строки. Подскажите пожалуйста что нужно еще дописать чтобы сменить тип поля на календарь
$PROP['PERIOD_PLAN'] = htmlspecialchars(trim($arAct['PERIOD_PLAN'] );
$PROP['PERIOD_FACT'] = htmlspecialchars(trim($arAct['PERIOD_FACT'] );
Ссылка на функцию
Код:
<?
$arParams['DEPARTMENT']=(int)$arParams['DEPARTMENT'];
if(!(int)$arParams['YEAR'] {
$arParams['YEAR']=date('Y');
}
$arResult['CAN_EDIT']=false;
if($USER->IsAdmin() || in_array($USER->GetId(),apClass::getAccessToKPIServicesByUserId('UF_EDIT_EVENTS_USERS',$arParams['DEPARTMENT'] ))
$arResult['CAN_EDIT']=true;
if(!$arResult['CAN_EDIT'] {
$arParams['EDIT']='N';
}
if($_SERVER['REQUEST_METHOD']=='POST' && $arResult['CAN_EDIT'] && check_bitrix_sessid()){
$elem=new CIBlockElement();
$arIds=explode(',',$_POST['activities_ids'] ;
if(count($_POST['ACTIVITIES'] ){
foreach($_POST['ACTIVITIES'] as $a_id => $arAct){
if(htmlspecialchars(trim($arAct['NAME'] )){
$PROP = array();
$PROP['YEAR'] = $arParams['YEAR'];
$PROP['DEPARTMENT'] = $arParams['DEPARTMENT'];
$PROP['NUM'] = htmlspecialchars(trim($arAct['NUM'] );
$PROP['PERIOD_PLAN'] = htmlspecialchars(trim($arAct['PERIOD_PLAN'] );
$PROP['PERIOD_FACT'] = htmlspecialchars(trim($arAct['PERIOD_FACT'] );
$PROP['COST_PLAN'] = htmlspecialchars(trim($arAct['COST_PLAN'] );
$PROP['COST_FACT'] = htmlspecialchars(trim($arAct['COST_FACT'] );
$PROP['RESULT'] = htmlspecialchars(trim($arAct['RESULT'] );
$PROP['INDICATOR_NAME'] = htmlspecialchars(trim($arAct['INDICATOR_NAME'] );
$PROP['RESPONSIBLE_EMPLOYEES'] = explode(',',$arAct['USERS_ID'] ;
$arFields=array(
'NAME'=>htmlspecialchars(trim($arAct['NAME'] ),
'PROPERTY_VALUES'=>$PROP,
'ACTIVE'=>'Y',
'IBLOCK_ID'=>IB_KPI_ACTIVITIES
);
if(in_array($a_id,$arIds))
$res = $elem->Update($a_id, $arFields);
else
$elem->Add($arFields);
unset($arIds[array_search($a_id,$arIds)] ;
}
}
}
if(count($arIds)){
foreach($arIds as $id){
$elem->Delete($id);
}
}
$arParams['EDIT']='N';
/* Если изменения сбрасваем кэш */
$this->ClearResultCache(array($arResult['CAN_EDIT'] );
}