Евгений Жуков пишет:
[QUOTE]Если Вы используете для связи свойство типа Привязка к элементам или производные от него, то при удалении записи в одном инфоблоке записи во втором не удалятся.
[/QUOTE]Оказалось, правда, извините, что ввел заблуждение. Спасибо за наводку, я подумал, что администратор знает, что говорит, поэтому подумал - а что могло бы удалять, если удаляться не должно. Оказалось, меня подвела ошибка в учебном курсе Битрикса (Пример работы с пользовательскими свойствами):
[url=http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2832&LESSON_PATH=3913.4610.4797.2832#task_6]http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2832&LESSON_PATH=3913.4610.4797.2832#task_6[/url]
Я использовал этот пример для создания галереи. Дело в том, что там зарегистрирован обработчик [B]OnBeforeIBlockElementDelete[/B]. В нем в частности написано следующее:
[CODE]$rsPropValues = CIBlockElement::GetProperty($arElement["IBLOCK_ID"], $arElement["ID"], array(
"EMPTY" => "N",
"ID" => $arProperty["ID"],
));[/CODE]
Согласно документации к апи ([url]http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getproperty.php[/url]):
[B] CIBlockElement::GetProperty([/B]
int [I]iblock_id[/I],
int [I]element_id[/I],
array [I]arOrder = Array(),[/I]
array [I]arFilter = Array()[/I]
[B]);[/B]
Т.е. третий параметр - это сортировка, а в учебном курсе третьим аргументом передали фильтр, вместо четвертого. Через это удалялись ВСЕ связанные элементы. Досадно. Нужно поправить учебный курс, к кому обратиться?)