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

    −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
    теСтрокаТЗ_двухТЧ=ТЗ_двухТЧ_РТиУ.Найти(СокрЛП(ЗначениеВСтрокуВнутр(теСтрокаТЧ.Номенклатура))+"++"+Строка(ё)+"++"+Строка(теСтрокаТЧ.НомерСтроки),"Ид");
    		 теСтрокаТЗ_НДС_БезТекРТиУ=ТЗ_НДС_БезТекРТиУ.Найти(теСтрокаТЧ.Номенклатура);
    	 	 ТЗостНмЗаказаБезТекРТиУ=ПолучитьТЗ_НоменклатурыЗаказа(текущСделка, РТиУобъ.Ссылка, ТекДата, ТекДата, ДокиЗаказаПлан, теСтрокаТЧ.Номенклатура);
    	Если ТЗостНмЗаказаБезТекРТиУ.Количество()>0 И ТЗостНмЗаказаБезТекРТиУ.Итог("СуммаКолвоПоНм")=ТЗотбора1.Итог("КолвоВ_ЕдХр") Тогда	
                 РазностьСум=ТЗостНмЗаказаБезТекРТиУ.Итог("СуммаСуммВзаиморасчПоНм")-(ТЗотбора1.Итог("Сумма")+?(текущСуммаВключаетНДС,0,ТЗотбора1.Итог("СуммаНДС")));
    		Если РазностьСум<>0 И ПолучитьМодульЧисла(РазностьСум)<=Константы.опмМаксимальноеКорректируемоеВторымСпособомОтклонениеСуммОтгрузкиОтЗаказа.Получить() Тогда 
    	    теСтрокаТЧ.Сумма=теСтрокаТЧ.Сумма+РазностьСум*ЗнакТипаДок;    теСтрокаТЗ_двухТЧ.Сумма=теСтрокаТЗ_двухТЧ.Сумма+РазностьСум;
    	    КонецЕсли;
    		Если ВсеОтгрузкиВВалютеЗаказа И НЕ теСтрокаТЗ_НДС_БезТекРТиУ=Неопределено Тогда
    			     РазностьСумНДС=теСтрокаТЗ_НДС_БезТекРТиУ.СуммаНДС-ТЗотбора1.Итог("СуммаНДС");
    		    Если РазностьСумНДС<>0 И ПолучитьМодульЧисла(РазностьСумНДС)<=Константы.опмМаксимальноеКорректируемоеВторымСпособомОтклонениеСуммОтгрузкиОтЗаказа.Получить() Тогда 
    	    теСтрокаТЧ.СуммаНДС=теСтрокаТЧ.СуммаНДС+РазностьСумНДС*ЗнакТипаДок;    теСтрокаТЗ_двухТЧ.СуммаНДС=теСтрокаТЗ_двухТЧ.СуммаНДС+РазностьСумНДС;
    	            Если НЕ текущСуммаВключаетНДС Тогда
    	    теСтрокаТЧ.Сумма=теСтрокаТЧ.Сумма      -РазностьСумНДС*ЗнакТипаДок;    теСтрокаТЗ_двухТЧ.Сумма=теСтрокаТЗ_двухТЧ.Сумма      -РазностьСумНДС;
                    КонецЕсли;
    	        КонецЕсли;
    	    КонецЕсли;
    		Если ЗаказПокВыполненПолностью Тогда СтрокаТЗпоНм=ТЗ_НепоставленнойНмЗаказа.Найти(теСтрокаТЧ.Номенклатура);
    			Если                          НЕ СтрокаТЗпоНм=Неопределено Тогда
    		   ТЗ_НепоставленнойНмЗаказа.Удалить(СтрокаТЗпоНм);
    	        КонецЕсли;
    	    КонецЕсли;
        Иначе ЗаказПокВыполненПолностью=Ложь;
        КонецЕсли;

    HomoAlbus, 10 Октября 2014

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

    −122

    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
    Процедура Сформировать()
    	СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
    	СпрКонтр.ВыбратьЭлементы();
    	Пока СпрКонтр.ПолучитьЭлемент()=1 Цикл
    		Сообщить(СпрКонтр.Наименование);
    		Спр = СоздатьОбъект("Справочник.ТорговыеТочки");
    		Спр.ИспользоватьВладельца(СпрКонтр.ТекущийЭлемент());
    		Спр.ВыбратьЭлементы();
    		
    		Пока Спр.ПолучитьЭлемент()=1 Цикл
    			Сообщить(Спр.Наименование);
    			Х = СокрЛп(Спр.Код);
    			У = "";
    			Если Х="80002963" Тогда У = "68000550";
    			ИначеЕсли Х="80002964" Тогда У = "68000549";
    			ИначеЕсли Х="80004172" Тогда У = "68000551";
    ....................................
    			ИначеЕсли Х="80004503" Тогда У = "68000811";
    			ИначеЕсли Х="80003952" Тогда У = "68001300";
    	                КонецЕсли;
    			Если У <> "" Тогда
    				Спр.CASID = У;
    				Спр.Записать();
    			КонецЕсли;
    		КонецЦикла;
    	КонецЦикла;
    	Сообщить("Обработка завершена!");
    КонецПроцедуры

    Прислали обработку проставления определенного значения реквизита... Чуть со стула не упали... Всего 619 условий...

    jerokee, 30 Сентября 2014

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

    −125

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

    Переменная "Загрузка" может принимать только 2 значения.

    Mortum, 24 Сентября 2014

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

    −126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
            НовыйДокумент = Документы.ДокументПредЗаявка.СоздатьДокумент();
             НовыйДокумент.Дата = ТекущаяДата();
             НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
             СПД = НовыйДокумент.Ссылка;
             
             //Открываем документ
             ОткрытьЗначение(СПД);
          
    КонецПроцедуры

    Я не вкурил, но полагаю, что ЭТО новый способ создания документа на основании...

    Danik, 15 Сентября 2014

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

    −126

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

    Бывший программист из нашей конторы отбирает строки таблицы с номенклатурой, по которой отсутствуют записи в регистре сведений, используя при этом другие "удивительные приемы программирования"... Ушел на повышение в саму 1С)))

    GORYNY4, 12 Сентября 2014

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

    −168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Процедура ПриЗаписи(Отказ)
     
    Док = Ссылка.ПолучитьОбъект(); 
    Док.ОбменДанными.Загрузка = Истина; 
    Док.Записать();
     
    КонецПроцедуры

    И это все в форме документа

    alexinzaz, 11 Сентября 2014

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

    −165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Попытка
    	ДокО.Записать();
    Исключение
     	Попытка
    		ДокО.Записать();
    	Исключение
    	КонецПопытки;	
    КонецПопытки;

    а вдруг!

    alexinzaz, 10 Сентября 2014

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

    −169

    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
    //  Параметры - реквизит объекта. Больше (!) нигде не используется.
    
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    	Если ЭтоНовый() Тогда
    		Параметры = "000001000";
    	КонецЕсли;
    	
    	ФлагОписания = ?(Сред(Параметры,7,1) = "1", Истина, Ложь);
    	ФлагМестоX     = ?(Сред(Параметры,8,1) = "1", Истина, Ложь);
    	ФлагМестоY      = ?(Сред(Параметры,9,1) = "1", Истина, Ложь);		
    КонецПроцедуры
    
    Процедура СменаФлага()    
    	Параметры = Лев(Параметры,6)+Строка(Число(ФлагОписания))+Строка(Число(ФлагМестоX))+Строка(Число(ФлагМестоY));
    КонецПроцедуры
    
    
    Процедура ФлагОписанияПриИзменении(Элемент)	
    	СменаФлага();	
    КонецПроцедуры
    
    Процедура ФлагМестоXПриИзменении(Элемент)	
    	СменаФлага();	
    КонецПроцедуры
    
    Процедура ФлагМестоYПриИзменении(Элемент)	
    	СменаФлага();	
    КонецПроцедуры

    Хотел быть шифровальщиком, но кривая дорожка жизни…

    safer_bwd, 04 Сентября 2014

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

    −172

    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
    Процедура ПриЗаписи(Отказ)
    	// Проверяем роль
    	
    	Если рольДоступна ("ДляКасираПроведениеВТечениеОдногоДня")   Тогда		 
    		  мТекущаяДатаДокумента = Формат(мТекущаяДатаДокумента, "ДЛФ=D");
    		Если  мТекущаяДатаДокумента = Формат(ТекущаяДата(), "ДЛФ=D") ТОгда
    			Записать ();
    		Иначе
    			Отказ = истина;
    			Предупреждение ("Нарушение прав доступа");
    			ЭтаФорма.Закрыть();
    		КонецЕсли;        
    	КонецЕсли;
    КонецПроцедуры

    И это все в модуле формы.

    alexinzaz, 04 Сентября 2014

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

    −162

    1. 1
    НоваяСтрока.ТелефонныйНомер = Прав(НоваяСтрока.ТелефонныйНомер, стрДлина(НоваяСтрока.ТелефонныйНомер));

    Выдрано из Рарус СофтФон. Ума не приложу, что они хотели этим сказать...

    Ivon, 03 Сентября 2014

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