Вот полный примерный код:
[CODE]
case "E":
case "S":
case "N":
for ($i = 0; $i<$inputNum; $i++)
{
if ($arParams["ID"] > 0 || count($arResult["ERRORS"]) > 0)
{
$value = intval($propertyID) > 0 ? $arResult["ELEMENT_PROPERTIES"][$propertyID][$i]["VALUE"] : $arResult["ELEMENT"][$propertyID];
}
elseif ($i == 0)
{
$value = intval($propertyID) <= 0 ? "" : $arResult["PROPERTY_LIST_FULL"][$propertyID]["DEFAULT_VALUE"];
}
else
{
$value = "";
}
//Здесь производим необходимые действия
if($propertyID == 60): //ID необходимого св-ва
//выполняем выборку и выводим результат, для примера просто выведем текущее значение $value
echo $value;
else:
//выполняем стандартный код
?>
<input type="text" name="PROPERTY[<?=$propertyID?>][<?=$i?>]" size="25" value="<?=$value?>" />
<?if($arResult["PROPERTY_LIST_FULL"][$propertyID]["USER_TYPE"] == "DateTime"):
$APPLICATION->IncludeComponent(
'bitrix:main.calendar',
'',
array(
'FORM_NAME' => 'iblock_add',
'INPUT_NAME' => "PROPERTY[".$propertyID."][".$i."]",
'INPUT_VALUE' => $value,
),
null,
array('HIDE_ICONS' => 'Y')
);
?><br /><small><?=GetMessage("IBLOCK_FORM_DATE_FORMAT")?><?=FORMAT_DATETIME?></small><?
endif
?><br /><?
endif;
}
break;
[/CODE]
Проверьте $propertyID и $value, выведите их и посмотрите что выведется.
У нас такая конструкция работает на нескольких проектах, еще не подводила :)