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

    −98

    1. 1
    ЭтоДокумент = Метаданные.Документы.Содержит(ЭтотОбъект.Метаданные())

    Примечательно, что вызывается из модуля формы документа, больше нигде процедура с ЭТИМ не используется.
    В документе проверяем, что это документ :/

    Moonlight, 03 Июня 2016

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

    −100

    1. 1
    Если  (ПользователиИнформационнойБазы.ТекущийПользователь().Роли.Содержит(Метаданные.Роли.Префикс_Кадровик)) тогда

    Франчайзи видимо не всегда знают о РольДоступна()

    znsoft, 02 Июня 2016

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

    −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
    Код выполняется в форме документа заказ покупателя
    если Не проведен тогда
    	сообщить ("Сопоставлять нужно только после Заполнить и провести");
    	возврат;
    КонецЕсли;
    Заказссылка = этотОбъект.Ссылка;	
    ТчЗаказаПокупателя = этотОбъект.Товары;
    для каждого РедактируемаяСтрока из ТчЗаказаПокупателя цикл
    	стр =""+РедактируемаяСтрока.Размещение;						
    	если  значениеЗаполнено(стр) и Тип("ДокументСсылка.ЗаказПокупателя") =ТипЗнч(ЗаказСсылка) и Тип("ДокументСсылка.ЗаказПоставщику")=ТипЗнч(РедактируемаяСтрока.Размещение)		
    	тогда		
    		Док_ЗаказПоставщику =РедактируемаяСтрока.Размещение.получитьОбъект();	
    		тч = Док_ЗаказПоставщику.товары;

    tixis1c, 30 Мая 2016

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

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

    БП 3.0.43.174 (но не только), типовое заполнение формы номенклатурной группы номенклатурой.

    OdinAss, 26 Мая 2016

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

    −100

    1. 1
    ТекТаблицаСвойств = СсылкаНаОбьект.Свойства.Выгрузить().Скопировать(СсылкаНаОбьект.Свойства.НайтиСтроки(ТекОтбор));

    Выгружаем строки из табличной части, используя отбор.

    CMblCL, 18 Мая 2016

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

    −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
    24. 24
    25. 25
    ВыборкаИсточник = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    		Пока ВыборкаИсточник.Следующий() Цикл
    			
    			ВыборкаВнутреннийЗаказ = ВыборкаИсточник.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    			Пока ВыборкаВнутреннийЗаказ.Следующий() Цикл
    				
    				ВыборкаВнешнийЗаказ = ВыборкаВнутреннийЗаказ.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    				Пока ВыборкаВнешнийЗаказ.Следующий() Цикл
    					
    					ВыборкаПоступление = ВыборкаВнешнийЗаказ.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    					Пока ВыборкаПоступление.Следующий() Цикл
    						
    						ВыборкаКЕ = ВыборкаПоступление.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    						Пока ВыборкаКЕ.Следующий() Цикл
    							
    							ВыборкаНоменклатура = ВыборкаКЕ.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    							Пока ВыборкаНоменклатура.Следующий() Цикл
    								
    								ВыборкаХарактеристика = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    								Пока ВыборкаХарактеристика.Следующий() Цикл
    									
    									ВыборкаСерийныйНомер = ВыборкаХарактеристика.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    									Пока ВыборкаСерийныйНомер.Следующий() Цикл
    										
    										ПроверитьНехватку(ВыборкаСерийныйНомер, Отказ, "складе числится");

    Конфа Итилиум, редакция 4.4 (4.4.2.3). Проведение документа.... таких циклов два.....

    UtiliUm, 13 Мая 2016

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

    −96

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Процедура Таймаут(ЧислоСекунд)
    	НачВремя = ТекущаяДата();
    	Пока 1 = 1 Цикл
    		Если ТекущаяДата() - НачВремя > ЧислоСекунд Тогда
    			Прервать;
    		КонецЕсли;
    	КонецЦикла; 
    КонецПроцедуры

    Вот это я понимаю!!! Таймаут...
    Это из той же конфигурации, что и прошлые мои кладки.
    По прежнему коплю на патроны.
    Открыт для любых конструктивных идей.

    ivan_0110, 05 Мая 2016

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

    −104

    1. 1
    На форме 31 колонка, и динозавр который это делал для каждой прописал одинаковое условное оформление. В конечном итоге я поместил все в цикл, чтобы не резало глаза, остается только предполагать, что я увидел бы если  колонок на форме было 1000.

    Процедура ДниПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

    Если ЗначениеЗаполнено(ДанныеСтроки.Д1) Тогда
    Если ДанныеСтроки.Д1.СостояниеСобытия = Перечисления.СостоянияСобытий.Завершено Тогда
    ОформлениеСтроки.Ячейки.Д1.ЦветФона = WebЦвета.СветлоЗеленый;
    ИначеЕсли ДанныеСтроки.Д1.СостояниеСобытия = Перечисления.СостоянияСобытий.CRM_НеОбра ботано Тогда
    ОформлениеСтроки.Ячейки.Д1.ЦветФона = WebЦвета.СветлоРозовый;
    ИначеЕсли ДанныеСтроки.Д1.СостояниеСобытия = Перечисления.СостоянияСобытий.Запланиров ано Тогда
    ОформлениеСтроки.Ячейки.Д1.ЦветФона = WebЦвета.Желтый;
    КонецЕсли;
    ОформлениеСтроки.Ячейки.Д1.Текст = ДанныеСтроки.Д1.ОписаниеСобытия;
    Если ДанныеСтроки.Д1.ВидСобытия = Перечисления.ВидыСобытий.ЛичнаяВстреча Тогда
    ОформлениеСтроки.Ячейки.Д1.Шрифт = Новый Шрифт(ОформлениеСтроки.Ячейки.Д1.Шрифт,, ,Истина);
    КонецЕсли;
    КонецЕсли;

    ...

    // И так далее 31 раз

    ...


    Если ЗначениеЗаполнено(ДанныеСтроки.Д31) Тогда
    Если ДанныеСтроки.Д31.СостояниеСобытия = Перечисления.СостоянияСобытий.Завершено Тогда
    ОформлениеСтроки.Ячейки.Д31.ЦветФона = WebЦвета.СветлоЗеленый;
    ИначеЕсли ДанныеСтроки.Д31.СостояниеСобытия = Перечисления.СостоянияСобытий.CRM_НеОбра ботано Тогда
    ОформлениеСтроки.Ячейки.Д31.ЦветФона = WebЦвета.СветлоРозовый;
    ИначеЕсли ДанныеСтроки.Д31.СостояниеСобытия = Перечисления.СостоянияСобытий.Запланиров ано Тогда
    ОформлениеСтроки.Ячейки.Д31.ЦветФона = WebЦвета.Желтый;
    КонецЕсли;
    ОформлениеСтроки.Ячейки.Д31.Текст = ДанныеСтроки.Д31.ОписаниеСобытия;
    Если ДанныеСтроки.Д31.ВидСобытия = Перечисления.ВидыСобытий.ЛичнаяВстреча Тогда
    ОформлениеСтроки.Ячейки.Д31.Шрифт = Новый Шрифт(ОформлениеСтроки.Ячейки.Д31.Шрифт, ,,Истина);
    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры

    1sik, 13 Апреля 2016

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

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    ОбластьШапкаУслуги.Параметры.ДатаДок  = Формат(Строка(Формат(НайтиДатуОт(Свойства),"ДФ=dd.MM.yyyy")), "ДФ=dd.MM.yyyy");
    
    
    .. + Строка(Формат(Дата(Договор.Основной.Найти(Идентификатор,"Идентификатор").Дата),"ДЛФ=Д"));

    Этот писатель не только умеет преобразовывать типы, но и использовать заветную комбинацию для быстрого написания кода (Ctrl+C -> Ctrl+V), потому что подобных творений было найдено более тысячи при глобальном поиске по конфигурации.

    CMblCL, 18 Марта 2016

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

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Для Каждого Ст Из ВремяФактическое Цикл
    	ВремяПрибытияНаЗагрузкуДляРасчета = ?(МаршрутыТаблица[Ст.НомерСтроки-1].ДатаПогрузкиПлан >= Ст.ВремяПрибытияНаЗагрузку,МаршрутыТаблица[Ст.НомерСтроки-1].ДатаПогрузкиПлан,Ст.ВремяПрибытияНаЗагрузку);
    	ВремяПрибытияНаВыгрузкуДляРасчета = ?(?(ЗначениеЗаполнено(МаршрутыТаблица[Ст.НомерСтроки-1].ДатаРазгрузкиПлан),МаршрутыТаблица[Ст.НомерСтроки-1].ДатаРазгрузкиПлан,Ст.ВремяПрибытияНаВыгрузку) >= Ст.ВремяПрибытияНаВыгрузку,?(ЗначениеЗаполнено(МаршрутыТаблица[Ст.НомерСтроки-1].ДатаРазгрузкиПлан),МаршрутыТаблица[Ст.НомерСтроки-1].ДатаРазгрузкиПлан,Ст.ВремяПрибытияНаВыгрузку),Ст.ВремяПрибытияНаВыгрузку);
    	ВремяНаПогрузке = -1*(ВремяПрибытияНаЗагрузкуДляРасчета - Ст.ВремяУбытияСЗагрузки)/60;//В минутах
    	ВремяНаВыгрузке = -1*(ВремяПрибытияНаВыгрузкуДляРасчета - Ст.ВремяУбытияСВыгрузки)/60;//В минутах
    	ОбщееВремя.Добавить(ВремяНаПогрузке+ВремяНаВыгрузке);
    КонецЦикла;

    Когда любишь тернарные операторы больше чем маму и президента.

    HomoAlbus, 13 Марта 2016

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