Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Если НомерСтроки<>Неопределено Тогда //данные строки
- текСтрока = Док.Товары[НомерСтроки-1]; //номер строки уменьшаем на единицу, т.к. обращение индексное
- ХарактеристикаНоменклатуры = ?(текСтрока.ХарактеристикаНоменклатуры.Пустая(), Null, ЗначениеВСтрокуВнутр(текСтрока.ХарактеристикаНоменклатуры));
- КачествоНоменклатуры = ?(текСтрока.Качество.Пустая(), Null, ЗначениеВСтрокуВнутр(текСтрока.Качество));
- Номенклатура_EDI = Адаптер.Центр.ExCon.GetNomenCommon(ЗначениеВСтрокуВнутр(Док.Организация), ЗначениеВСтрокуВнутр(Док.Контрагент), ЗначениеВСтрокуВнутр(текСтрока.Номенклатура),
- ХарактеристикаНоменклатуры, КачествоНоменклатуры); //(OrgLink1C, KontrLink1C, NomenLink1C, SpecLink1C, QualityLink1C)
- Если Номенклатура_EDI = Неопределено Тогда //Смирнов HELPDESK-344061 находим аналоги
- Попытка
- ПартнерEDI = Адаптер.Центр.ExCon.GetPartner(ДокументCom.mGLN, ДокументCom.PartnerIln);
- Аналог_EDI = ПартнерEDI.GetAnalogueBy1c(ЗначениеВСтрокуВнутр(текСтрока.Номенклатура), ХарактеристикаНоменклатуры, КачествоНоменклатуры);
- Номенклатура_EDI = ПартнерEDI.GetNomenByind(Аналог_EDI.NomenID);
- Исключение
- Сообщить(ОписаниеОшибки());
- КонецПопытки;
- КонецЕсли;
- Если Номенклатура_EDI<> Неопределено Тогда
- Номенклатура_EDI_EAN = Номенклатура_EDI.EAN;
- КонецЕсли;
- Конецесли;
- Если ВРЕГ(Представление) = "ШТРИХКОД" Тогда
- Значение = Номенклатура_EDI_EAN;
- Иначе //Читаем из документа
- Если XMLТекстДокумента <> Неопределено Тогда
- ЧтениеXML = Новый ЧтениеXML;
- ЧтениеXML.УстановитьСтроку(XMLТекстДокумента);
- ПостроительДОМ = Новый ПостроительDOM;
- ДокументДОМ = ПостроительДОМ.Прочитать(ЧтениеXML);
- РазыменовательПИ = ДокументДОМ.СоздатьРазыменовательПИ(ДокументДОМ);
- Если Номенклатура_EDI_EAN<>"" Тогда
- XPathдляЗагрузки = СтрЗаменить(XPathдляЗагрузки, "@ПодстрокаЗамены", Номенклатура_EDI_EAN);
- КонецЕсли;
- XPathВыражение = ДокументДОМ.СоздатьВыражениеXPath(XPathдляЗагрузки, РазыменовательПИ);
- НайденныеУзлы = XPathВыражение.Вычислить(ДокументДОМ);
- //Попова 20170825 Нб
- Если НайденныеУзлы.ТипРезультата = ТипРезультатаDOMXPath.НеупорядоченныйИтераторУзлов Тогда //Инфополя
- УзелИнфоПоля = НайденныеУзлы.ПолучитьСледующий();
- Если УзелИнфоПоля<>Неопределено Тогда
- Значение = УзелИнфоПоля.ТекстовоеСодержимое;
- КонецЕсли;
- Иначе //Настройки организации
- Значение = НайденныеУзлы.СтроковоеЗначение;
- КонецЕсли;
- Если ВРЕГ(Представление) = "КОД ТОВАРА В УЧЁТНОЙ СИСТЕМЕ ПОКУПАТЕЛЯ" Тогда //Смирнов HELPDESK-344061 для случая, если в реализации подменяется номенклатура(не аналог)
- Если (Значение = "") И (ТипЗнч(Аналог_EDI) = Тип("COMОбъект")) Тогда
- Значение = Номенклатура_EDI.Codb;
- КонецЕсли;
- КонецЕсли;
- КонецЕсли;
- КонецЕсли;//Попова 20170623 Кб
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement