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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    ВЫРАЗИТЬ(ВЫРАЗИТЬ(РасчетыСКлиентамиОстатки.ЗаказКлиента КАК Документ.РеализацияТоваровУслуг).ЗаказКлиента КАК Документ.ЗаказКлиента) КАК ЗаказКлиента
    
    Типично
    Конфигурация 1С ERP Украина.

    ChoaNyan, 11 Сентября 2019

    Комментарии (6)
  5. 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)
  6. 1C / Говнокод #25777

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Попытка
    		Выборка = Запрос.Выполнить().Выбрать();
    	Исключение
    		Пока Выборка.Следующий() Цикл
    			Рез.Менеджер = Выборка.СуммаМенеджера;
    			Рез.Дивизион =  Выборка.СуммаСтаршегоДивизиона;
    		КонецЦикла;
    	КонецПопытки;

    timm00, 27 Августа 2019

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

    0

    1. 1
    https://phpclub.ru/talk/threads/перевод-алгаритма-с-1с-в-пхп.52808/

    Perevedi_na_PHP, 30 Июля 2019

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

    +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
    Если ВидОперации = Перечисления.МОЛ_ВидыОперацийПоступленияСырья.Перемещение  Тогда
    		ДоговорКонтрагента = "";
    		ТипЦен = "";
    		Если Сырье.Количество()>0 Тогда
    			Для каждого СтрокаСырье Из Сырье Цикл
    				СтрокаСырье.Цена = 0;
    				СтрокаСырье.Сумма = 0;
    				СтрокаСырье.СуммаНДС = 0;
    			КонецЦикла;	
    		КонецЕсли;	
    			
    	КонецЕсли;

    Добавлена проверка, чтобы цикл вдруг не выполнился при пустой таб части!
    Кстати выполняется при открытии формы и постоянно вызывает модифицированность

    Молокозавод 1.3.121

    doom2good, 06 Июня 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ПроизведенаРабота = Истина;
    	
    Если ЗапрашиватьТрудозатраты И Не ВыполняетсяПеренаправление Тогда
    	ПроизведенаРабота = Истина;
    КонецЕсли;

    Типично

    sandvich, 04 Июня 2019

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

    +4

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    &НаКлиенте
    Процедура Расчитать(Команда)
    	ТекДата = ТекущаяДата();
    	ТекМесяц = Месяц(ТекДата);
    	МесяцРождения = Месяц(ДатаРождения);
    
    	
    	Если ТекМесяц=МесяцРождения Тогда       //День рождения сегодня или в этом месяце,
    	    Если День(ТекДата)=День(ДатаРождения) Тогда
    		
    			КоличествоДнейДоДР = 0;
    		ИначеЕсли День(ТекДата)<День(ДатаРождения)  Тогда 
    			КоличествоДнейДоДР = День(ДатаРождения)-День(ТекДата);
    		Иначе
    			
    			
    		  КоличествоДнейДоДР = День(КонецМесяца(ТекДата))-День(ТекДата);
    		 Дата = ДобавитьМесяц(ТекДата,1);
    		 Ограничитель = (12-ТекМесяц)+МесяцРождения;
    		 Для сч=1 По Ограничитель Цикл
    			Если сч=Ограничитель Тогда			
    			    КоличествоДнейДоДР = КоличествоДнейДоДР+День(ДатаРождения);
    			    продолжить;			
    			КонецЕсли; 
    
    			КоличествоДнейДоДР = КоличествоДнейДоДР+День(КонецМесяца(Дата)) ;
    			 Дата = ДобавитьМесяц(Дата,1);
    		 	
    		 
    		 КонецЦикла; 
    		
    		КонецЕсли; 
    		
    	
    	ИначеЕсли ТекМесяц<МесяцРождения Тогда   //День рождения еще не наступил,
    		 КоличествоДнейДоДР = День(КонецМесяца(ТекДата))-День(ТекДата);
    		 Дата = ДобавитьМесяц(ТекДата,1);
    		 Для сч= ТекМесяц+1 По МесяцРождения Цикл
    			
                            Если сч=МесяцРождения Тогда
    			   КоличествоДнейДоДР = КоличествоДнейДоДР+День(ДатаРождения);
    			   продолжить;
    			КонецЕсли; 
    
    			КоличествоДнейДоДР = КоличествоДнейДоДР+День(КонецМесяца(Дата)) ;
    			 Дата = ДобавитьМесяц(Дата,1);
    		 	
    		 
    		 КонецЦикла; 
    		
    		
    	ИначеЕсли ТекМесяц>МесяцРождения Тогда     //День рождения уже прошел.	
    		     КоличествоДнейДоДР = День(КонецМесяца(ТекДата))-День(ТекДата);
    		 Дата = ДобавитьМесяц(ТекДата,1);
    		 Ограничитель = (12-ТекМесяц)+МесяцРождения;
    		 Для сч= 1 По Ограничитель Цикл
    
    			Если сч=Ограничитель Тогда
    			  КоличествоДнейДоДР = КоличествоДнейДоДР+День(ДатаРождения);
    			  продолжить;
    			КонецЕсли;
     
    			КоличествоДнейДоДР = КоличествоДнейДоДР+День(КонецМесяца(Дата)) ;
    			 Дата = ДобавитьМесяц(Дата,1);
    		 	
    		 
    		 КонецЦикла; 
    	
    	 КонецЕсли; 
    	 
    	 Сообщение = Новый СообщениеПользователю;
    	 Сообщение.Текст = КоличествоДнейДоДР;
    	 Сообщение.Сообщить(); 
    		
    	// Вставить содержимое обработчика.
    КонецПроцедуры

    Задача рассчитать количество дней до дня рождения, вопрос в том что не много ли я использовал условий Если?

    rusin_av, 16 Мая 2019

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