Удалить префиксы из номера объекта. Удаляет префикс информационной базы и префикс организации из переданной строки НомерОбъекта.
// Удаляет префикс информационной базы и префикс организации из переданной строки НомерОбъекта.
// Переменная НомерОбъекта должна соответствовать шаблону: ООГГ-ХХХ...ХХ или ГГ-ХХХ...ХХ, где:
// ОО - префикс организации;
// ГГ - префикс информационной базы;
// "-" - разделитель;
// ХХХ...ХХ - номер/код объекта.
// Незначащие символы префиксов (символ ноль - "0") также удаляются.
//
// Параметры:
// НомерОбъекта - Строка - номер или код объекта из которого требуется удалить префиксы.
// УдалитьПрефиксОрганизации - Булево - признак удаления префикса организации;
// по умолчанию равен Ложь.
// УдалитьПрефиксИнформационнойБазы - Булево - признак удаления префикса информационной базы;
// по умолчанию равен Ложь.
//
// Возвращаемое значение:
// Строка - Номер объекта без префиксов.
//
// Пример:
// УдалитьПрефиксыИзНомераОбъекта("0ФГЛ-000001234", Истина, Истина) = "000001234"
// УдалитьПрефиксыИзНомераОбъекта("0ФГЛ-000001234", Ложь, Истина) = "Ф-000001234"
// УдалитьПрефиксыИзНомераОбъекта("0ФГЛ-000001234", Истина, Ложь) = "ГЛ-000001234"
// УдалитьПрефиксыИзНомераОбъекта("0ФГЛ-000001234", Ложь, Ложь) = "ФГЛ-000001234"
//
Функция УдалитьПрефиксыИзНомераОбъекта(Знач НомерОбъекта, УдалитьПрефиксОрганизации = Ложь, УдалитьПрефиксИнформационнойБазы = Ложь) Экспорт
Если Не НомерСодержитСтандартныйПрефикс(НомерОбъекта) Тогда
Возврат НомерОбъекта;
КонецЕсли;
// Изначально пустая строка префикса номера объекта.
ПрефиксОбъекта = "";
НомерСодержитПятизначныйПрефикс = НомерСодержитПятизначныйПрефикс(НомерОбъекта);
Если НомерСодержитПятизначныйПрефикс Тогда
ПрефиксОрганизации = Лев(НомерОбъекта, 2);
ПрефиксИнформационнойБазы = Сред(НомерОбъекта, 3, 2);
Иначе
ПрефиксОрганизации = "";
ПрефиксИнформационнойБазы = Лев(НомерОбъекта, 2);
КонецЕсли;
ПрефиксОрганизации = СтроковыеФункцииКлиентСервер.УдалитьПовторяющиесяСимволы(ПрефиксОрганизации, "0");
ПрефиксИнформационнойБазы = СтроковыеФункцииКлиентСервер.УдалитьПовторяющиесяСимволы(ПрефиксИнформационнойБазы, "0");
// Добавляем префикс организации.
Если Не УдалитьПрефиксОрганизации Тогда
ПрефиксОбъекта = ПрефиксОбъекта + ПрефиксОрганизации;
КонецЕсли;
// Добавляем префикс информационной базы.
Если Не УдалитьПрефиксИнформационнойБазы Тогда
ПрефиксОбъекта = ПрефиксОбъекта + ПрефиксИнформационнойБазы;
КонецЕсли;
Если Не ПустаяСтрока(ПрефиксОбъекта) Тогда
ПрефиксОбъекта = ПрефиксОбъекта + "-";
КонецЕсли;
Возврат ПрефиксОбъекта + Сред(НомерОбъекта, ?(НомерСодержитПятизначныйПрефикс, 6, 4));
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
УдалитьПользовательскиеПрефиксыИзНомераОбъекта (БСП)
Как удалить префикс и лидирующие нули?
Удалить префикс объекта и лидирующие нули (ЗУП 3)
Убрать префикс и лидирующие нули
ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию (БСП)
УдалитьЛидирующиеНулиИзНомераОбъекта (БСП)