Yaguar

ГрупповоеСвязывание 7.7

Oct 17th, 2018
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.84 KB | None | 0 0
  1. //Смирнов INTS-10829
  2. Процедура ГрупповоеСвязывание()
  3.  
  4. ТабличноеПолеЖурнала.ВыбратьСтроки();
  5.  
  6. Пока ТабличноеПолеЖурнала.ПолучитьСтроку() = 1 Цикл
  7.  
  8. Если (ТабличноеПолеЖурнала.Выбран <> "+") Тогда
  9. Продолжить;
  10. ИначеЕсли (ТабличноеПолеЖурнала.ТипДокумента = "Заказ") Тогда
  11. ИскомыйДокумент = "Реализация";
  12. ИначеЕсли (ТабличноеПолеЖурнала.ТипДокумента = "Уведомление об отгрузке") Тогда
  13. ИскомыйДокумент = "DESADV";
  14. ИначеЕсли (ТабличноеПолеЖурнала.ТипДокумента = "Уведомление о приёмке") Тогда
  15. ИскомыйДокумент = "RECADV";
  16. КонецЕсли;
  17.  
  18. ОбъектДокумент = ExCon.GetDocument(Строка(ТабличноеПолеЖурнала.DocId));
  19. Если ИскомыйДокумент = "Реализация" Тогда
  20.  
  21.  
  22. Если ПустоеЗначение(ОбъектДокумент.Info) = 0 Тогда
  23.  
  24. Попытка
  25. Документ1С = ЗначениеИзСтрокиВнутр(ОбъектДокумент.Info);
  26. Исключение
  27. //
  28. Результат = "Не найден документ в 1С";
  29. ИсходныйДокумент = Врег(СокрЛП(ТабличноеПолеЖурнала.ТипДокумента)) + " №" + СокрЛП(ТабличноеПолеЖурнала.НомерДокумента) + " от " + СокрЛП(ТабличноеПолеЖурнала.ДатаДокумента);
  30. //НомДок = НомДок + 1;
  31. //ТабДокумент.ВывестиСекцию("Строка|Основная");
  32. //ТабДокумент.ПрисоединитьСекцию("Строка|ЕДИДок");
  33. //
  34. Продолжить;
  35. КонецПопытки;
  36.  
  37. Если Документ1С.Выбран() = 0 Тогда
  38. Продолжить;
  39. КонецЕсли;
  40. Иначе
  41. //
  42. Результат = "Не создан документ в 1С";
  43. ИсходныйДокумент = Врег(СокрЛП(ТабличноеПолеЖурнала.ТипДокумента)) + " №" + СокрЛП(ТабличноеПолеЖурнала.НомерДокумента) + " от " + СокрЛП(ТабличноеПолеЖурнала.ДатаДокумента);
  44. //НомДок = НомДок + 1;
  45. //ТабДокумент.ВывестиСекцию("Строка|Основная");
  46. //ТабДокумент.ПрисоединитьСекцию("Строка|ЕДИДок");
  47. //
  48. Продолжить;
  49. КонецЕсли;
  50.  
  51. СсылкаВСтроке = ЗначениеВСтрокуВнутр(Документ1С);
  52. DocId = ТабличноеПолеЖурнала.DocId;
  53. ПризнакДокуменита = "Реализация_1С";
  54. Если ОтсутствуетВИерархии(СсылкаВСтроке) = 1 Тогда
  55. ЗаписатьВТаблицуИерархии(СсылкаВСтроке, DocId, ПризнакДокуменита, 0);
  56. Иначе
  57. Попытка
  58. ExCon.DeleteDocumentFromTabDocRelations(СсылкаВСтроке, DocId);
  59. Исключение
  60. КонецПопытки;
  61.  
  62. ЗаписатьВТаблицуИерархии(СсылкаВСтроке, DocId, ПризнакДокуменита, 0);
  63. КонецЕсли;
  64. ИначеЕсли (ИскомыйДокумент = "DESADV") ИЛИ (ИскомыйДокумент = "RECADV") Тогда
  65. Если ОтсутствуетВИерархии(ТабличноеПолеЖурнала.DocId) = 1 Тогда
  66. ОбъектДокументструктура = ОбъектДокумент;
  67. ОткрытьФормуМодально("Отчет", ОбъектДокументструктура, ПутьКОбработке + "\Parsing.ert");
  68. ДокументЗаказ = 0;
  69. Попытка
  70. ЗаказНом = ОбъектДокументструктура.получить("Шапка").Получить("НомерЗаказа");
  71. GLNАдресаДоставки = ОбъектДокументструктура.получить("Шапка").Получить("GLNАдресаДоставки");
  72. ДокументЗаказ = ExCon.GetDocumentByDocNumber(GLNАдресаДоставки, ЗаказНом);
  73. Исключение
  74. КонецПопытки;
  75. Если ДокументЗаказ <> 0 Тогда
  76. ТекстXML_родители = "<Document><ParentGUID>"+ДокументЗаказ.docid+"</ParentGUID>";
  77. //ТекстXML_родители = ТекстXML_родители +"<RelationGUID>"+МсПолученныхДок[0].docid+"</RelationGUID>";
  78. ТекстXML_родители = ТекстXML_родители+"</Document>";
  79. Попытка
  80. ExCon.DeleteDocumentFromTabDocRelations(ТабличноеПолеЖурнала.DocId);
  81. Исключение
  82. КонецПопытки;
  83. Если ИскомыйДокумент = "DESADV" Тогда
  84. РезОК = ExCon.AddDocumentToDocRelations(ТабличноеПолеЖурнала.DocId,"DESADV",ТекстXML_родители);
  85. ИначеЕсли ИскомыйДокумент = "RECADV" Тогда
  86. РезОК = ExCon.AddDocumentToDocRelations(ТабличноеПолеЖурнала.DocId,"RECADV",ТекстXML_родители);
  87. КонецЕсли;
  88. КонецЕсли;
  89. КонецЕсли;
  90. КонецЕсли;
  91.  
  92. КонецЦикла;
  93.  
  94.  
  95. КонецПроцедуры
Add Comment
Please, Sign In to add comment