1. Список говнокодов пользователя NioGoth

    Всего: 8

  2. 1C / Говнокод #28996

    0

    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
    //Таб пропущенные
    	УсловиеОтбора = "ABANDON";
    	ДлинаСтрОтбора = 32;
    	Для с=1 По ДлинаСтрОтбора - СтрДлина(УсловиеОтбора) Цикл
    		УсловиеОтбора = УсловиеОтбора + " ";
    	КонецЦикла;		
    	ТабПропущенные = Таб_queue.Скопировать(Новый Структура("Событие",УсловиеОтбора));
    	
    	//Таб всё же дозвонились
    	УсловиеОтбора = "CONNECT";
    	ДлинаСтрОтбора = 32;
    	Для с=1 По ДлинаСтрОтбора - СтрДлина(УсловиеОтбора) Цикл
    		УсловиеОтбора = УсловиеОтбора + " ";
    	КонецЦикла;	
    	ТабДозвонились = Таб_queue.Скопировать(Новый Структура("Событие",УсловиеОтбора));

    В таблице какого то черта стояла фиксированная строка длинной 32 символа.
    Вот так "изящно" обошли это.

    NioGoth, 08 Октября 2024

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

    0

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

    У ребят не заладилось с этой процедурой. Смысла в этих действиях 0. Объект справочник.

    NioGoth, 01 Октября 2020

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    	СтандартнаяОбработка=Ложь;
    	Представление="";
    	Для Каждого Стр Из Данные.Ссылка.Состав Цикл
    		Представление=Представление+?(Представление="","",", ")+Стр.Автомобиль;
    		Если СтрДлина(Представление)>50 Тогда 
    			Представление=Представление+"...";
    			Прервать
    		КонецЕсли;
    	КонецЦикла;
    	//Представление=""+Данные.Ссылка.Клиент+" ("+Представление+")";
    КонецПроцедуры

    А чё это списки у нас вдруг тормозить стали?

    NioGoth, 01 Октября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    Отбор = Новый Структура();
    Отбор.Вставить("РабочийДокумент", Работы[0].РабочийДокумент.Ссылка);
    			
    ВсеСтатусыЗаявки = РегистрыСведений.Renault_АвтосервисСтатусыРабот.СрезПоследних().НайтиСтроки(Отбор);

    РегистрыСведений.Renault_АвтосервисСтату сыРабот.СрезПоследних() возвращает окол 200 000 записей и работает около 5 секунд.

    NioGoth, 03 Сентября 2020

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

    +1

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

    Зачем столько раз читать регистр не понятно. Для чего вообще нужна типизированная таблица если используется прочитать? Одни вопросы.

    NioGoth, 27 Сентября 2019

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    	ВЫРАЗИТЬ(Работы.Ссылка КАК Документ.ЗаказНаряд) КАК СсылкаЗН,
    	ДЦ.Ссылка КАК ДилерскийЦентр
    ИЗ
    	Документ.ЗаказНаряд.Работы КАК Работы
    		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.CRM_ДилерскиеЦентры КАК ДЦ
    		ПО (ЛОЖЬ)
    ГДЕ
    	Работы.Ссылка.ДатаЗакрытия >= &ДатаНачала
    	И Работы.Ссылка.ДатаЗакрытия < &ДатаОкончания
    	И ДЦ.Ссылка.ПометкаУдаления = ЛОЖЬ
    ;

    Язык запросов 1С. При таком соединение запрос запрос всегда будет пустым.

    NioGoth, 29 Августа 2019

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

    0

    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
    УпрощенныйРежим = ДилерскийЦентр.Автосервис_ИспользуетсяУпрощенныйИнтерфейс;
    
    Если УпрощенныйРежим ТОгда
    		
    		Если ЗначениеЗаполнено(Клиент) Тогда
    			
    			Если ТипЗнч(Клиент) = Тип("СправочникСсылка.Контрагенты") Тогда
    				
    				ТекущийКлиент = Клиент;
    				
    			Иначе
    				
    				ЭлементыФормы.НадписьПредставьтесь.Заголовок = "Клиент представился как: " + Строка(Клиент) + ". Необходимо выбрать клиента";
    				
    			КонецЕсли;
    			
    		КонецЕсли;
    		
    		Если ЗначениеЗаполнено(ТекущийКлиент) Тогда
    		
    			ЗаполнитьДеревоОбращенийКдиента(ТекущийКлиент);
    			
    			ЭлементыФормы.ТекущийКонтрагент.ЦветФонаПоля = Новый Цвет (255, 255, 255);
    			ЭлементыФормы.ТекущийКонтрагент.КнопкаОткрытия = Истина;
    			
    			ОбновитьТелефонИEmail(ТекущийКлиент);
    			
    			Если НЕ ЗначениеЗаполнено(ТекущийАвтомобиль) Тогда
    				
    				ЗаполнитьВыборАвто();
    				
    			КонецЕсли;
    			
    		КонецЕсли;
    		
    	КонецЕсли;

    У формы существует реквизит ТекущийКлиент.
    При открытии выполняться вот этот вот шедевр.
    При сохрани обратно Клиент = ТекущийКлиент;.
    И еще если не Упрощенный режим интерфейса то даже у старых документов контрагент будет не выбран.

    NioGoth, 21 Декабря 2017

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

    +2

    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
    Если ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнПосещение" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.ПосещениеАвтосалона;
    		ЭтаФорма.Заголовок = НСтр("ru = 'Регистрация нового трафика. Посещение'");
    	ИначеЕсли ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнЗвонок" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.Звонок;
    		ЭтаФорма.Заголовок = НСтр("ru = 'Регистрация нового трафика. Звонок'");
    	ИначеЕсли ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнEmail" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.EmailДилера;
    		ЭтаФорма.Заголовок = НСтр("ru = 'Регистрация нового трафика. Email'");
    		ЭлементыФормы.полеТелефон.Картинка = БиблиотекаКартинок.Renault_Mail_New_20;
    		ЭлементыФормы.полеТелефон.Маска =  "";
    		
    	ИначеЕсли ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнЛидRenault" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.ЛидДилера;
    	КонецЕсли;

    Фирменная CRM система от Renault. Определения типа трафика по имени активного элемента владельца формы.

    NioGoth, 15 Ноября 2017

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