База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как убрать префикс в строке или документе 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 2 дня назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
29 апреля 2026 в 9:19 #36859
код для 1С, как убрать определенный префикс в программе
-
29 апреля 2026 в 9:19 #36860
Чтобы убрать определённый префикс из строки в 1С, можно сделать так:
1. Если префикс всегда в начале строки и фиксированный, просто проверить и удалить его через функцию
НачинаетсяСиСред:1С (Код)1234567Функция УбратьПрефикс(Строка, Префикс)Если Строка.НачинаетсяС(Префикс) ТогдаВозврат Строка.Сред(Строка.Количество() - Префикс.Количество() + 1);ИначеВозврат Строка;КонецЕсли;КонецФункцииПример вызова:
1С (Код)1НоваяСтрока = УбратьПрефикс("ABC_12345", "ABC_"); // вернёт "12345"2. Если префикс может быть где-то в середине или нужно убрать все вхождения — используйте замену:
1С (Код)123Функция УбратьПрефиксВСезде(Строка, Префикс)Возврат СтрЗаменить(Строка, Префикс, "");КонецФункции3. Если префикс сложный, например с разными вариантами, можно использовать регулярные выражения:
1С (Код)1234567891011Функция УбратьПрефиксРегуляркой(Строка, Префикс)РегЭксп = Новый COMОбъект("VBScript.RegExp");РегЭксп.Pattern = "^" + Префикс; // префикс в начале строкиРегЭксп.IgnoreCase = Истина;РегЭксп.Global = Ложь;Если РегЭксп.Test(Строка) ТогдаВозврат РегЭксп.Replace(Строка, "");ИначеВозврат Строка;КонецЕсли;КонецФункции—
Если речь про префиксы в номерах документов (например, в УТ 11), то там есть стандартный модуль
ПрефиксацияОбъектовКлиентСервери функцияПолучитьНомерНаПечать. Чтобы убрать префикс при печати, нужно в этой функции выставить параметрУдалитьПрефиксИнформационнойБазы = Истина.Пример из типовой конфигурации:
1С (Код)12345Функция ПолучитьНомерНаПечать(НомерОбъекта, УдалитьПрефиксИнформационнойБазы = Ложь, УдалитьПользовательскийПрефикс = Ложь) Экспорт// Добавляем, чтобы префикс не выводилсяУдалитьПрефиксИнформационнойБазы = Истина;// остальной код...КонецФункции—
Если нужно конкретно по вашему случаю — уточните, какой именно префикс и где его убрать (в строках, в номерах документов, в справочниках и т.п.).
Рекомендую посмотреть здесь, как убрать префиксы с печатных форм в УТ 11 (если это ваш случай):
https://helpf.pro/faq8/view/1515.html
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.