Yaguar

при открытии паллеты

Apr 25th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.45 KB | None | 0 0
  1. Если ВидДока = "DESADV" Тогда
  2. СписокУпаковок = ПараметрыДока.Получить("СписокУпаковок");
  3. Если GLNКонтрагента = "4607075269996" Тогда//леруа
  4. Если СписокУпаковок.Количество() > 0 Тогда
  5. КроссДокинг = Истина;
  6. //Заполняем в шапке таблицу с упаковками
  7. Для каждого ТекСтрока из СписокУпаковок Цикл
  8. ВспСтр = ЭтаФорма.ТаблУпаковок.Добавить();
  9. НомерУпковки = Число(ТекСтрока.Значение.Получить("IDУпаковки"));
  10. ВспСтр.ОписаниеУпаковки = "Паллета " + НомерУпковки;
  11. ВспСтр.IDУпаковки = НомерУпковки;
  12. ВспСтр.УровеньУпаковки = ТекСтрока.Значение.Получить("IDРодителя");
  13. ВспСтр.ТипУпаковки = ТекСтрока.Значение.Получить("ТипУпаковки");
  14. ВспСтр.SSCC = ТекСтрока.Значение.Получить("SSCC");
  15. ВспСтр.GLNМестаДоставки = ТекСтрока.Значение.Получить("GLNМестаДоставки");
  16. ВспСтр.ВесУпаковки = ТекСтрока.Значение.Получить("ВесУпаковки");
  17. ВспСтр.ДлинаУпаковки = ТекСтрока.Значение.Получить("ДлинаУпаковки");
  18. ВспСтр.ШиринаУпаковки = ТекСтрока.Значение.Получить("ШиринаУпаковки");
  19. ВспСтр.ВысотаУпаковки = ТекСтрока.Значение.Получить("ВысотаУпаковки");
  20. КонецЦикла;
  21. //Заполняем в табличной части таблицу с ссылками на упаковку
  22. СписокТоваров = ПараметрыДока.Получить("СписокСтрок");
  23. Для каждого ТекТовар из СписокТоваров Цикл
  24. СписокСсылок = ТекТовар.Значение.Получить("СписокСсылокНаУпаковку");
  25. Для каждого ТекСсылка из СписокСсылок Цикл
  26. ВспСтр = ЭтотОбъект.ТаблСсылокНаУпаковку.Добавить();
  27. НомерУпаковки = Число(ТекСсылка.Значение.Получить("СсылкаНаУпаковку"));
  28. ВспСтр.IDУпаковки = НомерУпаковки;
  29. ВспСтр.Количество = Число(ТекСсылка.Значение.Получить("КоличествоУпакованное"));
  30. ВспСтр.EAN = ТекТовар.Значение.Получить("EAN");
  31. ВспСтр.ОписаниеУпаковки = ТаблУпаковок.Найти(НомерУпаковки,"IDУпаковки").ОписаниеУпаковки;
  32. ВспСтр.УровеньУпаковки = ТаблУпаковок.Найти(НомерУпаковки,"IDУпаковки").УровеньУпаковки;
  33. КонецЦикла;
  34. КонецЦикла;
  35. КонецЕсли;
  36. Иначе
  37. //При КРОСС ДОКИНГЕ упаковок больше 1 шт.
  38. //X5 CrossDok // НоваяСистема_Е2
  39. если не моЗначениеНеЗаполнено(СписокУпаковок) тогда
  40. Если СписокУпаковок.Количество() > 1 Тогда
  41. КроссДокинг = Истина;
  42. //Заполняем в шапке таблицу с упаковками
  43. Для каждого ТекСтрока из СписокУпаковок Цикл
  44. Если ТекСтрока.Значение.Получить("IDУпаковки") = "1" Тогда //ТП Макагонов 28.09.2009 - проверяем по ID, а не по порядку следования в XML
  45. Продолжить; //Пропускаем материнскую упаковку
  46. Иначе
  47. ВспСтр = ЭтаФорма.ТаблУпаковок.Добавить();
  48. НомерУпковки = Число(ТекСтрока.Значение.Получить("IDУпаковки"))-1;
  49. ВспСтр.ОписаниеУпаковки = "Паллета " + НомерУпковки;
  50. ВспСтр.IDУпаковки = НомерУпковки;
  51. ВспСтр.УровеньУпаковки = ТекСтрока.Значение.Получить("IDРодителя");
  52. ВспСтр.ТипУпаковки = ТекСтрока.Значение.Получить("ТипУпаковки");
  53. ВспСтр.SSCC = ТекСтрока.Значение.Получить("SSCC");
  54. ВспСтр.GLNМестаДоставки = ТекСтрока.Значение.Получить("GLNМестаДоставки");
  55. ВспСтр.ВесУпаковки = ТекСтрока.Значение.Получить("ВесУпаковки");
  56. ВспСтр.ДлинаУпаковки = ТекСтрока.Значение.Получить("ДлинаУпаковки");
  57. ВспСтр.ШиринаУпаковки = ТекСтрока.Значение.Получить("ШиринаУпаковки");
  58. ВспСтр.ВысотаУпаковки = ТекСтрока.Значение.Получить("ВысотаУпаковки");
  59. КонецЕсли;
  60. КонецЦикла;
  61. //Заполняем в табличной части таблицу с ссылками на упаковку
  62. СписокТоваров = ПараметрыДока.Получить("СписокСтрок");
  63. Для каждого ТекТовар из СписокТоваров Цикл
  64. СписокСсылок = ТекТовар.Значение.Получить("СписокСсылокНаУпаковку");
  65. Для каждого ТекСсылка из СписокСсылок Цикл
  66. ВспСтр = ЭтотОбъект.ТаблСсылокНаУпаковку.Добавить();
  67. НомерУпаковки = Число(ТекСсылка.Значение.Получить("СсылкаНаУпаковку"))-1;
  68. ВспСтр.IDУпаковки = НомерУпаковки;
  69. ВспСтр.Количество = Число(ТекСсылка.Значение.Получить("КоличествоУпакованное"));
  70. ВспСтр.EAN = ТекТовар.Значение.Получить("EAN");
  71. ВспСтр.ОписаниеУпаковки = ТаблУпаковок.Найти(НомерУпаковки,"IDУпаковки").ОписаниеУпаковки;
  72. ВспСтр.УровеньУпаковки = ТаблУпаковок.Найти(НомерУпаковки,"IDУпаковки").УровеньУпаковки;
  73. КонецЦикла;
  74. КонецЦикла;
  75. КонецЕсли;
  76. КонецЕсли;
  77. //X5 CrossDok // НоваяСистема_Е2
  78. КонецЕсли;
  79. КонецЕсли;
  80. //------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment