Получение нормального представления Юрлица

Различные полезные вещи для программистов 1С

Получение нормального представления Юрлица

Сообщение julyp » Пн авг 08, 2011 8:00 pm

Часто требуется автоматически преобразовать наименование Юрлица к стандартному шаблону, например ООО "МояКомпания" в МояКомпания, ООО

Код: Выделить всё
//
Функция      ПолучитьНормальноеПредставлениеЮрФизЛица(Наименование) Экспорт
   
   НовоеНаименование = "";
   
   НаименованиеОбработанное = СокрЛП(Наименование);
   
   ПереченьРазделителей = "., """;
   
   //Разбиваем наименование на части
   КоличествоЧастей = ПолучитьКоличествоЧастей (НаименованиеОбработанное, "., """);
   
   АббревиатураВидаЮрФизЛица = "";
   АббревиатураНайдена = Ложь;
   МассивСлов = Новый Массив;
   
   ПорядковыйНомерЧастей = 0;
   Для н = 1 По КоличествоЧастей Цикл
   
      ТекущаяЧасть = ПолучитьЧасть (НаименованиеОбработанное, "., """, н);
      
      Если ЗначениеЗаполнено(ТекущаяЧасть) Тогда
         
         ПорядковыйНомерЧастей = ПорядковыйНомерЧастей + 1;
         
         Если СловоявляетсяАббревиатуройВидаЮрФизЛица(ТекущаяЧасть) И
            (ПорядковыйНомерЧастей = 1 ИЛИ н = КоличествоЧастей) И Не АббревиатураНайдена Тогда
            
            АббревиатураВидаЮрФизЛица = ВРег(ТекущаяЧасть);
            АббревиатураНайдена = Истина;
         Иначе
            МассивСлов.Добавить(ТекущаяЧасть);
         КонецЕсли;
      Конецесли;
   КонецЦикла;   
      
   Если МассивСлов.Количество() > 0 Тогда
      НовоеНаименование = ПолучитьСтрокуИзМассива(МассивСлов);
      
      Если АббревиатураНайдена Тогда
         НовоеНаименование = НовоеНаименование + ", " + АббревиатураВидаЮрФизЛица;
      КонецЕсли;
   КонецЕсли;
   
   Возврат НовоеНаименование;
КонецФункции

//
Функция    СловоявляетсяАббревиатуройВидаЮрФизЛица(Слово) Экспорт
   
   СловоОбработанное = СокрЛП(НРег(Слово));
   
   Если СловоОбработанное = "ооо" ИЛИ
      СловоОбработанное = "ип"  ИЛИ
      СловоОбработанное = "чп"  ИЛИ
      СловоОбработанное = "оао"  ИЛИ
      СловоОбработанное = "зао"   ИЛИ
      СловоОбработанное = "фгу"   ИЛИ
      СловоОбработанное = "гуз"   ИЛИ
      СловоОбработанное = "ноу"   ИЛИ
      СловоОбработанное = "нп"   ИЛИ
      СловоОбработанное = "фгуп"   ИЛИ
      СловоОбработанное = "фкп"   ИЛИ
      СловоОбработанное = "муз"   Тогда
                                         
      
      Возврат Истина;
   КонецЕсли;

   Возврат Ложь;
   
КонецФункции

//
Функция      ПолучитьСтрокуИзМассива(Массив, Разделитель = " ") Экспорт
   
   СтрокаРезультат = "";
      
   ПорядковыйНомерЭлемента = 0;
   Для каждого Элемент Из Массив Цикл
      
      ПорядковыйНомерЭлемента = ПорядковыйНомерЭлемента + 1;
      
      Если ПорядковыйНомерЭлемента = 1 Тогда
         СтрокаРезультат = Строка(Элемент);
      Иначе
         СтрокаРезультат = СтрокаРезультат + Разделитель + Строка(Элемент);   
      КонецЕсли;
   КонецЦикла;   
      
   Возврат СтрокаРезультат;
КонецФункции
julyp
Администратор
 
Сообщения: 127
Зарегистрирован: Вт май 25, 2010 6:55 am

Вернуться в Полезные вещи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron