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

    −127

    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
    Каталог=СокрЛП(ИмяКаталога); 
    
    Цифры="0123456789"; 
    Д=ТекущаяДата(); 
    ДД=""; 
    Стр=Каталог; 
    
    х=Найти(Стр,"."); 
    Если х>0 Тогда 
    Символ1=Сред(Стр,х-2,1); 
    Если Найти(Цифры,Символ1)>0 Тогда 
    ДД=Символ1; 
    КонецЕсли; 
    
    Символ2=Сред(Стр,х-1,1); 
    Если Найти(Цифры,Символ2)>0 Тогда 
    ДД=ДД+Символ2+"."; 
    КонецЕсли; 
    
    Стр=Сред(Стр,х+1); 
    КонецЕсли; 
    
    х=Найти(Стр,"."); 
    Если х>0 Тогда 
    Символ1=Сред(Стр,х-2,1); 
    Если Найти(Цифры,Символ1)>0 Тогда 
    ДД=ДД+Символ1; 
    КонецЕсли; 
    
    Символ2=Сред(Стр,х-1,1); 
    Если Найти(Цифры,Символ2)>0 Тогда 
    ДД=ДД+Символ2+"."; 
    КонецЕсли; 
    
    Стр=Сред(Стр,х+1); 
    
    Символ1=Лев(Стр,1); 
    Если Найти(Цифры,Символ1)>0 Тогда 
    ДД=ДД+Символ1; 
    КонецЕсли; 
    
    Символ2=Сред(Стр,2,1); 
    Если Найти(Цифры,Символ2)>0 Тогда 
    ДД=ДД+Символ2; 
    КонецЕсли; 
    КонецЕсли; 
    
    Если СтрДлина(ДД)=8 Тогда 
    Д=Дата(ДД); 
    Сообщить(Д); 
    КонецЕсли;

    Вот нашел на одном из форумов. Программер ищет дату.

    Ivon, 09 Декабря 2010

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

    −127

    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
    &НаКлиенте
    Процедура ПриЗакрытии()
    	ПроверитьНаОткрытие()
    КонецПроцедуры
    
    &НаСервере 
    Процедура ПроверитьНаОткрытие() 
    	Если Объект.Исполнитель =ПараметрыСеанса.ТекущийПользователь() И Не Объект.Просмотрено = Истина Тогда
    		Задача = Объект.Ссылка.ПолучитьОбъект();
    		Задача.Просмотрено = Истина;
    		Задача.Записать();
    	КонецЕсли;
    КонецПроцедуры

    cdpoma, 08 Декабря 2010

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

    −129

    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
    //Тут был код
    
    //!Проверки на корректность данных.
    		ИначеЕсли (Строка(Лист.Cells(Счетчик,8).value) = "") ИЛИ (Строка(Лист.Cells(Счетчик,8).value) = "") ИЛИ ((Лист.Cells(Счетчик,8).value) = 0) ИЛИ ((Лист.Cells(Счетчик,8).value) = 0)  Тогда
    			Сообщить("У номенклатуры в строке №"+Счетчик+" не хватает данных по ценам! Позиция не добавлена!", СтатусСообщения.Важное);
    		ИначеЕсли ((Лист.Cells(Счетчик,8).value) < 0) ИЛИ ((Лист.Cells(Счетчик,8).value) < 0) Тогда 
    			Сообщить("У номенклатуры в строке №"+Счетчик+" отрицательная цена! Позиция не добавлена!", СтатусСообщения.Важное);
    		Иначе
    			Мас.Добавить(Строка(Лист.Cells(Счетчик, 1).value));
    			ЭлементСправочника = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Строка(Лист.Cells(Счетчик, 1).value));
    
    
    //Там дальше код

    Фрагмент обработки найден в конфиге клиента. До фрагмента - открытие файла excel. После - распихивание данных с него по регистрам. Гениальная проверка на корректность гениальна.

    CreatorOfBullshit, 08 Декабря 2010

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    ВнутреннийКодДокумента=Лев(ФайлКаталога.Имя,Найти(ФайлКаталога.Имя,"_")-1);
    ВнутреннийКодДокумента=Формат(Число(ВнутреннийКодДокумента),"ЧЦ=9;ЧВН=");
    ВнутреннийКодДокумента=СтрЗаменить(ВнутреннийКодДокумента," ","");
    СсылкаНаВходящийДокумент=Справочники.ВходящиеДокументы.НайтиПоКоду(ВнутреннийКодДокумента);

    получает имя файла например 122341_20101207201000.pdf и ищет по коду в справочники с лидирующими нулями, если кто то может предложить лучше предложение, то я буду только рад)

    cdpoma, 07 Декабря 2010

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

    −140

    1. 1
    2. 2
    3. 3
    Если (ШаблонПроводки.Наименование = "Распределять пропорционально расчетной базе") Тогда
    	МожноПроводить = 0;
    	Сообщить(НазваниеДока+"неверно указан шаблон проводки", "!");

    Это так профессионально, сравнивать строки...

    1_and_0, 24 Ноября 2010

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

    −137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Перем ВидНДС;
    
    .......................................................................................................................
    	
    	Если ВыбВидНДС = Перечисление.ВидыНДС.Реализация Тогда
    		ВидНДС = Перечисление.ВидыНДС.Реализация;
    	ИначеЕсли ВыбВидНДС = Перечисление.ВидыНДС.Авансы Тогда
    		ВидНДС = Перечисление.ВидыНДС.Авансы;
    	КонецЕсли;

    ВыбВидНДС - реквизит формы.

    antz, 19 Ноября 2010

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

    −121

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

    Процедура для присвоения Кода новому элементу справочника. Из одной серьезной официальной конфигурации.

    nickkk, 19 Ноября 2010

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

    −128

    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
    Родит=ДокР.Контрагент.Родитель; 
    Если ПустоеЗначение(Родит.Телефон)=1 Тогда
        Родит1=Родит.Родитель;
    	Если ПустоеЗначение(Родит1.Телефон)=1 Тогда
    	    Родит2=Родит1.Родитель;
    			Если ПустоеЗначение(Родит2.Телефон)=1 Тогда
    			     Родит3=Родит2.Родитель;
    				 ТЗДок.Тел=Родит3.Телефон;
    			Иначе
    		    	ТЗДок.Тел=Родит2.Телефон;
    			КонецЕсли;        
    	Иначе
    	     ТЗДок.Тел=Родит1.Телефон;
    	КонецЕсли;            
    Иначе
    	ТЗДок.Тел=Родит.Телефон;
    КонецЕсли;

    ingenuus, 24 Августа 2010

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

    −128

    1. 1
    2. 2
    3. 3
    4. 4
    ПолучитьСтроку();
    Пока КоличествоСтрок() <> 0 Цикл
    	УдалитьСтроку();
    КонецЦикла;

    Новый способ удаления всех строк из документа. Похоже, что разработчик не ведает о существовании метода УдалитьСтроки();

    SSNick, 05 Августа 2010

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

    −130

    1. 1
    2. 2
    3. 3
    Если Конт.Сумма <> КонтСумма Тогда
        Конт.Сумма = КонтСумма;
    КонецЕсли;

    Встретил в типовой конфигурации одной из небольших фирм-франчайзи. Много думал ...

    SSNick, 04 Августа 2010

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