Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.10 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Text.RegularExpressions;
  6. using Comindware.Data.Entity;
  7. using Comindware.TeamNetwork.Api.Data.UserCommands;
  8. using System.IO;
  9. using System.Data;
  10.  
  11. class Script
  12. {
  13.     public static UserCommandResult Main(UserCommandContext userCommandContext, Comindware.Entities entities)
  14.     {
  15.         var CurrentObjectid = userCommandContext.ObjectIds[0];
  16.         var CurrentObjectData = Api.TeamNetwork.ObjectService.Get(CurrentObjectid);
  17.         var ObrazecId = CurrentObjectData["op.114"].ToString();
  18.         var ObrazecData = Api.TeamNetwork.ObjectService.Get(ObrazecId);
  19.         var ObrazecCollectionArray = ObrazecData["op.126"] as object[];
  20.         var Nomerzayavki12Id = ObrazecData["op.123"].ToString();
  21.         var Nomerzayavki12Data = Api.TeamNetwork.ObjectService.Get(Nomerzayavki12Id);
  22.         
  23.         var stringOutputList = new List<Obrazetsispytanie>();
  24.  
  25.        //коллекция
  26.         foreach (var collectionElement in ObrazecCollectionArray)
  27.         {
  28.             var collectionElementId = collectionElement.ToString();
  29.             var collectionElementData = Api.TeamNetwork.ObjectService.Get(collectionElementId);
  30.             var EquipmentId = collectionElementData["op.153"].ToString();
  31.             var EquipmentData = Api.TeamNetwork.ObjectService.Get(EquipmentId);
  32.             var NaimenovanieId = collectionElementData["op.186"].ToString();
  33.             var NaimenovanieData = Api.TeamNetwork.ObjectService.Get(NaimenovanieId);
  34.             
  35.             var temp = new Obrazetsispytanie
  36.             {
  37.                 Naimenovaniepokazatelya3 = NaimenovanieData["op.187"].ToString(),
  38.                 Fakticheskoeznachenie = collectionElementData["op.58"].ToString(),
  39.                 Oborudovanie1 = EquipmentData["op.149"].ToString(),
  40.             };
  41.  
  42.             stringOutputList.Add(temp);
  43.         }
  44.  
  45.  
  46.         var NaimenovanieZakazchikaId = Nomerzayavki12Data["op.28"].ToString();
  47.         var NaimenovanieZakazchikaData = Api.TeamNetwork.ObjectService.Get(NaimenovanieZakazchikaId);
  48.         var Vidsoprovoddokumenta1Id = Nomerzayavki12Data["op.145"].ToString();
  49.         var Vidsoprovoddokumenta1Data = Api.TeamNetwork.ObjectService.Get(Vidsoprovoddokumenta1Id);
  50.         var OtborproizvedenvsootvetstviisId = Nomerzayavki12Data["op.48"].ToString();
  51.         var OtborproizvedenvsootvetstviisData = Api.TeamNetwork.ObjectService.Get(OtborproizvedenvsootvetstviisId);
  52.         
  53.         var Nomerzayavki12ToAdd = new Nomerzayavki12
  54.         {
  55.             name = NaimenovanieZakazchikaData["op.65"].ToString(),
  56.             Otborproizvedenvsootvetstviis = OtborproizvedenvsootvetstviisData["op.110"].ToString(),
  57.             Usloviyatransportirovki = Nomerzayavki12Data["op.50"].ToString(),
  58.             Vidsoprovoddokumenta1 = Vidsoprovoddokumenta1Data["op.144"].ToString(),
  59.             soprovoditelnyydokumentnomer = Nomerzayavki12Data["op.46"].ToString(),
  60.             Soprovoditelnyydokumentdata = Nomerzayavki12Data["op.47"].ToString(),
  61.         };
  62.  
  63.  
  64.         var ObrazecToAdd = new Obrazec
  65.         {
  66.             Nomerobraztsa = ObrazecData["op.176"].ToString(),
  67.             Naimenovanieobraztsa = ObrazecData["op.39"].ToString(),
  68.             Dataotbora = ObrazecData["op.45"].ToString(),
  69.             Nomerzayavki12Positions = Nomerzayavki12ToAdd,
  70.             ObrazetsispytaniePositions = stringOutputList,
  71.         };
  72.         
  73.         var OtvetstvennyyId = CurrentObjectData["op.79"].ToString();
  74.         var OtvetstvennyyData = Api.TeamNetwork.ObjectService.Get(OtvetstvennyyId);
  75.         
  76.         var dataToExport = new Nomer
  77.         {
  78.             Nomerprotokola = CurrentObjectData["op.175"].ToString(),
  79.             Dataprotokola = CurrentObjectData["op.76"].ToString(),
  80.             Datanachalaprovedeniyaissledovaniy = CurrentObjectData["op.77"].ToString(),
  81.             Dataokonchaniyaprovedeniyaissledovaniy = CurrentObjectData["op.78"].ToString(),
  82.             Otvetstvennyy = OtvetstvennyyData["op.192"].ToString(),
  83.             ObrazecPositions = ObrazecToAdd
  84.         };
  85.          
  86.         var res=Api.TeamNetwork.ObjectAppExportService.ExecuteWordExportTemplate(userCommandContext.DocumentTemplateId,dataToExport,true);
  87.  
  88.         var result = new UserCommandResult
  89.         {
  90.             Success = true,
  91.             Commited = true,
  92.             File=new UserCommandFileResult(){
  93.                 Content=res,
  94.                 Name = userCommandContext.ExportAsPdf ?userCommandContext.FileName + ".pdf" : userCommandContext.FileName + ".docx",
  95.                 Type = userCommandContext.ExportAsPdf ? "PDF" : "Word"
  96.             },
  97.             ResultType = UserCommandResultType.Notificate,
  98.             Messages = new[]
  99.             {
  100.                 new UserCommandMessage
  101.                 {
  102.                     Severity = SeverityLevel.Normal,
  103.                     Text = "Документ успешно выгружен"
  104.                 }
  105.             }
  106.         };
  107.  
  108.         return result;
  109.     }
  110.  
  111. }
  112.  
  113. //Модель данных
  114. public class Nomer
  115. {
  116.         public string Nomerprotokola {get; set;}    
  117.         public string Dataprotokola { get; set; }
  118.         public string Datanachalaprovedeniyaissledovaniy { get; set; }
  119.         public string Dataokonchaniyaprovedeniyaissledovaniy { get; set; }
  120.         public string Otvetstvennyy { get; set; }
  121.         public Obrazec ObrazecPositions { get; set; }
  122.     }
  123.  
  124.  
  125.     public class Obrazec
  126.     {
  127.         public string Nomerobraztsa { get; set; }
  128.         public string Naimenovanieobraztsa { get; set; }
  129.         public string Dataotbora { get; set; }
  130.         public Nomerzayavki12 Nomerzayavki12Positions { get; set; }
  131.         public List<Obrazetsispytanie> ObrazetsispytaniePositions { get; set; }
  132.     }
  133.  
  134.     public class Nomerzayavki12
  135.     {
  136.         public string name { get; set; }
  137.         public string Otborproizvedenvsootvetstviis { get; set; }
  138.         public string Usloviyatransportirovki { get; set; }
  139.         public string Vidsoprovoddokumenta1 { get; set; }
  140.         public string soprovoditelnyydokumentnomer { get; set; }
  141.         public string Soprovoditelnyydokumentdata { get; set; }
  142.     }
  143.    
  144.     public class Obrazetsispytanie
  145.     {
  146.         public string Naimenovaniepokazatelya3 { get; set; }
  147.         public string Fakticheskoeznachenie { get; set; }
  148.         public string Oborudovanie1 { get; set; }
  149.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement