Автозаполнение "Имя для входа" в справочнике "Сотрудники"
Добрый день!
Подскажите, как изменить алгоритм, чтобы в графу "Имя для входа" подставлялись не фамилия и инициалы от ИО, как стандартно это заложено, а фамилия и имя полностью?
Функция в общем модуле:
Подскажите, как изменить алгоритм, чтобы в графу "Имя для входа" подставлялись не фамилия и инициалы от ИО, как стандартно это заложено, а фамилия и имя полностью?
Функция в общем модуле:
Функция ПолучитьКраткоеИмяПользователяИБ(Знач ПолноеИмя) Экспорт
Разделители = Новый Массив;
Разделители.Добавить(" ");
Разделители.Добавить(".");
КраткоеИмя = "";
Для Счетчик = 1 По 3 Цикл
Если Счетчик <> 1 Тогда
КраткоеИмя = КраткоеИмя + ВРег(Лев(ПолноеИмя, 1));
КонецЕсли;
ПозицияРазделителя = 0;
Для каждого Разделитель Из Разделители Цикл
ПозицияТекущегоРазделителя = СтрНайти(ПолноеИмя, Разделитель);
Если ПозицияТекущегоРазделителя > 0
И ( ПозицияРазделителя = 0
ИЛИ ПозицияРазделителя > ПозицияТекущегоРазделителя ) Тогда
ПозицияРазделителя = ПозицияТекущегоРазделителя;
КонецЕсли;
КонецЦикла;
Если ПозицияРазделителя = 0 Тогда
Если Счетчик = 1 Тогда
КраткоеИмя = ПолноеИмя;
КонецЕсли;
Прервать;
КонецЕсли;
Если Счетчик = 1 Тогда
КраткоеИмя = Лев(ПолноеИмя, ПозицияРазделителя - 1);
КонецЕсли;
ПолноеИмя = Прав(ПолноеИмя, СтрДлина(ПолноеИмя) - ПозицияРазделителя);
Пока Разделители.Найти(Лев(ПолноеИмя, 1)) <> Неопределено Цикл
ПолноеИмя = Сред(ПолноеИмя, 2);
КонецЦикла;
КонецЦикла;
Возврат КраткоеИмя;
КонецФункции
ПоказатьПо теме из базы знаний
- Пункт технического осмотра, редакция 3.0
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Учет ресурсов по спецификациям. Автозаполнение загрузки ресурсов в заказе на производство
- Мониторинг ПФР/Минтруда по приказу № Пр-366. Форма для сбора сведений о заработной плате работников бюджетной сферы. Автоматическое заполнение с возможностью корректировки и консолидации и выгрузка в формате XML. ЗГУ/ЗУП 3.1
- 1С ИТС: купить информационно-технологическое сопровождение в Санкт-Петербурге по цене от 11 799 руб. | обновления и обслуживание
Найденные решения
(1)
Функция ПолучитьКраткоеИмяПользователяИБ(Знач ПолноеИмя) Экспорт
СтрокаРазделителей = ".,/";
Для Символ = 1 По СтрДлина(СтрокаРазделителей) Цикл
ПолноеИмя = СтрЗаменить(ПолноеИмя, Сред(СтрокаРазделителей, Символ, 1), " ");
КонецЦикла;
ФИОвМассиве = СтрРазделить(ПолноеИмя, " ", Ложь);
Если ФИОвМассиве.Количество() >= 2 Тогда
КраткоеИмя = ФИОвМассиве[0] + ФИОвМассиве[1];
ИначеЕсли ФИОвМассиве.Количество() = 1 Тогда
КраткоеИмя = ФИОвМассиве[0];
Иначе
КраткоеИмя = СокрЛП(ПолноеИмя);
КонецЕсли;
Возврат КраткоеИмя;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Функция ПолучитьКраткоеИмяПользователяИБ(Знач ПолноеИмя) Экспорт
СтрокаРазделителей = ".,/";
Для Символ = 1 По СтрДлина(СтрокаРазделителей) Цикл
ПолноеИмя = СтрЗаменить(ПолноеИмя, Сред(СтрокаРазделителей, Символ, 1), " ");
КонецЦикла;
ФИОвМассиве = СтрРазделить(ПолноеИмя, " ", Ложь);
Если ФИОвМассиве.Количество() >= 2 Тогда
КраткоеИмя = ФИОвМассиве[0] + ФИОвМассиве[1];
ИначеЕсли ФИОвМассиве.Количество() = 1 Тогда
КраткоеИмя = ФИОвМассиве[0];
Иначе
КраткоеИмя = СокрЛП(ПолноеИмя);
КонецЕсли;
Возврат КраткоеИмя;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот