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

    −105

    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
    Г = 0;
    Пока Г = 0 Цикл
    	ПОПЫТКА
    		Док.РазрешитьОтгрузку = Перечисление.Булево.Да;
    		Док.Записать();
    	ИСКЛЮЧЕНИЕ
    		Сообщить("" + Г + " : Документ " + Док.НомерДок + " заблокирован. Пробую еще раз ...");
    		Если Г > 20 Тогда
    			Сообщить("Неудачка...");
    			Прервать;
    		КонецЕсли;
    	КОНЕЦПОПЫТКИ;
    	Г = Г + 1;
    КонецЦикла;

    dsfix, 19 Июня 2015

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

    −106

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

    Когда в наследство достается процедура печати, написанная одним, дополненная другим и порученная тебе переписать.

    lyakusha, 03 Июня 2015

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

    −107

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

    Насколько я понял это была попытка помесячного обхода с начальной даты по конечную указанную.
    Как я понял вторая часть условия даже не отрабатывала и работало на половину. Но фантазия у автора конечно сказочная...
    Переписал данное Г* в 5 строк.

    З.Ы. человек этот сидел за 120р.мес...

    Goggy, 02 Июня 2015

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

    −106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ДокументРасчетовСКонтрагентом = СсылкаНаОбъект.ДокументОснование;
    
    Для ы = 1  По 100 Цикл
    	Если ТипЗнч(ДокументРасчетовСКонтрагентом) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
    		Прервать;
    	Иначе
    		ДокументРасчетовСКонтрагентом = ДокументРасчетовСКонтрагентом.ДокументОснование;
    	КонецЕсли;
    КонецЦикла;

    С вероятностью 100% доберемся до нужного документа

    grandatlant, 27 Мая 2015

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Филиал = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойФилиал");
    
    Если НЕ ЗначениеЗаполнено(Филиал) Тогда
    	Филиал = Филиал;
    КонецЕсли;

    Не заполнен - значит заполним!

    grandatlant, 27 Мая 2015

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

    −107

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

    Моё творение. =)

    Startwar, 20 Мая 2015

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

    −161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //AS 
    Если ЭтотОбъект.Проведен И ((глЗначениеПеременной("глТекущийПользователь").Наименование = "Гуля") или 
    (глЗначениеПеременной("глТекущийПользователь").Наименование = "Марина") или 
    (глЗначениеПеременной("глТекущийПользователь").Наименование = "Ирина")) Тогда 
    ЭтаФорма.ТолькоПросмотр = Истина ; 
    КонецЕсли ; 
    //AS\\

    Не мое, стырил на просторах интернета у пользователя Shipik1982, за что ему спасибо - повеселил)

    portwein, 18 Мая 2015

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

    −157

    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
    Функция ОпределитьБазовуюДату(стр,ТипДаты,Условие)
    	рез=NULL ;
    	Если ТипДаты=Перечисления._ВидБазовойДаты.ЗавершениеРаботы тогда
    		рез= Стр.ДатаОкончанияРаботы;
    	ИначеЕсли ТипДаты=Перечисления._ВидБазовойДаты.НачалоРабот тогда
    		рез= Стр.ДатаНачалаРаботы;
    	ИначеЕсли ТипДаты=Перечисления._ВидБазовойДаты.ФиксированнаяДата тогда
    		рез=Условие.ДатаАкта;
    	ИначеЕсли ТипДаты=Перечисления._ВидБазовойДаты.НачалоРабот тогда
    		
    	ИначеЕсли ТипДаты=Перечисления._ВидБазовойДаты.НачалоРабот тогда
    		
    	ИначеЕсли ТипДаты=Перечисления._ВидБазовойДаты.НачалоРабот тогда
    		рез= Стр.ДатаЗавершенияРаботы;
    	КонецЕсли;
    	Попытка 
    		рез =Дата(рез);
    	исключение
    		рез=ТекущаяДата();
    		Сообщить("неопределена дата "+ТипДаты+" для локальной сметы  " + стр.ЛокальнаяСмета + ", ключ строки " + Стр.Ключ);
    	КонецПопытки;	
    	возврат рез;
    КонецФункции
    
    -------------------------------------------------------------------------------------------------------------------------
    
    
    Вот отдельные выжимки:
    /////////////////////
    Если  ст.Options="Percent" тогда //Нужно выяснить что за  Percent ибо не помню =( Лучше потом подумаю
    			Сообщить("Данная смета возможно не корректно рассчитывает концевики! Обратитесь к Администратору!");
    КонецЕсли;
    //////////////////////
    
    //ЧЧЧ Серега 09,12,12 слав, а почему ты это удалил? (без этих строк сумма сметы не была везде правильной)
    	Строки=Дерево.Строки.НайтиСтроки(новый Структура("ВидГруппы",Перечисления.ВидыГруппЛокальныхСмет.ДанныеСметы),истина);
    	
    //ЧЧЧ

    С помощью таких вот функций производится расчет бюджета проекта по капитальному строительству в очень крупной российской компании. Главное что функциональный заказчик этого добра, с глубокой уверенностью считает что у него замечательная конфигурация. Код специаьн

    Gostmair, 07 Мая 2015

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

    −160

    1. 1
    http://clip2net.com/s/3gT4udu

    Не совсем код.
    Скорее невероятные способности к проектированию структуры табличной части документа.

    kinazarov, 28 Апреля 2015

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

    −156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Функция ПолучитьКоличествоДокументов(ИмяДокумента) Экспорт
    	
    	Запрос = Новый Запрос("Выбрать Документ." + СокрЛП(ИмяДокумента) + ".Ссылка");
    	
    	Выборка = Запрос.Выполнить().Выбрать();
    	
    	Возврат Выборка.Количество();
        	
    КонецФункции

    stungnthumz, 22 Апреля 2015

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