Расскажу как сделать чтоб при синхронизации в автоматическом режиме с 1С описание товаров не изменялось на сайте. Для решения нужно исключить из выгрузки поля PREVIEW_TEXT и DETAIL_TEXT. Для этого добавляет файл init.php
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "DropPreviewText");
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "DropPreviewText");
function DropPreviewText($arFields){
if (@$_REQUEST['mode']=='import') {
unset($arFields['PREVIEW_TEXT']);
unset($arFields['PREVIEW_TEXT_TYPE']);
unset($arFields['DETAIL_TEXT']);
unset($arFields['DETAIL_TEXT_TYPE']);
}
}
Вкратце, в init.php мы перехватываем события OnBeforeIBlockElementUpdate и OnBeforeIBlockElementAdd и запускаем свою небольшую функцию удаляющую необходимые нам поля из массива с содержимым элемента из 1С.
В моем случае это PREVIEW_TEXT и DETAIl_TEXT. Теперь при синхронизации эти поля не переписываются.