Вызывается перед записью элемента (все равно, нового или существующего). В нее передается наименование элемента, возвращается наименование очищенное.
Спасибо за советы Tatitutu, _Xelon_.
Функция ОчиститьНаименованиеСправочника (Наименование) Экспорт
ИмяЧ = Наименование;
НекорректнаяСтрока = Новый Массив;
//=========Некорректные символы для всех справочников ======================
НекорректнаяСтрока.Добавить("!"); // !
НекорректнаяСтрока.Добавить(Символ(34)); // "
НекорректнаяСтрока.Добавить("№"); // #
НекорректнаяСтрока.Добавить("$"); // $
НекорректнаяСтрока.Добавить("%"); // %
НекорректнаяСтрока.Добавить("&"); // &
НекорректнаяСтрока.Добавить("'"); // '
НекорректнаяСтрока.Добавить("("); // (
НекорректнаяСтрока.Добавить(")"); // )
НекорректнаяСтрока.Добавить(Символ(42)); // *
НекорректнаяСтрока.Добавить("+"); // +
НекорректнаяСтрока.Добавить(","); // ,
НекорректнаяСтрока.Добавить("-"); // -
НекорректнаяСтрока.Добавить("."); // .
НекорректнаяСтрока.Добавить("/"); // /
НекорректнаяСтрока.Добавить(":"); //
НекорректнаяСтрока.Добавить(";"); //
НекорректнаяСтрока.Добавить(" НекорректнаяСтрока.Добавить(">"); //
НекорректнаяСтрока.Добавить("="); //
НекорректнаяСтрока.Добавить("?"); //
НекорректнаяСтрока.Добавить("@"); //
НекорректнаяСтрока.Добавить("`"); //
НекорректнаяСтрока.Добавить("\"); //
НекорректнаяСтрока.Добавить("["); //
НекорректнаяСтрока.Добавить("]"); //
НекорректнаяСтрока.Добавить("#"); //
//=========Общие некорректные символы========================================.
//=========Некорректные символы для контрагентов ============================
НекорректнаяСтрока.Добавить("ООО");
НекорректнаяСтрока.Добавить("ТОВ ");
НекорректнаяСтрока.Добавить("ОАО");
НекорректнаяСтрока.Добавить("ВАТ ");
НекорректнаяСтрока.Добавить("ЗАО");
НекорректнаяСтрока.Добавить("ЗАТ ");
НекорректнаяСтрока.Добавить("ЧП");
НекорректнаяСтрока.Добавить("ГП");
НекорректнаяСтрока.Добавить("ГОАО");
НекорректнаяСтрока.Добавить("ДВАТ");
НекорректнаяСтрока.Добавить("ШАХТА");
НекорректнаяСтрока.Добавить("КП ");
//=========Некорректные символы для контрагентов =============================.
//убираем лишние пробелы=====================================================
ИмяЧ = СокрЛП(ИмяЧ);
Пока Найти(ИмяЧ, " ") > 0 Цикл
ИмяЧ = СтрЗаменить(ИмяЧ, " ", " ");
КонецЦикла;
//============================================================================
Для СчетчикИмя = 1 По СтрДлина(ИмяЧ) Цикл
Для Каждого Элемент из НекорректнаяСтрока Цикл
ДлинаНекорректнаяСтрока = СтрДлина(Элемент);
Если Врег(Лев(ИмяЧ,ДлинаНекорректнаяСтрока)) = Элемент Тогда
ИмяЧ = Сред(ИмяЧ, (ДлинаНекорректнаяСтрока+1),(СтрДлина(ИмяЧ)-ДлинаНекорректнаяСтрока));
ИмяЧ = СокрЛП(ИмяЧ);
ДлинаИмени = СтрДлина(ИмяЧ);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат ИмяЧ;
КонецФункции