Бухгалтерия / Говнокод #10543 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Если ПроверятьСкидкиРассчитаны И
        ИспользоватьАвтоматическиеСкидки И
        Не ДокументПродажи.СкидкиРассчитаны И
        ДокументПродажи.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ПередачаНаКомиссию Тогда
    ПроверятьСкидкиРассчитаны = Истина;
КонецЕсли;

Управление торговлей (11-я редакция)

Argonavt Argonavt, (Updated )

Комментарии (12, +12)

Бухгалтерия / Говнокод #10392 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
.....
ГДЕ
.....
И ОсновныеНачисления.Авторасчет = Истина
И ОсновныеНачисления.Авторасчет = Ложь"

Выбрать обязательно различные! :)

mrbus mrbus, (Updated )

Комментарии (39, +39)

Бухгалтерия / Говнокод #10297 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
Процедура СортировкаСписка(Список) 
	
	Перем лСредний;  
	
	лЛевый= СоздатьОбъект("СписокЗначений");
	лПравый = СоздатьОбъект("СписокЗначений");
	
	Если Список.РазмерСписка()>1 Тогда  
		
		лРазмерСписка = Список.РазмерСписка();
		лПозицияСреднего = Цел(лРазмерСписка/2);
		лСреднее = Список.ПолучитьЗначение(лПозицияСреднего);
		
		Для й = 1 По лРазмерСписка Цикл
			
			Если й<>лПозицияСреднего Тогда
				
				лПроверяемоеЗначение =  Список.ПолучитьЗначение(й);
				
				Если лПроверяемоеЗначение<лСреднее Тогда
					
					лЛевый.ДобавитьЗначение(лПроверяемоеЗначение);
					
				ИначеЕсли лПроверяемоеЗначение>лСреднее Тогда
					
					лПравый.ДобавитьЗначение(лПроверяемоеЗначение);
					
				КонецЕсли;
				
			КонецЕсли;
			
		КонецЦикла;
		
		СортировкаСписка(лЛевый);
		СортировкаСписка(лПравый);
		
		Список.УдалитьВсе();
		
		Для й = 1 По лЛевый.РазмерСписка() Цикл
			Список.ДобавитьЗначение(лЛевый.ПолучитьЗначение(й));
		КонецЦикла; 
		
		Список.ДобавитьЗначение(лСреднее); 
		
		Для й = 1 По лПравый.РазмерСписка() Цикл
			Список.ДобавитьЗначение(лПравый.ПолучитьЗначение(й));
		КонецЦикла;
		
	КонецЕсли;
	
	
КонецПроцедуры

Процедура Выполнить()
	
	ОтсортированныйСписок = СоздатьОбъект("СписокЗначений");
	
	СписокЗначений = СоздатьОбъект("СписокЗначений");   
	
	СписокЗначений.ДобавитьЗначение(2);
	СписокЗначений.ДобавитьЗначение(7);
	СписокЗначений.ДобавитьЗначение(15);
	СписокЗначений.ДобавитьЗначение(16);
	СписокЗначений.ДобавитьЗначение(20);
	СписокЗначений.ДобавитьЗначение(21);
	СписокЗначений.ДобавитьЗначение(3);
	СписокЗначений.ДобавитьЗначение(5);
	СписокЗначений.ДобавитьЗначение(4);
	СписокЗначений.ДобавитьЗначение(14);
	СписокЗначений.ДобавитьЗначение(12);
	СписокЗначений.ДобавитьЗначение(13);
	СписокЗначений.ДобавитьЗначение(11);
	СписокЗначений.ДобавитьЗначение(19);
	СписокЗначений.ДобавитьЗначение(1);
	СписокЗначений.ДобавитьЗначение(8);
	СписокЗначений.ДобавитьЗначение(6);
	СписокЗначений.ДобавитьЗначение(17);
	СписокЗначений.ДобавитьЗначение(9);
	СписокЗначений.ДобавитьЗначение(10);
	СписокЗначений.ДобавитьЗначение(18);
	
	СортировкаСписка(СписокЗначений);
	
	ВыбранноеЗначение = 0;
	СписокЗначений.ВыбратьЗначение(ВыбранноеЗначение);
	
КонецПроцедуры

informatikmarazmatik informatikmarazmatik, (Updated )

Комментарии (5, +5)

Бухгалтерия / Говнокод #10295 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
Функция ЧекМайл(Майл) 
    
	Перем Чек;
	
	Если Найти(Майл,"@mail.ru")<>0 Тогда
		
		Чек = 0; 
		
	Иначе	
		
		Чек = 1;
		
	КонецЕсли;
	
	Возврат Чек;
	
КонецФункции

...
	  Если ЧекМайл("informatik-marazmatik@mail.ru") = 0 Тогда
	  	 Предупреждение("Ой! Что-то пошло не так!");
	  	 Предупреждение("Не беспокойтесь, это наша ошибка. Мы уже знаем о ней и примем меры к ее исправлению!");
	  	 СтатусВозврата(0);
	  	 Возврат;
	  КонецЕсли;

могли и предупредить ...

informatikmarazmatik informatikmarazmatik, (Updated )

Комментарии (10, +10)

Бухгалтерия / Говнокод #10292 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
Тз = СоздатьОбъект("ТаблицаЗначений");
	Тз.НоваяКолонка("Число");
	Для й=1 По 100 Цикл
		Тз.НоваяСтрока();
		Тз.Число = й;
	КонецЦикла;
	КоличествоСтрокТз = Тз.КоличествоСтрок();
	Для й=-КоличествоСтрокТз По -1 Цикл
		ЗначениеИзТз = Тз.ПолучитьЗначение(-й,"Число");
		ПроверяемоеЗначение = ЗначениеИзТз/2-Цел(ЗначениеИзТз/2);
		Если ПроверяемоеЗначение <> 0 Тогда
			Тз.УдалитьСтроку(-й);
		КонецЕсли;
	КонецЦикла;
	Тз.ВыбратьСтроку();

Четные числа до 100

informatikmarazmatik informatikmarazmatik, (Updated )

Комментарии (5, +5)

Бухгалтерия / Говнокод #10261 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
ВыборкаДетальныеЗаписи = Результат.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Продукт=ВыборкаДетальныеЗаписи.Продукт;
		ЕдИзм=ВыборкаДетальныеЗаписи.ЕдИзмПродукта;
		Количество=ВыборкаДетальныеЗаписи.КолвоПродукта;
		Если Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1/2 кг" ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1/2кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1\2 кг" ИЛИ
			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1\2кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(500  гр)"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,5кг" ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="(05кг)"   Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта/2;
			
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,7)="1/2,5кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(250 гр)" ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(0,25 кг)" ИЛИ
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,25кг"   Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.25;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1/4кг." ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1/4кг"   ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1/4 кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,7)="1/4 кг."  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,4кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,3)="1/4"   Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.4;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="0,085 кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(0,085кг)"   Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.085;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,7кг"  Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.7;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(100 гр)"  Тогда
	        Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.1;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(350 гр)"  ИЛИ
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="350гр."  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,35кг"  ИЛИ 
			 Прав(ВыборкаДетальныеЗаписи.Продукт,7)="0,35 кг" Тогда
 	        Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.35;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(450 гр)" ИЛИ
			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(0,45 кг)" ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,45кг"  Тогда
            Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.45;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1/3кг"  ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(0,3 кг)" ИЛИ
			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,3кг"   Тогда
		    Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.3;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="1\1,8 кг" ИЛИ 
			Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(0,18кг)"   Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.18;
		ИначеЕсли  Прав(ВыборкаДетальныеЗаписи.Продукт,8)="1/1,5 кг" Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.15;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(0,12кг)" Тогда 
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.12;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,7)="0,08 кг" Тогда 
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.08;
		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,7)="0,075кг" Тогда 
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.75;
		ИначеЕсли  Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,03кг" Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.03;
		ИначеЕсли  Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,23кг" Тогда
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.23;
	
		Иначе
			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта;
		КонецЕсли;
		
	КонецЦикла;

Отчет почему-то не всегда работал :)

sipkin sipkin, (Updated )

Комментарии (12, +12)

Бухгалтерия / Говнокод #10182 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
Если      НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Ожидает Тогда
        СтатусЗаказаСтр = "Ожидает";
ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Обработан Тогда
        СтатусЗаказаСтр = "Обрабатывается";
ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Оплачен Тогда
        СтатусЗаказаСтр = "Оплачен";
ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.ОтправленПокупателю Тогда
        СтатусЗаказаСтр = "Отгружен";
ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Завершен Тогда
        СтатусЗаказаСтр = "Готов";
ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Отменен Тогда
        СтатусЗаказаСтр = "Отменён";
КонецЕсли;

Приведение типов? Нет, не слышал.

qweqwe qweqwe, (Updated )

Комментарии (9, +9)