1. 1C / Говнокод #21315

    −29

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    Функция ОписаниеОрганизации(СписокСведений, Список = "", СПрефиксом = Истина) Экспорт
    	
    	Если ПустаяСтрока(Список) Тогда
    		Список = "ПолноеНаименование,НаименованиеСокращенное,ИНН,Свидетельство,ЮридическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет";	
    	КонецЕсли;
    
    	Результат = "";
    
    	СоответствиеПараметров = Новый Соответствие();
    	СоответствиеПараметров.Вставить("ПолноеНаименование", 		" ");
    	СоответствиеПараметров.Вставить("НаименованиеСокращенное", 	" ");
    	СоответствиеПараметров.Вставить("ИНН",                		" ИНН ");
    	СоответствиеПараметров.Вставить("КПП",                		" КПП ");
    	СоответствиеПараметров.Вставить("Свидетельство",			" ");
    	СоответствиеПараметров.Вставить("СвидетельствоДатаВыдачи",	" от ");
    	СоответствиеПараметров.Вставить("ЮридическийАдрес",   		" ");
    	СоответствиеПараметров.Вставить("ФактическийАдрес",   		" ");
    	СоответствиеПараметров.Вставить("Телефоны",           		" тел.: ");
    	СоответствиеПараметров.Вставить("НомерСчета",         		" р/с ");
    	СоответствиеПараметров.Вставить("Банк",               		" в банке ");
    	СоответствиеПараметров.Вставить("БИК",                		" БИК ");
    	СоответствиеПараметров.Вставить("КоррСчет",           		" к/с ");
    	СоответствиеПараметров.Вставить("КодПоОКПО",          		" Код по ОКПО ");
    	
    	Список          = Список + ?(Прав(Список, 1) = ",", "", ",");
    	ЧислоПараметров = СтрЧислоВхождений(Список, ",");
    
    	Для Счетчик = 1 по ЧислоПараметров Цикл
    
    		ПозЗапятой = Найти(Список, ",");
    
    		Если ПозЗапятой > 0  Тогда
    			ИмяПараметра = Лев(Список, ПозЗапятой - 1);
    			Список = Сред(Список, ПозЗапятой + 1, СтрДлина(Список));
    
    			Попытка
    				СтрокаДополнения = "";
    				СписокСведений.Свойство(ИмяПараметра, СтрокаДополнения);
    
    				Если ПустаяСтрока(СтрокаДополнения) Тогда
    					Продолжить;
    				КонецЕсли;
    
    				Префикс = СоответствиеПараметров[ИмяПараметра];
    				Если Не ПустаяСтрока(Результат)  Тогда
    					Результат = Результат + ",";
    				КонецЕсли; 
    
    				Результат = Результат + ?(СПрефиксом = Истина, Префикс, "") + СтрокаДополнения;
    			Исключение
    				Сообщить("Не удалось определить значение параметра организации: " + ИмяПараметра, СтатусСообщения.Внимание);
    			КонецПопытки;
    
    		КонецЕсли;
    
    	КонецЦикла;
    
    	Возврат СокрЛП(Результат);
    
    КонецФункции // ОписаниеОрганизации()

    иди в 1С - говорили они,
    будет много денег говорили они,
    они говорили там всё легко, потому что по-русски,
    а в итоге?
    чтобы писать по русски надо постоянно переключать раскладку для <>, &
    ТУПОЙ КОМПИЛЯТОР, который вообще нихрена не подсказывает, потому что не строгая типизация
    Постоянная хрень типа в переменной "Список" лежит Строка, или Массив
    ПОСТОЯННЫЕ ТАНЦЫ С ЗАПЯТЫМИ, ПРИ ОПЕРАЦИЯХ СО СТРОКОЙ!!!
    Реализуйте 1 раз регулярные выражения типа Массив = Строка.Разделить("\\,") - нет! Хотим обмазываться запятыми и дрочить!
    Ну и прочее... конкретно сейчас не понятны танцы с запятыми и Лев() Прав() позиция запятой... просто бесит!

    Запостил: levxxx, 03 Октября 2016

    Комментарии (32) RSS

    Добавить комментарий