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

    +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
    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
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    // Заполняет документ заказ данными с сайта.
    // 
    // Параметры:
    //  ДокументОбъект - ДокументОбъект - объект документа Заказ покупателя.
    //  РеквизитыЗаказа - Структура - содержит значения реквизитов заказа, загруженных с сайта:
    //     * Ид - Идентификатор заказа, очень часто тоже что и номер.
    //     * Дата				- дата создания заказа на сайте.
    //     * Номер				- номер заказа на сайте.
    //     * ДатаОтгрузки		- дата отгрузки товара по заказу.
    //     * ВалютаДокументаКод	- трехзначный идентификатор валюты.
    //     * ВидЦенНаименование	- наименование вида цены.
    //     * СуммаВключаетНДС	- признак включения НДС.
    //     * НаименованиеСкидки	- наименование скидки.
    //     * ПроцентСкидки		- процент скидки.
    //     * СуммаСкидки		- сумма скидки по заказу.
    //     * СкладНаименование 	- наименование склада, точки самовывоза.
    //     * ПодразделениеНаименование - наименование подразделения.
    //     * Контрагент			- ссылка на контрагента, который уже был идентифицирован в базе.
    //     * АдресДоставки      - строка адреса доставки.
    //     * ТочкаСамовывоза	- ссылка на элемент справочника, который в прикладном решении является справочником точек самовывоза или Неопределено.
    //     * Товары				- табличная часть документа.
    //     * Комментарий		- текстовый комментарий.
    //  СвойстваЗаказа - Соответствие - содержит строковое представления свойств (ключ) и значений (значение) заказа.
    //  ПрикладныеПараметры - Структура - содержит параметры прикладного решения, добавленные на форму узла плана обмена.
    //  ОписаниеОшибки - Строка - текстовое представление ошибки.
    //  Успешно - Булево - признак заполнения документа.
    //
    Процедура ЗаполнитьЗаказ(ДокументОбъект, РеквизитыЗаказа, СвойстваЗаказа,
                             ПрикладныеПараметры, ОписаниеОшибки, Успешно) Экспорт
    	//++ НЕ ГОСИС
    	Валюта = Неопределено;
    	ОбменССайтамиУТ.ОбработатьВалютуXML(Валюта, РеквизитыЗаказа.ВалютаДокументаКод);
    	
    	ДокументОбъект.Дата          = РеквизитыЗаказа.Дата;
    	ДокументОбъект.Валюта        = Валюта;
    	ДокументОбъект.Соглашение    = ПрикладныеПараметры.Соглашение;
    	ДокументОбъект.Организация   = ПрикладныеПараметры.Организация;
    	ДокументОбъект.Менеджер      = ПрикладныеПараметры.Менеджер;
    	ДокументОбъект.Контрагент    = РеквизитыЗаказа.Контрагент;
    	ДокументОбъект.Партнер       = РеквизитыЗаказа.Партнер;
    	ДокументОбъект.ЦенаВключаетНДС = РеквизитыЗаказа.СуммаВключаетНДС;
    	ДокументОбъект.Склад           = ?(ЗначениеЗаполнено(РеквизитыЗаказа.ТочкаСамовывоза),
    	                                   РеквизитыЗаказа.ТочкаСамовывоза, 
    	                                   ПрикладныеПараметры.Склад);
    	
    	УсловияПродаж = ПродажиСервер.ПолучитьУсловияПродаж(ПрикладныеПараметры.Соглашение);
    	
    	Если НЕ ЗначениеЗаполнено(УсловияПродаж.ИспользуютсяДоговорыКонтрагентов) 
    		ИЛИ НЕ УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
    		ДокументОбъект.ПорядокОплаты = УсловияПродаж.ПорядокОплаты;
    	Иначе
    		ДокументОбъект.ПорядокОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор, "ПорядокОплаты");
    	КонецЕсли;
    	
    	ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
    	ЗаполнитьЗначенияСвойств(ДокументОбъект,
    	                         УсловияПродаж,
    	                        "ХозяйственнаяОперация, ГруппаФинансовогоУчета,
    	                        |ТребуетсяЗалогЗаТару, ФормаОплаты, ГрафикОплаты");
    	Если ЗначениеЗаполнено(ДокументОбъект.ГрафикОплаты) Тогда
    		ДокументОбъект.ФормаОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.ГрафикОплаты, "ФормаОплаты");
    	КонецЕсли;
    	
    	ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
    	ДокументОбъект.Приоритет = Справочники.Приоритеты.ПолучитьПриоритетПоУмолчанию(ДокументОбъект.Приоритет);
    	Если УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
    		
    		ДокументОбъект.Договор = ПродажиСервер.ПолучитьДоговорПоУмолчанию(ДокументОбъект,
    		                                                                  УсловияПродаж.ХозяйственнаяОперация,
    		                                                                  Валюта);
    		
    		Если ЗначениеЗаполнено(ДокументОбъект.Договор) Тогда
    			ДокументОбъект.НалогообложениеНДС = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор,
    				"НалогообложениеНДС");
    		КонецЕсли;
    		
    	КонецЕсли;
    	
    	Если НЕ ЗначениеЗаполнено(ДокументОбъект.НалогообложениеНДС) Тогда
    		ДокументОбъект.НалогообложениеНДС = Справочники.Организации.НалогообложениеНДС(
    			ДокументОбъект.Организация,
    			ДокументОбъект.Склад,
    			ДокументОбъект.Дата);
    	КонецЕсли;
    	
    	Комментарий = "";
    	Если Не ПустаяСтрока(РеквизитыЗаказа.Комментарий) Тогда
    		Комментарий = Комментарий + НСтр("ru = 'Комментарий менеджера на сайте'") + ": " +РеквизитыЗаказа.Комментарий;
    	КонецЕсли;
    	
    	КомментарийПокупателя = СвойстваЗаказа.Получить("Комментарии покупателя");
    	Если Не КомментарийПокупателя = Неопределено И Не ПустаяСтрока(КомментарийПокупателя) Тогда
    		Комментарий = Комментарий + ?(ПустаяСтрока(Комментарий),"",Символы.ПС) + НСтр("ru = 'Комментарий покупателя на сайте'") + ": " + КомментарийПокупателя;
    	КонецЕсли;
    	
    	ДокументОбъект.Комментарий   = Комментарий;
    	
    	СтатусЗаказа = СвойстваЗаказа.Получить("Статус заказа");

    Запостил: 0x255, 29 Апреля 2021

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Семь раз отмерь — один отрежь, guest!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код