1. Объединяем с конфигурацией модуля новой почты
2. Выполняем объединение
3. Пропускаем зависимости
4.1 Если модуль «Новая почта» внедряется совместно с модулями торговых площадок «eComm+» тогда перетаскиваем подсистему «Новая почта» в торговые площадки
4.2 Если модуль «Новая почта» внедряется самостоятельно (без модулей «eComm+») тогда отображаем подсистему «eComm_СлужбыДоставки» в командном интерфейсе
Добавляем в конце метода “ПриСозданииНаСервере” следующий код
//++ ingenum.com.ua / Торговые площадки eCommДоставкаСервер.ЗаказПокупателя_ФормаДокумента_ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка); //-- ingenum
Добавляем в конце модуля формы следующий код
&НаКлиенте
Процедура eComm_ЭкспрессНакладнаяНажатие(Элемент, СтандартнаяОбработка) //++ eComm / Службы доставки
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны.
|Переход к экспресс-накладной возможен только после сохранения заказа';
|
|uk = 'Данные не записаны.
|Перехід до експрес-накладної можливий лише після збереження замовлення'"));
Возврат;
КонецЕсли;
Если Элемент.Имя = "eComm_ЭкспрессНакладная_Открыть" Тогда
// Это открытие списка накладных
СписокВыбора = eCommДоставкаСервер.СписокЭкспрессНакладных(Объект.Ссылка);
Если СписокВыбора.Количество() > 1 Тогда
ОповещениеОВыборе = Новый ОписаниеОповещения("ВыполнитьПослеВыбораЗначения", ЭтаФорма, Объект.Ссылка);
ПоказатьВыборИзМеню(ОповещениеОВыборе, СписокВыбора, Элементы["eComm_ЭкспрессНакладная_Открыть"]);
ИначеЕсли СписокВыбора.Количество() = 1 Тогда
ВыполнитьПослеВыбораЗначения(СписокВыбора[0], Объект.Ссылка);
Иначе
// Создадим если ранее накладная не была создана
ВыполнитьПослеВыбораЗначения(Новый Структура("Значение", Неопределено), Объект.Ссылка);
КонецЕсли;
ИначеЕсли Элемент.Имя = "eComm_ЭкспрессНакладная_Создать" Тогда
// Это создание новой накладной
ВыполнитьПослеВыбораЗначения(Новый Структура("Значение", Неопределено), Объект.Ссылка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьПослеВыбораЗначения(ЭлементСпискаВыбора, Заказ) Экспорт //++ eComm / Службы доставки
Если НЕ ЭлементСпискаВыбора = Неопределено Тогда
ЗначенияЗаполнения = Новый Структура("ДокументОснование", Заказ);
ОткрытьФорму("Документ.eComm_ЭкспрессНакладная.ФормаОбъекта", Новый Структура("Ключ, ЗначенияЗаполнения", ЭлементСпискаВыбора.Значение, ЗначенияЗаполнения));
КонецЕсли;
КонецПроцедуры
Для реквизита «Список» выполняем команду «Настройка списка» и приводим текст запроса к такому виду:
ЕСТЬNULL(ФактОплаты.СуммаОплаты, 0) + ЕСТЬNULL(ФактОплаты.СуммаАванса, 0) КАК СуммаОплатыОборот,
//++
//ЗаказыПокупателейССайта.НомерЗаказаНаСайте КАК НомерНаСайте,
ВЫБОР
КОГДА НЕ ДокументЗаказПокупателя.НомерВходящегоДокумента = "" Тогда
ДокументЗаказПокупателя.НомерВходящегоДокумента
Иначе
ЗаказыПокупателейССайта.НомерЗаказаНаСайте
Конец КАК НомерНаСайте,
eComm_СтатусыЭкспрессНакладных.ЭкспрессНакладная.НомерТТН КАК ЭкспрессНакладная,
eComm_СтатусыЭкспрессНакладных.ОписаниеСтатуса КАК ОписаниеСтатуса,
eComm_СтатусыЭкспрессНакладных.СтатусДенежногоПеревода,
eComm_СтатусыЭкспрессНакладных.ДнейХраненияНаСкладе КАК ДнейХраненияНаСкладе,
eComm_СтатусыЭкспрессНакладных.НачалоПлатногоХранения,
ЕСТЬNULL(СообщенияSMS.КоличествоSMS, 0) КАК SMS,
//--
ЗаказыПокупателейССайта.ДатаЗаказаНаСайте КАК ДатаНаСайте,
ВЫБОР
КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
ТОГДА 0
КОГДА НаличиеФайлов.ЕстьФайлы
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК ЕстьФайлы
ИЗ
Документ.ЗаказПокупателя КАК ДокументЗаказПокупателя
//++
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_ЭкспрессНакладныеСпискаЗаказов КАК eComm_ЭкспрессНакладныеСпискаЗаказов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_СтатусыЭкспрессНакладных КАК eComm_СтатусыЭкспрессНакладных
ПО eComm_ЭкспрессНакладныеСпискаЗаказов.ЭкспрессНакладная = eComm_СтатусыЭкспрессНакладных.ЭкспрессНакладная
ПО eComm_ЭкспрессНакладныеСпискаЗаказов.ДокументОснование = ДокументЗаказПокупателя.Ссылка}
{ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СообщениеSMS.Ссылка) КАК КоличествоSMS,
СообщениеSMS.ДокументОснование КАК ДокОснование
ИЗ
Документ.Событие КАК СообщениеSMS
ГДЕ
СообщениеSMS.ПометкаУдаления = ЛОЖЬ
И СообщениеSMS.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ТипыСобытий.СообщениеSMS)
И СообщениеSMS.ВходящееИсходящееСобытие = ЗНАЧЕНИЕ(Перечисление.ВходящееИсходящееСобытие.Исходящее)
СГРУППИРОВАТЬ ПО
СообщениеSMS.ДокументОснование) КАК СообщенияSMS
ПО ДокументЗаказПокупателя.Ссылка = СообщенияSMS.ДокОснование}
//--
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикВыполненияЗаказов КАК ГрафикВыполнения
ПО ДокументЗаказПокупателя.Ссылка = ГрафикВыполнения.Заказ
Добавим колонки на форму списка
Для роли «Базовые права УНФ» добавим право на чтение и просмотр к:
Приведем код к следующему виду:
ПоказатьОповещениеПользователя(НСтр("ru='SMS успешно отправлено';uk='SMS успішно відправлено'"), ПолучитьНавигационнуюСсылку(Объект.Ссылка), Строка(Объект.Ссылка), БиблиотекаКартинок.Информация32);
Оповестить("СообщениеSMSОтправлено"); //++
Закрыть();
Если Вы используете провайдера TURBO SMS, тогда Вам, вероятно, понадобится исправить ошибки типовой конфигурации.
В реквизите табличной части «Участники» документа «Событие» увеличиваем длину реквизита «ИдентификаторСообщения» до 36 символов
Приведем код к следующему виду:
//++ //РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, Объект.ИмяОтправителяSMS, ОтправлятьВТранслите); РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, ?(ЗначениеЗаполнено(Объект.ИмяОтправителяSMS),Объект.ИмяОтправителяSMS, Неопределено) , ОтправлятьВТранслите); //--
Для конфигураций Business Automation Software for small company версии 1.6.21.3 и выше
Для остальных конфигураций УНФ, Управление швейным предприятием, BAS for small company версии до 1.6.21.3
У випадку розширення файлу поставки функціоналом відправки в Viber додатково необхідно внести зміни в типову конфігурацію.
| Им'я реквізиту | Синонім | Тип |
|---|---|---|
| ТекстViber | Текст (Viber) | Строка (Необмежена) |
Відобразимо на формі реквізит «ТекстViber» Положення заголовка: Ліворуч Многострочный режим: Так Видимість: Ні
Приведемо код методу «ВыполнитьОтправкуSMS» до вигляду:
//++
//РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, ИмяОтправителяSMS, ОтправлятьВТранслите);
Если ЗначениеЗаполнено(УчетнаяЗапись) Тогда
СтруктураНастроек = eCommДоставкаСервер.Настройки(УчетнаяЗапись);
Если СтруктураНастроек.Настройки.Свойство("ИспользоватьГибриднуюViberОтправку")
И СтруктураНастроек.Настройки.ИспользоватьГибриднуюViberОтправку = Истина Тогда
РезультатОтправки = Обработки["eComm_ОтправкаСообщений"].ОтправитьСообщениеViber(МассивНомеров, Объект.ТекстViber, Объект.Содержание);
Иначе
РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, Объект.ИмяОтправителяSMS, ОтправлятьВТранслите);
КонецЕсли;
Иначе
РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, Объект.ИмяОтправителяSMS, ОтправлятьВТранслите);
КонецЕсли;
//--
Додамо в кінці методу «ПриСозданииНаСервере» код:
//++
Если Параметры.Свойство("УчетнаяЗапись", УчетнаяЗапись)
Или ЗначениеЗаполнено(Объект.ТекстViber) Тогда
Элементы.ТекстViber.Видимость = Истина;
КонецЕсли;
//--