eComm+

Модулі для BAS / 1С* - розроблено в Україні!

Инструменты пользователя

Инструменты сайта


delivery_designer_unfu_update_2_4

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
delivery_designer_unfu_update_2_4 [2022/07/21 21:11]
webmaster
delivery_designer_unfu_update_2_4 [2022/07/29 14:46] (текущий)
webmaster
Строка 1: Строка 1:
-=== Обновление до версии 2.4 для конфигурации УНФ ===+==== Обновление до версии 2.4 для конфигурации УНФ ====
  
-  * Переименуем реквизиты документа eComm_ЭкспрессНакладная:+В связи с разделением регистра сведений "eComm_СтатусыЭкспрессНакладных" на два регистра ("eComm_СтатусыЭкспрессНакладных" и "eComm_ЭкспрессНакладныеСпискаЗаказов") и дальнейшим развитием модуля доставки обновление необходимо производить по следующему сценарию:
  
-  УлицаОтправителя в УлицаОтправителяСтрокой +<note warning>Если Вы не уверены в успехе обновления - просьба обратиться к нашей технической поддержке для согласования обновления нашими силами (<fc #6495ed>__marketplace@ingenum.ua__</fc>)</note>
-  УлицаПолучателя в УлицаПолучателяСтрокой+
  
-  * Обновляем по инструкции +=== 1. Делаем резервную копию базы перед обновлением === 
-  * Переименовываем реквизит "ЭкспрессНакладная" регистра сведений "eComm_СтатусыЭкспрессНакладных"  в "ЭкспрессНакладнаяСтар" +=== 2. Производим переименование реквизитов документа "eComm_ЭкспрессНакладная" === 
-  Обновляем конфигурацию +      - реквизит "УлицаОтправителя" в "УлицаОтправителяСтрокой" 
-  Редактирование формы "ФормаДокумента" документа “Заказ клиента +      - реквизит "УлицаПолучателя" в "УлицаПолучателяСтрокой" 
-  Редактирование формы "ФормаСписка" документа “Заказ клиента+ 
 +=== 3. Обновляем согласно инструкции: === 
 + 
 +      *[[delivery_designer_unfu_2_4_0_2|Встраивание в конфигурацию УНФ, SmallBusiness]]* 
 + 
 +=== 4. Производим переименование ресурса регистра сведений ""eComm_СтатусыЭкспрессНакладных" ===    
 +      - ресурс ""ЭкспрессНакладная" в "ЭкспрессНакладнаяСтар" 
 +=== 5. Обновляем конфигурацию баз данных === 
 +=== 6. Запускаем обработку по разделению регистров === 
 +Создадим внешнюю обработку с одной формой и командой "РазделитьСлужебныеРеквизиты". После выполнения команды убедимя что регистры сведений "eComm_СтатусыЭкспрессНакладных" и "eComm_ЭкспрессНакладныеСпискаЗаказовзаполнены. 
 +<code> 
 +&НаКлиенте 
 +Процедура РазделитьСлужебныеРегистры(Команда) 
 + РазделитьСлужебныеРегистрыНаСервере(); 
 +КонецПроцедуры 
 + 
 +&НаСервере 
 +Процедура РазделитьСлужебныеРегистрыНаСервере() 
 +  
 + Запрос = Новый Запрос; 
 + Запрос.Текст =  
 + "ВЫБРАТЬ 
 + | eComm_СтатусыЭкспрессНакладных.ДокументОснование КАК ДокументОснование, 
 + | eComm_СтатусыЭкспрессНакладных.ЭкспрессНакладная КАК ЭкспрессНакладная, 
 + | eComm_СтатусыЭкспрессНакладных.ЭкспрессНакладнаяСтар КАК ЭкспрессНакладнаяСтар, 
 + | eComm_СтатусыЭкспрессНакладных.Статус КАК Статус, 
 + | eComm_СтатусыЭкспрессНакладных.ОписаниеСтатуса КАК ОписаниеСтатуса, 
 + | eComm_СтатусыЭкспрессНакладных.НачалоПлатногоХранения КАК НачалоПлатногоХранения, 
 + | eComm_СтатусыЭкспрессНакладных.СтатусДенежногоПеревода КАК СтатусДенежногоПеревода, 
 + | eComm_СтатусыЭкспрессНакладных.ДатаПрибытияНаСклад КАК ДатаПрибытияНаСклад, 
 + | eComm_СтатусыЭкспрессНакладных.ДнейХраненияНаСкладе КАК ДнейХраненияНаСкладе, 
 + | eComm_СтатусыЭкспрессНакладных.ДатаПолучения КАК ДатаПолучения 
 + |ИЗ 
 + | РегистрСведений.eComm_СтатусыЭкспрессНакладных КАК eComm_СтатусыЭкспрессНакладных"; 
 +  
 + РезультатЗапроса = Запрос.Выполнить().Выбрать(); 
 +  
 + Пока РезультатЗапроса.Следующий() Цикл 
 + МенеджерЗаписиСтарый = РегистрыСведений.eComm_СтатусыЭкспрессНакладных.СоздатьМенеджерЗаписи(); 
 + МенеджерЗаписиСтарый.ДокументОснование = РезультатЗапроса.ДокументОснование; 
 + МенеджерЗаписиСтарый.ЭкспрессНакладная = РезультатЗапроса.ЭкспрессНакладная; 
 + МенеджерЗаписиСтарый.Удалить(); 
 +  
 + МенеджерЗаписиНовый = РегистрыСведений.eComm_СтатусыЭкспрессНакладных.СоздатьМенеджерЗаписи(); 
 + ЗаполнитьЗначенияСвойств(МенеджерЗаписиНовый, РезультатЗапроса); 
 + МенеджерЗаписиНовый.ЭкспрессНакладная = РезультатЗапроса.ЭкспрессНакладнаяСтар; 
 + МенеджерЗаписиНовый.Записать(); 
 +  
 + МенеджерЗаписиЗаказ = РегистрыСведений.eComm_ЭкспрессНакладныеСпискаЗаказов.СоздатьМенеджерЗаписи(); 
 + МенеджерЗаписиЗаказ.ДокументОснование = РезультатЗапроса.ДокументОснование; 
 + МенеджерЗаписиЗаказ.ЭкспрессНакладная = РезультатЗапроса.ЭкспрессНакладнаяСтар; 
 + МенеджерЗаписиЗаказ.Записать(); 
 + КонецЦикла; 
 +  
 +КонецПроцедуры 
 +</code> 
 + 
 +=== 7. Удаляем в регистре сведений "eComm_СтатусыЭкспрессНакладных" ===  
 +      - измерение "ДокументОснование" 
 +      - ресурс "ЭкспрессНакладнаяСтар" 
 + 
 +=== 8. Редактирование формы "ФормаДокумента" документа “Заказ покупателя” === 
 +Убедимся что на шаге №3 мы заменили тело процедуры "eComm_ЭкспрессНакладнаяНажатие" на две процедуры из представленного ниже кода: 
 +<code> 
 +&НаКлиенте 
 +Процедура eComm_ЭкспрессНакладнаяНажатие(Элемент, СтандартнаяОбработка)                //++ eComm / Службы доставки 
 +  
 + Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда 
 + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны. 
 + |Переход к экспресс-накладной возможен только после сохранения заказа'; 
 +
 + |uk = 'Данные не записаны. 
 + |Перехід до експрес-накладної можливий лише після збереження замовлення'")); 
 + Возврат; 
 + КонецЕсли; 
 +  
 + Если Элемент.Имя = "eComm_ЭкспрессНакладная_Открыть" Тогда  
 + // Это открытие списка накладных 
 +  
 + СписокВыбора = eCommДоставкаСервер.СписокЭкспрессНакладных(Объект.Ссылка);  
 + Если СписокВыбора.Количество() > 1 Тогда 
 + ОповещениеОВыборе = Новый ОписаниеОповещения("ВыполнитьПослеВыбораЗначения", ЭтаФорма, Объект.Ссылка); 
 + ПоказатьВыборИзМеню(ОповещениеОВыборе, СписокВыбора, Элементы["eComm_ЭкспрессНакладная_Открыть"]); 
 + ИначеЕсли СписокВыбора.Количество() = 1 Тогда  
 + ВыполнитьПослеВыбораЗначения(СписокВыбора[0], Объект.Ссылка); 
 + Иначе 
 + // Создадим если ранее накладная не была создана 
 + ВыполнитьПослеВыбораЗначения(Новый Структура("Значение", Неопределено), Объект.Ссылка); 
 + КонецЕсли; 
 +  
 + ИначеЕсли Элемент.Имя = "eComm_ЭкспрессНакладная_Создать" Тогда  
 + // Это создание новой накладной 
 + ВыполнитьПослеВыбораЗначения(Новый Структура("Значение", Неопределено), Объект.Ссылка); 
 + КонецЕсли; 
 +  
 +КонецПроцедуры 
 + 
 +&НаКлиенте 
 +Процедура ВыполнитьПослеВыбораЗначения(ЭлементСпискаВыбора, Заказ) Экспорт            //++ eComm / Службы доставки 
 + 
 + Если НЕ ЭлементСпискаВыбора = Неопределено Тогда  
 + ЗначенияЗаполнения = Новый Структура("ДокументОснование", Заказ); 
 + ОткрытьФорму("Документ.eComm_ЭкспрессНакладная.ФормаОбъекта", Новый Структура("Ключ, ЗначенияЗаполнения", ЭлементСпискаВыбора.Значение, ЗначенияЗаполнения)); 
 + КонецЕсли; 
 + 
 +КонецПроцедуры 
 +</code> 
 + 
 +=== 9. Редактирование формы "ФормаСписка" документа “Заказ покупателя” === 
 +Убедимся что на шаге №3 мы привели блоки текста запроса (между комментариями //++ и //--) к такому виду:  
 +(Для реквизита "Список" выполняем команду "Настройка списка"
 + 
 +<code> 
 + ЕСТЬ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.ДокОснование} 
 + //-- 
 + {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикВыполненияЗаказов КАК ГрафикВыполнения 
 + ПО ДокументЗаказПокупателя.Ссылка = ГрафикВыполнения.Заказ 
 + 
 + 
 +</code> 
 + 
 +=== 10. Обновляем конфигурацию баз данных ===
delivery_designer_unfu_update_2_4.1658427107.txt.gz · Последнее изменение: 2022/02/24 03:40 (внешнее изменение)