Fix matching delivery after marking code scan in StikerovkaMP.
Correct marketplace lookup for WB/FB/YA and persist marking codes to the Codes tab. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
88098aa86f
commit
2879dae761
@ -90,33 +90,38 @@
|
|||||||
//#КонецЕсли
|
//#КонецЕсли
|
||||||
//Сообщить("Не нашли товар в базе");
|
//Сообщить("Не нашли товар в базе");
|
||||||
конецесли;
|
конецесли;
|
||||||
ИначеЕсли Событие="Штрихкод" И НЕ СтрДлина(Данные)=13 И ЕстьТовар Тогда
|
ИначеЕсли Событие="Штрихкод" И ЕстьТовар И Не ЭтоШтрихкодТовараПодбор(Данные) Тогда
|
||||||
структураПоиска=Новый структура();
|
структураПоиска=Новый структура();
|
||||||
ПараметрыТов = Новый Структура();
|
ПараметрыТов = Новый Структура();
|
||||||
если Маркет="OZ" Тогда
|
postingNumber = "";
|
||||||
|
если Маркет="YA" Тогда
|
||||||
|
postingNumber=ПривестиСтрокуВПорядок(Данные, "-");
|
||||||
|
структураПоиска.Вставить("КодМП", postingNumber);
|
||||||
|
ИначеЕсли Маркет="OZ" Тогда
|
||||||
ДанныеОтвета=СинхронизацияУТ.ЗапросДанныеДляМаркетов(ДокументОснование, Данные);
|
ДанныеОтвета=СинхронизацияУТ.ЗапросДанныеДляМаркетов(ДокументОснование, Данные);
|
||||||
postingNumber=ДанныеОтвета.result.posting_number;
|
postingNumber=ДанныеОтвета.result.posting_number;
|
||||||
структураПоиска.Вставить("КодМП", postingNumber);
|
структураПоиска.Вставить("КодМП", postingNumber);
|
||||||
конецесли;
|
ИначеЕсли Маркет="WB" ИЛИ Маркет="FB" Тогда
|
||||||
если Маркет="WB" ИЛИ Маркет="FB" Тогда
|
|
||||||
postingNumber=Данные;
|
postingNumber=Данные;
|
||||||
структураПоиска.Вставить("ШтрихкодПоставки", postingNumber);
|
структураПоиска.Вставить("ШтрихкодПоставки", postingNumber);
|
||||||
|
Иначе
|
||||||
|
postingNumber=Данные;
|
||||||
|
структураПоиска.Вставить("КодМП", postingNumber);
|
||||||
конецесли;
|
конецесли;
|
||||||
структураПоиска.Вставить("КарточкаМП", ном);
|
структураПоиска.Вставить("КарточкаМП", ном);
|
||||||
// Если у нас несколько товаров в одинаковым ШК, то смысла в ном нет
|
// Если у нас несколько товаров с одинаковым ШК, уточним карточку по поставке
|
||||||
// Значит найдем товар по ШК поставки
|
НайденнаяКарточка = НайтиНомПоШКПоставки(postingNumber);
|
||||||
ном = НайтиНомПоШКПоставки(postingNumber);
|
Если ЗначениеЗаполнено(НайденнаяКарточка) Тогда
|
||||||
Если ЗначениеЗаполнено(ном) Тогда
|
структураПоиска.КарточкаМП = НайденнаяКарточка;
|
||||||
структураПоиска.КарточкаМП = ном;
|
ном = НайденнаяКарточка;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
РезПоиска=НайтиТоварВДокеПоШК(структураПоиска);
|
РезПоиска=НайтиТоварВДокеПоШК(структураПоиска);
|
||||||
//если рез=истина тогда
|
|
||||||
Если РезПоиска=истина Тогда
|
Если РезПоиска=истина Тогда
|
||||||
если НЕ Маркет="WB" ИЛИ НЕ Маркет="FB" Тогда
|
Если Маркет="WB" ИЛИ Маркет="FB" Тогда
|
||||||
ПараметрыТов.Вставить("КодМП", postingNumber);
|
|
||||||
иначе
|
|
||||||
ПараметрыТов.Вставить("ШтрихкодПоставки", postingNumber);
|
ПараметрыТов.Вставить("ШтрихкодПоставки", postingNumber);
|
||||||
конецесли;
|
Иначе
|
||||||
|
ПараметрыТов.Вставить("КодМП", postingNumber);
|
||||||
|
КонецЕсли;
|
||||||
ПараметрыТов.Вставить("Номенклатура", ном);
|
ПараметрыТов.Вставить("Номенклатура", ном);
|
||||||
Если ЗначениеЗаполнено(КодМаркировки) Тогда
|
Если ЗначениеЗаполнено(КодМаркировки) Тогда
|
||||||
ПараметрыТов.Вставить("КодМаркировки", КодМаркировки);
|
ПараметрыТов.Вставить("КодМаркировки", КодМаркировки);
|
||||||
@ -146,7 +151,7 @@
|
|||||||
| ПоставкаМПТовары.Ссылка В (&СписокЗначений)";
|
| ПоставкаМПТовары.Ссылка В (&СписокЗначений)";
|
||||||
Запрос.УстановитьПараметр("СписокЗначений", СсылкиПоставкиМП);
|
Запрос.УстановитьПараметр("СписокЗначений", СсылкиПоставкиМП);
|
||||||
ТоварыНом = Запрос.Выполнить().Выгрузить();
|
ТоварыНом = Запрос.Выполнить().Выгрузить();
|
||||||
если НЕ Маркет="WB" Тогда
|
если НЕ (Маркет="WB" ИЛИ Маркет="FB") Тогда
|
||||||
тов=ТоварыНом.НайтиСтроки(Новый Структура("КодМП", НомерПоставки));
|
тов=ТоварыНом.НайтиСтроки(Новый Структура("КодМП", НомерПоставки));
|
||||||
Иначе
|
Иначе
|
||||||
тов=ТоварыНом.НайтиСтроки(Новый Структура("ШтрихкодПоставки", НомерПоставки));
|
тов=ТоварыНом.НайтиСтроки(Новый Структура("ШтрихкодПоставки", НомерПоставки));
|
||||||
@ -156,6 +161,11 @@
|
|||||||
конецесли;
|
конецесли;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Функция ЭтоШтрихкодТовараПодбор(Данные)
|
||||||
|
Возврат СтрДлина(Данные) = 13 И СтрНайти(Данные, "-") = 0;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Функция ЭтоКодМаркировкиПодбор(Знач ДанныеСкана)
|
Функция ЭтоКодМаркировкиПодбор(Знач ДанныеСкана)
|
||||||
|
|
||||||
@ -258,10 +268,9 @@
|
|||||||
ТоварыНом = Запрос.Выполнить().Выгрузить();
|
ТоварыНом = Запрос.Выполнить().Выгрузить();
|
||||||
тов=ТоварыНом.НайтиСтроки(стрПоиска);
|
тов=ТоварыНом.НайтиСтроки(стрПоиска);
|
||||||
если тов <> неопределено И тов.Количество() > 0 Тогда
|
если тов <> неопределено И тов.Количество() > 0 Тогда
|
||||||
возврат истина;
|
Возврат Истина;
|
||||||
иначе
|
|
||||||
возврат ложь;
|
|
||||||
конецесли;
|
конецесли;
|
||||||
|
Возврат Ложь;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПривестиСтрокуВПорядок(Строка, СтрокаПоиска)
|
Функция ПривестиСтрокуВПорядок(Строка, СтрокаПоиска)
|
||||||
|
|||||||
@ -247,29 +247,33 @@
|
|||||||
если ИмяСобытия="НашлиТоварВПоставке" Тогда
|
если ИмяСобытия="НашлиТоварВПоставке" Тогда
|
||||||
НеВызыватьВС=истина;
|
НеВызыватьВС=истина;
|
||||||
структураПоиска=Новый структура();
|
структураПоиска=Новый структура();
|
||||||
если Параметр.Свойство("КодМП") Тогда
|
если Параметр.Свойство("КодМП") И ЗначениеЗаполнено(Параметр.КодМП)
|
||||||
|
И Параметр.КодМП <> "Не определен" Тогда
|
||||||
структураПоиска.Вставить("КодМП", Параметр.КодМП);
|
структураПоиска.Вставить("КодМП", Параметр.КодМП);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
если Параметр.Свойство("ШтрихкодПоставки") Тогда
|
если Параметр.Свойство("ШтрихкодПоставки") И ЗначениеЗаполнено(Параметр.ШтрихкодПоставки) Тогда
|
||||||
структураПоиска.Вставить("ШтрихкодПоставки", Параметр.ШтрихкодПоставки);
|
структураПоиска.Вставить("ШтрихкодПоставки", Параметр.ШтрихкодПоставки);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
структураПоиска.Вставить("КарточкаМП", Параметр.Номенклатура);
|
структураПоиска.Вставить("КарточкаМП", Параметр.Номенклатура);
|
||||||
тов=ТоварыВирт.НайтиСтроки(структураПоиска);
|
тов=ТоварыВирт.НайтиСтроки(структураПоиска);
|
||||||
Если тов <> неопределено И тов.Количество() > 0 Тогда
|
Если тов <> неопределено И тов.Количество() > 0 Тогда
|
||||||
Для каждого элемент из тов цикл
|
Для каждого элемент из тов цикл
|
||||||
если элемент.Отсканировано = элемент.количество Тогда Продолжить; КонецЕсли;
|
если элемент.Отсканировано >= элемент.Количество Тогда Продолжить; КонецЕсли;
|
||||||
тов[0].Отсканировано= тов[0].Отсканировано + 1;
|
элемент.Отсканировано = элемент.Отсканировано + 1;
|
||||||
если Параметр.Свойство("КодМаркировки") И ЗначениеЗаполнено(Параметр.КодМаркировки)
|
если Параметр.Свойство("КодМаркировки") И ЗначениеЗаполнено(Параметр.КодМаркировки)
|
||||||
И Параметр.КодМаркировки <> "-" Тогда
|
И Параметр.КодМаркировки <> "-" Тогда
|
||||||
тов[0].МаркаСтрока = Параметр.КодМаркировки;
|
элемент.МаркаСтрока = Параметр.КодМаркировки;
|
||||||
тов[0].МаркаПредставление = ПредставлениеКодаМаркировки(Параметр.КодМаркировки);
|
элемент.МаркаПредставление = ПредставлениеКодаМаркировки(Параметр.КодМаркировки);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Элементы.ТоварыВиртНаФорме.ТекущаяСтрока = тов[0].ПолучитьИдентификатор();
|
Элементы.ТоварыВиртНаФорме.ТекущаяСтрока = элемент.ПолучитьИдентификатор();
|
||||||
ФайлЗвука = ПолучитьАдресФайла("ок");
|
ФайлЗвука = ПолучитьАдресФайла("ок");
|
||||||
#Если МобильноеПриложениеКлиент Тогда
|
#Если МобильноеПриложениеКлиент Тогда
|
||||||
СредстваМультимедиа.ВоспроизвестиАудио(ФайлЗвука);
|
СредстваМультимедиа.ВоспроизвестиАудио(ФайлЗвука);
|
||||||
#КонецЕсли
|
#КонецЕсли
|
||||||
|
Прервать;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
Иначе
|
||||||
|
Сообщить("Не удалось обновить строку товара в документе");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ИначеЕсли ИмяСобытия="НЕнашлиТоварВПоставке" Тогда
|
ИначеЕсли ИмяСобытия="НЕнашлиТоварВПоставке" Тогда
|
||||||
Сообщить("Нет соотвествия товара и поставки в данном документе!");
|
Сообщить("Нет соотвествия товара и поставки в данном документе!");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user