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

    −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
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    Функция РазрешеноСозданиеИлиЗаписьНаЗанятие(
    	ТипЗанятия, 
    	Период, 
    	СтруктурунаяЕдиница, 
    	ОснованиеОплаты, 
    	Номенклатура, 
    	ВремяНачала, 
    	ВремяОкончания, 
    	Сотрудник, 
    	Помещение, 
    	Занятие, 
    	Статус, 
    	ИсклРег,
    	КонтрольРабВремениСотрудника,
    	КонтрольЗанятостиПомещения,
    	ОписаниеОграничения, 
    	КодОграничения) 
    	
    	Возврат Документы.Занятие.РазрешеноСозданиеИлиЗаписьНаЗанятие(
    	ТипЗанятия, 
    	Период,
    	СтруктурунаяЕдиница, 
    	ОснованиеОплаты, 
    	Номенклатура,
    	ВремяНачала, 
    	ВремяОкончания, 
    	Сотрудник,
    	Помещение, 
    	Занятие,
    	Статус, 
    	ИсклРег,
    	КонтрольРабВремениСотрудника,
    	КонтрольЗанятостиПомещения,
    	ОписаниеОграничения, 
    	КодОграничения);
    	
    КонецФункции

    Оформление по красоте, как и количество параметров.

    QuickMix, 11 Марта 2020

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

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

    Когда джуны на проекте по ЕРП

    sandvich, 09 Марта 2020

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

    +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
    16. 16
    ОбластьТело.Параметры.Нерабочий = ?(
    	(Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 И (День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 7 
    		ИЛИ День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8))
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 2 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 23
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 3 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 8
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 1
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 5 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 9
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 6 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 12
    	ИЛИ Месяц(СсылкаНаОбъект.ДатаНачалаСобытия) = 11 И День(СсылкаНаОбъект.ДатаНачалаСобытия) = 4
    	,"праздничный", "выходной");

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

    Stipa, 06 Марта 2020

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

    −2

    1. 1
    Приведите реальный пример программы на 1С

    Вот прямо типичный пример задачи, где я должен взять именно 1С.

    bagrinho, 08 Февраля 2020

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

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

    pahalovo, 05 Ноября 2019

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция УбратьПробел(стрЧисло)
    	//убирает пустой пробел
    	нСтр = "";
    	Для п=1 По СтрДлина(стрЧисло) Цикл
    		р = Сред(стрЧисло,п,1);
    		Если р = "1" ИЛИ р = "2" ИЛИ р = "3" ИЛИ р = "4" ИЛИ р = "5" ИЛИ р = "6" ИЛИ р = "7" ИЛИ р = "8" ИЛИ р = "9" ИЛИ р = "0" ИЛИ р = "," Тогда
    			нСтр = нСтр+р;
    		КонецЕсли;
    	КонецЦикла;
    	Возврат нСтр;
    КонецФункции

    Senior

    sandvich, 30 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Выборка = Запрос.Выполнить.Выбрать();
    Пока Выборка.Следующий() цикл
      Петух = Выборка.Хуй;
      Прервать;
    конеццикла;

    классика

    3oJIoTou_xyu, 29 Октября 2019

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

    −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
    ВЫБОР КОГДА ПОДСТРОКА(Поле, 1, 1) <> ""-"" ТОГДА
      ПОДСТРОКА(Поле, 1, 1)
    ИНАЧЕ """"
    КОНЕЦ
    +
    ВЫБОР КОГДА ПОДСТРОКА(Поле, 2, 1) <> ""-"" ТОГДА
      ПОДСТРОКА(Поле, 2, 1)
    ИНАЧЕ """"
    КОНЕЦ
    +
    ...
    +
    ВЫБОР КОГДА ПОДСТРОКА(Поле, 100, 1) <> ""-"" ТОГДА
      ПОДСТРОКА(Поле, 100, 1)
    ИНАЧЕ """"
    КОНЕЦ

    Реализация СтрЗаменить() в запросе

    DioSoset, 22 Октября 2019

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

    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
    Если ПараметрыСеанса.ГС_ГлобальныеПараметры.МинусОдинДеньПриПерезалоге 
    И ДокументОснование.Метаданные().Имя <> "Соби_ЧастичноеПогашениеКредита" И ДокументОснование.Метаданные().Имя <> "ГС_ПерезалогКредита" Тогда
    		  
        ПроцентПоКредитуВДень	= (ПроцентПоКредитуВДень) / КоличествоДнейКредитования * (КоличествоДнейКредитования-1);
    			СуммаПоКредиту			= Окр((СуммаКредита*(ПроцентПоКредитуВДень)/100),2,1) * (КоличествоДнейКредитования);
    		
    		
    			Если ПроцентПоКредитуВДень < УсловиеКредитования.МинимальныйПроцентПоКредиту/(КоличествоДнейКредитования-1) Тогда
    				ПроцентПоКредитуВДень	= УсловиеКредитования.МинимальныйПроцентПоКредиту/(КоличествоДнейКредитования-1);
    				СуммаПоКредиту			= Окр((СуммаКредита*(ПроцентПоКредитуВДень)/100),2,1) * (КоличествоДнейКредитования-1);
    			КонецЕсли;	
    			
    			Если СуммаПоКредиту < УсловиеКредитования.МинимальнаяСуммаПроцентовПоКредиту Тогда //отыграем мин сумму % по кредиту из усл кред
    				СуммаПоКредиту = УсловиеКредитования.МинимальнаяСуммаПроцентовПоКредиту;
    			КонецЕсли; 
    
    КонецЕсли;

    Обратите внимание на условие ЕСЛИ. Такого говнища, я еще не видел!

    kalyuzhny, 05 Октября 2019

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

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

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

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

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