Advertisement
Yaguar

Untitled

May 4th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.68 KB | None | 0 0
  1. Если НомерСтроки<>Неопределено Тогда //данные строки
  2. текСтрока = Док.Товары[НомерСтроки-1]; //номер строки уменьшаем на единицу, т.к. обращение индексное
  3. ХарактеристикаНоменклатуры = ?(текСтрока.ХарактеристикаНоменклатуры.Пустая(), Null, ЗначениеВСтрокуВнутр(текСтрока.ХарактеристикаНоменклатуры));
  4. КачествоНоменклатуры = ?(текСтрока.Качество.Пустая(), Null, ЗначениеВСтрокуВнутр(текСтрока.Качество));
  5. Номенклатура_EDI = Адаптер.Центр.ExCon.GetNomenCommon(ЗначениеВСтрокуВнутр(Док.Организация), ЗначениеВСтрокуВнутр(Док.Контрагент), ЗначениеВСтрокуВнутр(текСтрока.Номенклатура),
  6. ХарактеристикаНоменклатуры, КачествоНоменклатуры); //(OrgLink1C, KontrLink1C, NomenLink1C, SpecLink1C, QualityLink1C)
  7. Если Номенклатура_EDI = Неопределено Тогда //Смирнов HELPDESK-344061 находим аналоги
  8. Попытка
  9. ПартнерEDI = Адаптер.Центр.ExCon.GetPartner(ДокументCom.mGLN, ДокументCom.PartnerIln);
  10. Аналог_EDI = ПартнерEDI.GetAnalogueBy1c(ЗначениеВСтрокуВнутр(текСтрока.Номенклатура), ХарактеристикаНоменклатуры, КачествоНоменклатуры);
  11. Номенклатура_EDI = ПартнерEDI.GetNomenByind(Аналог_EDI.NomenID);
  12. Исключение
  13. Сообщить(ОписаниеОшибки());
  14. КонецПопытки;
  15. КонецЕсли;
  16. Если Номенклатура_EDI<> Неопределено Тогда
  17. Номенклатура_EDI_EAN = Номенклатура_EDI.EAN;
  18. КонецЕсли;
  19. Конецесли;
  20.  
  21. Если ВРЕГ(Представление) = "ШТРИХКОД" Тогда
  22. Значение = Номенклатура_EDI_EAN;
  23. Иначе //Читаем из документа
  24. Если XMLТекстДокумента <> Неопределено Тогда
  25. ЧтениеXML = Новый ЧтениеXML;
  26. ЧтениеXML.УстановитьСтроку(XMLТекстДокумента);
  27. ПостроительДОМ = Новый ПостроительDOM;
  28. ДокументДОМ = ПостроительДОМ.Прочитать(ЧтениеXML);
  29. РазыменовательПИ = ДокументДОМ.СоздатьРазыменовательПИ(ДокументДОМ);
  30.  
  31. Если Номенклатура_EDI_EAN<>"" Тогда
  32. XPathдляЗагрузки = СтрЗаменить(XPathдляЗагрузки, "@ПодстрокаЗамены", Номенклатура_EDI_EAN);
  33. КонецЕсли;
  34. XPathВыражение = ДокументДОМ.СоздатьВыражениеXPath(XPathдляЗагрузки, РазыменовательПИ);
  35. НайденныеУзлы = XPathВыражение.Вычислить(ДокументДОМ);
  36. //Попова 20170825 Нб
  37. Если НайденныеУзлы.ТипРезультата = ТипРезультатаDOMXPath.НеупорядоченныйИтераторУзлов Тогда //Инфополя
  38. УзелИнфоПоля = НайденныеУзлы.ПолучитьСледующий();
  39. Если УзелИнфоПоля<>Неопределено Тогда
  40. Значение = УзелИнфоПоля.ТекстовоеСодержимое;
  41. КонецЕсли;
  42. Иначе //Настройки организации
  43. Значение = НайденныеУзлы.СтроковоеЗначение;
  44. КонецЕсли;
  45. Если ВРЕГ(Представление) = "КОД ТОВАРА В УЧЁТНОЙ СИСТЕМЕ ПОКУПАТЕЛЯ" Тогда //Смирнов HELPDESK-344061 для случая, если в реализации подменяется номенклатура(не аналог)
  46. Если (Значение = "") И (ТипЗнч(Аналог_EDI) = Тип("COMОбъект")) Тогда
  47. Значение = Номенклатура_EDI.Codb;
  48. КонецЕсли;
  49. КонецЕсли;
  50. КонецЕсли;
  51. КонецЕсли;//Попова 20170623 Кб
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement