- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
// Заполняет документ заказ данными с сайта.
//
// Параметры:
// ДокументОбъект - ДокументОбъект - объект документа Заказ покупателя.
// РеквизитыЗаказа - Структура - содержит значения реквизитов заказа, загруженных с сайта:
// * Ид - Идентификатор заказа, очень часто тоже что и номер.
// * Дата - дата создания заказа на сайте.
// * Номер - номер заказа на сайте.
// * ДатаОтгрузки - дата отгрузки товара по заказу.
// * ВалютаДокументаКод - трехзначный идентификатор валюты.
// * ВидЦенНаименование - наименование вида цены.
// * СуммаВключаетНДС - признак включения НДС.
// * НаименованиеСкидки - наименование скидки.
// * ПроцентСкидки - процент скидки.
// * СуммаСкидки - сумма скидки по заказу.
// * СкладНаименование - наименование склада, точки самовывоза.
// * ПодразделениеНаименование - наименование подразделения.
// * Контрагент - ссылка на контрагента, который уже был идентифицирован в базе.
// * АдресДоставки - строка адреса доставки.
// * ТочкаСамовывоза - ссылка на элемент справочника, который в прикладном решении является справочником точек самовывоза или Неопределено.
// * Товары - табличная часть документа.
// * Комментарий - текстовый комментарий.
// СвойстваЗаказа - Соответствие - содержит строковое представления свойств (ключ) и значений (значение) заказа.
// ПрикладныеПараметры - Структура - содержит параметры прикладного решения, добавленные на форму узла плана обмена.
// ОписаниеОшибки - Строка - текстовое представление ошибки.
// Успешно - Булево - признак заполнения документа.
//
Процедура ЗаполнитьЗаказ(ДокументОбъект, РеквизитыЗаказа, СвойстваЗаказа,
ПрикладныеПараметры, ОписаниеОшибки, Успешно) Экспорт
//++ НЕ ГОСИС
Валюта = Неопределено;
ОбменССайтамиУТ.ОбработатьВалютуXML(Валюта, РеквизитыЗаказа.ВалютаДокументаКод);
ДокументОбъект.Дата = РеквизитыЗаказа.Дата;
ДокументОбъект.Валюта = Валюта;
ДокументОбъект.Соглашение = ПрикладныеПараметры.Соглашение;
ДокументОбъект.Организация = ПрикладныеПараметры.Организация;
ДокументОбъект.Менеджер = ПрикладныеПараметры.Менеджер;
ДокументОбъект.Контрагент = РеквизитыЗаказа.Контрагент;
ДокументОбъект.Партнер = РеквизитыЗаказа.Партнер;
ДокументОбъект.ЦенаВключаетНДС = РеквизитыЗаказа.СуммаВключаетНДС;
ДокументОбъект.Склад = ?(ЗначениеЗаполнено(РеквизитыЗаказа.ТочкаСамовывоза),
РеквизитыЗаказа.ТочкаСамовывоза,
ПрикладныеПараметры.Склад);
УсловияПродаж = ПродажиСервер.ПолучитьУсловияПродаж(ПрикладныеПараметры.Соглашение);
Если НЕ ЗначениеЗаполнено(УсловияПродаж.ИспользуютсяДоговорыКонтрагентов)
ИЛИ НЕ УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
ДокументОбъект.ПорядокОплаты = УсловияПродаж.ПорядокОплаты;
Иначе
ДокументОбъект.ПорядокОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор, "ПорядокОплаты");
КонецЕсли;
ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
ЗаполнитьЗначенияСвойств(ДокументОбъект,
УсловияПродаж,
"ХозяйственнаяОперация, ГруппаФинансовогоУчета,
|ТребуетсяЗалогЗаТару, ФормаОплаты, ГрафикОплаты");
Если ЗначениеЗаполнено(ДокументОбъект.ГрафикОплаты) Тогда
ДокументОбъект.ФормаОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.ГрафикОплаты, "ФормаОплаты");
КонецЕсли;
ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
ДокументОбъект.Приоритет = Справочники.Приоритеты.ПолучитьПриоритетПоУмолчанию(ДокументОбъект.Приоритет);
Если УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
ДокументОбъект.Договор = ПродажиСервер.ПолучитьДоговорПоУмолчанию(ДокументОбъект,
УсловияПродаж.ХозяйственнаяОперация,
Валюта);
Если ЗначениеЗаполнено(ДокументОбъект.Договор) Тогда
ДокументОбъект.НалогообложениеНДС = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор,
"НалогообложениеНДС");
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДокументОбъект.НалогообложениеНДС) Тогда
ДокументОбъект.НалогообложениеНДС = Справочники.Организации.НалогообложениеНДС(
ДокументОбъект.Организация,
ДокументОбъект.Склад,
ДокументОбъект.Дата);
КонецЕсли;
Комментарий = "";
Если Не ПустаяСтрока(РеквизитыЗаказа.Комментарий) Тогда
Комментарий = Комментарий + НСтр("ru = 'Комментарий менеджера на сайте'") + ": " +РеквизитыЗаказа.Комментарий;
КонецЕсли;
КомментарийПокупателя = СвойстваЗаказа.Получить("Комментарии покупателя");
Если Не КомментарийПокупателя = Неопределено И Не ПустаяСтрока(КомментарийПокупателя) Тогда
Комментарий = Комментарий + ?(ПустаяСтрока(Комментарий),"",Символы.ПС) + НСтр("ru = 'Комментарий покупателя на сайте'") + ": " + КомментарийПокупателя;
КонецЕсли;
ДокументОбъект.Комментарий = Комментарий;
СтатусЗаказа = СвойстваЗаказа.Получить("Статус заказа");