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

    −99

    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
    Для каждого зн Из масЗначСтр Цикл
       столбик=столбик+1;
       ЕСЛИ столбик <5 Тогда
        Продолжить;
       ИНАЧЕЕСЛИ столбик =6 ИЛИ столбик =7 ИЛИ  столбик =9 Тогда
        Продолжить;
       ИНАЧЕЕСЛИ (столбик >10) И (столбик <19)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ (столбик >19) И (столбик <24)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ (столбик >24) И (столбик <28)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ  (столбик =29)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ  (столбик >30)  Тогда
        Продолжить;
       ИНАЧЕ
        номЗнач = номЗнач + 1;
        Если  номЗнач>4  Тогда
         Прервать;
        Иначе
         новСтр[номЗнач] = СтрЗаменить(зн,символОграничения,"""");
         //Запомним сразу дату
         Если  номЗнач=3   Тогда
          Сдата=зн; 
         КонецЕсли;
         А=1;
        КонецЕсли;
       КОНЕЦЕСЛИ;
      КонецЦикла;

    выборка элементов массива, зная позицию этих элементов

    DelHayprO, 22 Ноября 2016

    Комментарии (4)
  2. 1C / Говнокод #21635

    −41

    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
    //Уберобмен за 96К!
    
    //Выгрузка перемещений как товарной-накладной и оприходования.
    
    МассивСкладовОтправителей = Новый Массив;
    МассивСкладовПолучателей = Новый Массив;
    
    МассивСкладовОтправителей.Добавить(Справочники.Склады.НайтиПоНаименованию("Главный"));
    МассивСкладовОтправителей.Добавить(Справочники.Склады.НайтиПоНаименованию("Фасовочный цех"));
    МассивСкладовОтправителей.Добавить(Справочники.Склады.НайтиПоНаименованию("Резерв"));
    МассивСкладовОтправителей.Добавить(Справочники.Склады.НайтиПоНаименованию("Маркировка"));
    МассивСкладовОтправителей.Добавить(Справочники.Склады.НайтиПоНаименованию("Потребительский"));
    
    МассивСкладовПолучателей.Добавить(Справочники.Склады.НайтиПоНаименованию("Бокс 1"));
    МассивСкладовПолучателей.Добавить(Справочники.Склады.НайтиПоНаименованию("Бокс 2"));
    МассивСкладовПолучателей.Добавить(Справочники.Склады.НайтиПоНаименованию("Бокс 3"));
    
    Если МассивСкладовОтправителей.Найти(Источник.СкладОтправитель) = Неопределено 
     ИЛИ МассивСкладовПолучателей.Найти(Источник.СкладПолучатель)   = Неопределено Тогда
     	Отказ = Истина;
    КонецЕсли;

    A1exID, 03 Ноября 2016

    Комментарии (0)
  3. 1C / Говнокод #21614

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    	Кавычка = """";
    	ПереносСтроки = Символы.ПС;
    	Строка = "Процедура КнопкаВыполнитьНажатие(Кнопка)	Кавычка = ;	ПереносСтроки = Символы.ПС;	Строка = ;	Сообщить (ПереносСтроки + Лев(Строка, 40) + ПереносСтроки + Сред(Строка, 41, 11) + Кавычка + Кавычка + Кавычка + Кавычка + Сред(Строка, 52, 1) + ПереносСтроки + Сред(Строка, 53, 28) + ПереносСтроки		+ Сред(Строка, 81, 10) + Кавычка + Строка + Кавычка + Сред(Строка, 91, 1) + ПереносСтроки + Сред(Строка, 92, 198) + ПереносСтроки + Сред(Строка, 290, 194) + ПереносСтроки + Сред(Строка, 485)); КонецПроцедуры";
    	Сообщить (ПереносСтроки + Лев(Строка, 40) + ПереносСтроки + Сред(Строка, 41, 11) + Кавычка + Кавычка + Кавычка + Кавычка + Сред(Строка, 52, 1) + ПереносСтроки + Сред(Строка, 53, 28) + ПереносСтроки
    		+ Сред(Строка, 81, 10) + Кавычка + Строка + Кавычка + Сред(Строка, 91, 1) + ПереносСтроки + Сред(Строка, 92, 198) + ПереносСтроки + Сред(Строка, 290, 194) + ПереносСтроки + Сред(Строка, 485));
    КонецПроцедуры

    1С квайн

    mrbus, 31 Октября 2016

    Комментарии (10)
  4. 1C / Говнокод #21608

    −93

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Для эстетов. Мы за это платим овердохуя, в получаем:
    
    Текст.запроса = Текст.Запроса + Сред(ТекстЗапроса,Врезка8+33,Врезка9-Врезка8+24-33+1) ;
    Мало того - что тут по буквам ТЕКСТ собирают, так еще и ошиблись - не +33 а +33-3 надо! ПИЗДЕЦ!
    Вот эта хуета - Сред(ТекстЗапроса,Врезка8+33,Врезка9-Врезка8+24-33+1)  - возвращает "ОР" - и компилятор орет на ошибку
    А вот эта наша хуета - Сред(ТекстЗапроса,Врезка8+33-3,Врезка9-Врезка8+24-33+1)  - возвращает "ВЫБОР" в все заебись работает.

    Из глубин прикладной 1С

    balabass, 31 Октября 2016

    Комментарии (17)
  5. 1C / Говнокод #21594

    −97

    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
    Функция ПроставитьНули (ЧислоНулей)
    	
    Если ЧислоНулей = 7 Тогда 	
    СтрокаНулей = "000000";	
    ИначеЕсли ЧислоНулей = 6 Тогда 	
    СтрокаНулей = "00000";		
    ИначеЕсли ЧислоНулей = 5 Тогда 		
    СтрокаНулей = "0000";		
    ИначеЕсли ЧислоНулей = 4 Тогда 		
    СтрокаНулей = "000";		
    ИначеЕсли ЧислоНулей =3 Тогда 		
    СтрокаНулей = "00";		
    ИначеЕсли ЧислоНулей =2 Тогда 		
    СтрокаНулей = "0";	
    ИначеЕсли ЧислоНулей =1 Тогда
    СтрокаНулей = "0";
    КонецЕсли;
    
    Возврат СтрокаНулей;
    		
    КонецФункции

    Разгребал завалы от предшественника. Случайно наткнулся.
    Правильно было бы так:
    Функция ПроставитьНули (ИсходноеЧисло, ЧислоНулей)
    Возврат Формат(ИсходноеЧисло, "ЧЦ="+ЧислоНулей+"; ЧВН=; ЧГ=0");
    КонецФункции

    Vince, 28 Октября 2016

    Комментарии (12)
  6. 1C / Говнокод #21559

    −98

    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
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    	МетаданныеДокумента = Объект.Ссылка.Метаданные();
    	СтруктураПараметров = новый Структура();
    	//Заполним структуру реквизитами документа
    	Для каждого Реквизит из МетаданныеДокумента.Реквизиты Цикл
    		СтруктураПараметров.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
    	КонецЦикла;
    	
       Если Не ЗначениеЗаполнено(Объект.Организация) Тогда 
          ЗаполнитьСвойствоЗначениемПоУмолчанию("Организация", "ОсновнаяОрганизация", СтруктураПараметров, Истина);
    	  ЗаполнитьЗначенияСвойств(Объект,СтруктураПараметров);
       КонецЕсли;
    КонецПроцедуры

    В модуле формы документа проверяем заполнение одного (!) реквизита дичайше оптимальным образом

    eternium, 25 Октября 2016

    Комментарии (0)
  7. 1C / Говнокод #21547

    −97

    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
    Документ = Строка(Расшифровка);
    СтрокаОбработанная = СТРЗаменить(Документ, "Заявка ", "");
    ПозицияОт = Найти(СтрокаОбработанная, " от ");
    Номер = СокрЛП(СтрЗаменить((Лев(СтрокаОбработанная, ПозицияОт)), "№", ""));
    Дата = Дата(СокрЛП(СтрЗаменить(Прав(СтрокаОбработанная, СтрДлина(СтрокаОбработанная)-ПозицияОт), "от", "")));
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Заявка.Ссылка
    |ИЗ
    | Документ.Заявка КАК Заявка
    |ГДЕ
    | Заявка.Дата = &Дата
    | И Заявка.Номер = &Номер";
    
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Номер", Номер);
    
    РезультатЗапроса = Запрос.Выполнить().Выбрать();
    
    Если РезультатЗапроса.Количество() Тогда
    РезультатЗапроса.Следующий();

    Мы уже даже привыкли к запросам с поиском ссылки по наименованию, полученному из уже имеющейся ссылки... Но парсинг представления ссылки документа с вычлененнием оттуда номера и даты, чтоб найти этот документ - это нельзя придумать даже специально.

    elizir, 24 Октября 2016

    Комментарии (0)
  8. 1C / Говнокод #21546

    −100

    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
    ЗапросПоДате = Новый Запрос;
    ЗапросПоДате.Текст = "ВЫБРАТЬ
    	|	МАКСИМУМ(НачислениеБонусов.Дата) КАК Дата
    	|ИЗ
    	|	Документ.НачислениеБонусов КАК НачислениеБонусов
    	|ГДЕ
    	|	НачислениеБонусов.Контрагент = &Контрагент
    	|	И НачислениеБонусов.Дата < &Дата";
    ЗапросПоДате.Параметры.Вставить("Контрагент",ЭтотОбъект.Контрагент);
    ЗапросПоДате.Параметры.Вставить("Дата",ЭтотОбъект.Дата);
    Результат =	ЗапросПодате.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
    	ДатаПоследнегоНачисления = Результат.Дата;
    Иначе
    	ДатаПоследнегоНачисления = Дата(2000,01,01);
    КонецЕсли;
    Если ДатаПоследнегоНачисления = Null Тогда
    	ДатаПоследнегоНачисления = Дата(2000,01,01);
    КонецЕсли;

    Функции языка запросов???

    Asaharu, 24 Октября 2016

    Комментарии (5)
  9. C# / Говнокод #21404

    −236

    1. 1
    2. 2
    string str = "trial evaluation license agreement expire about... looking for these words? I work like a fool to deliver high quality software and make a living of it and raise my children. Please support me if you want me to continue adding features";
            str = string.Concat(str, str);

    интересненькое из ndepend.core.dll

    reversemyass, 10 Октября 2016

    Комментарии (10)
  10. C# / Говнокод #21367

    −12

    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
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    using System;
    
    
    namespace Aquapear.StringTools
    {
    	
    	/// <summary> Объединяет строки, вставляя между ними разделитель, но в конце разделитель не ставится. </summary>
    	public static class StringsJoiner
    	{
    		
    		public static String Join(String[] bits, String separator) {
    			/*if(separator.Length==0) {
    				int bitsLength = bits.Length;
    				StringBuilder builder = new StringBuilder(bits.Length);
    					for(int i = 0; i < bitsLength; i++) {
    						builder.AddLast( bits[i] );
    					}
    				return builder.Build();
    			}*/
    			return String.Join(separator, bits);
    			/*
    			int bitsLength = bits.Length;
    
    			if(bitsLength == 0) return "";
    			if(separator.Length==0) return CloseJoin(bits);
    			
    			int allCharsLength = separator.Length*(bits.Length-1);
    			for(int i = 0; i < bitsLength; i++) {
    				allCharsLength += bits[i].Length;
    			}						
    			char[] chrs = new char[allCharsLength];
    			int wordIndex = 0, wordProgress = 0;
    			bool separatorMode = false;
    
    			string word = bits[0];
    			int wordLength = word.Length;
    				
    				for(int i = 0; i < allCharsLength; i++) {
    					if(separatorMode) {
    						chrs[i] = word[wordProgress];
    						wordProgress++;
    						if(wordProgress>=wordLength) {
    							separatorMode = false;
    							wordProgress = 0;
    							word = bits[wordIndex];
    							wordLength = word.Length;
    						}
    
    					} else {
    						chrs[i] = (wordLength >= 1) ? word[wordProgress] : '\0';
    						wordProgress++;
    						if(wordProgress >= wordLength) {
    							separatorMode = true;
    							wordProgress = 0;
    							wordIndex++;
    							if(word.Length == 0) i--;
    							word = separator;
    							wordLength = word.Length;
    						}
    					}
    				}
    			return new String(chrs); */
    		}
    
    
    		static String CloseJoin(String[] bits) {
    			return String.Join("", bits);
    		}
    
    	}
    }

    d_fomenok, 07 Октября 2016

    Комментарии (31)