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

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

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

    sandvich, 09 Марта 2020

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

    +3

    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)
  3. 1C / Говнокод #26424

    −3

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

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

    bagrinho, 08 Февраля 2020

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

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

    pahalovo, 05 Ноября 2019

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

    +1

    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)
  6. 1C / Говнокод #26002

    0

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

    классика

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

    Комментарии (33)
  7. 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)
  8. 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)
  9. 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)
  10. 1C / Говнокод #25865

    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
    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
    55. 55
    56. 56
    <КоммерческаяИнформация ВерсияСхемы="2.03" ДатаФормирования="2016-08-11">
    	<ПакетПредложений>
    		<Ид>0f6acf08-0501-11e5-a1ed-000ea6f880f2#</Ид>
    		<Наименование>Пакет предложений</Наименование>
    		<ИдКаталога>0f6acf08-0501-11e5-a1ed-000ea6f880f2</ИдКаталога>
    		<ИдКлассификатора>0f6acf08-0501-11e5-a1ed-000ea6f880f2</ИдКлассификатора>
    		<ТипыЦен>
    			<ТипЦены>
    				<Ид>0f6acf0e-0501-11e5-a1ed-000ea6f880f2</Ид>
    				<Наименование>Rozn</Наименование>
    				<Валюта>UAH</Валюта>
    				<Налог>
    					<Наименование>НДС</Наименование>
    					<УчтеноВСумме>false</УчтеноВСумме>
    				</Налог>
    			</ТипЦены>
    			<ТипЦены>
    				<Ид>0f6acf0d-0501-11e5-a1ed-000ea6f880f2</Ид>
    				<Наименование>Zakup</Наименование>
    				<Валюта>UAH</Валюта>
    				<Налог>
    					<Наименование>НДС</Наименование>
    					<УчтеноВСумме>false</УчтеноВСумме>
    				</Налог>
    			</ТипЦены>
    		</ТипыЦен>
    		<Предложения>
    			<Предложение>
    				<Ид>1eb6ad86-a729-11e2-be44-000a5e5fa127</Ид>
    				<Артикул>0084</Артикул>
    				<Артикулл>00000002839</Артикулл>
    				<Наименование>COLORPLAST   Автобус "Бусик №1"</Наименование>
    				<БазоваяЕдиница Код="2009" НаименованиеПолное="Штука" МеждународноеСокращение="">шт</БазоваяЕдиница>
    				<Цены>
    					<Цена>
    						<Представление>61,88 UAH за шт</Представление>
    						<ИдТипаЦены>0f6acf0e-0501-11e5-a1ed-000ea6f880f2</ИдТипаЦены>
    						<ЦенаЗаЕдиницу>61.88</ЦенаЗаЕдиницу>
    						<Валюта>UAH</Валюта>
    						<Единица>шт</Единица>
    						<Коэффициент>1</Коэффициент>
    					</Цена>
    					<Цена>
    						<Представление>44,2 UAH за шт</Представление>
    						<ИдТипаЦены>0f6acf0d-0501-11e5-a1ed-000ea6f880f2</ИдТипаЦены>
    						<ЦенаЗаЕдиницу>44.2</ЦенаЗаЕдиницу>
    						<Валюта>UAH</Валюта>
    						<Единица>шт</Единица>
    						<Коэффициент>1</Коэффициент>
    					</Цена>
    				</Цены>
    				<Количество>24</Количество>
    			</Предложение>		
    		<СодержитТолькоИзменения>false</СодержитТолькоИзменения>
    	</ПакетПредложений>
    </КоммерческаяИнформация>

    snegoviktlt, 23 Сентября 2019

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