static void AddDeviceTables(WordprocessingDocument Protocol, UserSession Session, TablesCreator Creator, string DeviceType, CardData DeviceCard,
                                    DateTime StartDateOfService)
        {
            // Определение точек вставки таблиц для протоколов поверки разных типов приборов
            IEnumerable <VerificationProtocolTableLook> TablesCollection = Creator.VerifyProtokolDeviceTablesCollection.Where(r => r.DeviceTypes.Any(s => s == DeviceType));

            if (TablesCollection.Count() > 0)
            {
                OpenXmlElement IncertElement = Protocol.GetTable("Заключение:").ElementsBefore().Last();
                switch (DeviceType)
                {
                case "ПКВ/М7":
                    IncertElement = Protocol.GetTable("Определение основной абсолютной погрешности измерений интервалов времени").ElementsBefore().Last();
                    break;

                case "ПКВ/У3.0":
                    IncertElement = Protocol.GetTable("Определение основной абсолютной погрешности измерений интервалов времени").ElementsBefore().Last();
                    break;

                case "ПКВ/У3.1":
                    IncertElement = Protocol.GetTable("Определение основной абсолютной погрешности измерений интервалов времени").ElementsBefore().Last();
                    break;

                case "ПКВ/У3.0-01":
                    IncertElement = Protocol.GetTable("Определение основной абсолютной погрешности измерений интервалов времени").ElementsBefore().Last();
                    break;

                /*case "МИКО-2.2":
                 *  IncertElement = Protocol.GetTable("Определение метрологических характеристик").ElementsAfter().First();
                 *  break;
                 * case "МИКО-2.3":
                 *  IncertElement = Protocol.GetTable("Определение метрологических характеристик").ElementsAfter().First();
                 *  break;*/
                case "МИКО-7":
                    IncertElement = Protocol.GetTable("7. Проверка ограничения выходной мощности").ElementsBefore().Last();
                    break;

                    /*case "МИКО-21":
                     *  IncertElement = Protocol.GetTable("Заключение:").ElementsAfter().First();
                     *  break;*/
                }
                //OpenXmlElement IncertElement = Protocol.GetTable("Определение основной абсолютной погрешности измерений силы постоянного электрического тока каналами ВКЛ и ОТКЛ силового коммутатора").ElementsAfter().First();
                Dictionary <String, Table> TablesList = new Dictionary <String, Table>();
                foreach (VerificationProtocolTableLook CurrentTable in TablesCollection)
                {
                    //WordprocessingDocument ParentDocument;
                    string ParentDocumentPath = "";
                    switch (CurrentTable.ParentDocumentCategory)
                    {
                    case VerificationProtocolTableLook.DocumentCategory.AcceptanceTestingProtocol:
                        ParentDocumentPath = CalibrationLib.GetDocumentPath(Session, DeviceCard, CalibrationLib.AcceptanceTestingProtocolCategoryID);
                        break;

                    case VerificationProtocolTableLook.DocumentCategory.CalibrationProtocol:
                        ParentDocumentPath = CalibrationLib.GetDocumentPath(Session, DeviceCard, CalibrationLib.CalibrationProtocolCategoryID);
                        break;

                    case VerificationProtocolTableLook.DocumentCategory.MeasuringData:
                        ParentDocumentPath = CalibrationLib.GetDocumentPath(Session, DeviceCard, CalibrationLib.MeasuringDataCategoryID);
                        break;

                    default:
                        ParentDocumentPath = "";
                        break;
                    }

                    if (ParentDocumentPath.EndsWith(".docx"))
                    {
                        WordprocessingDocument ParentDocument = WordprocessingDocument.Open(ParentDocumentPath, true);

                        if (TablesList.Any(r => r.Key == CurrentTable.TableName))
                        {
                            CurrentTable.AdditionDeviceTable(ParentDocument, TablesList.First(r => r.Key == CurrentTable.TableName).Value);
                        }
                        else
                        {
                            TablesList.Add(CurrentTable.TableName, CurrentTable.GetDeviceTable(ParentDocument));
                        }

                        if (ParentDocument != null)
                        {
                            ParentDocument.Close();
                        }
                    }
                    if (ParentDocumentPath.EndsWith(".json"))
                    {
                        string     fileContent  = File.ReadAllText(ParentDocumentPath);
                        RootObject MeashureData = JsonConvert.DeserializeObject <RootObject>(fileContent);
                        TablesList.Add(CurrentTable.TableName, CurrentTable.GetDeviceTable(MeashureData));
                    }
                    File.Delete(ParentDocumentPath);
                }

                foreach (KeyValuePair <String, Table> T in TablesList)
                {
                    AddNewTable(Protocol, T.Value, IncertElement);
                }
            }
        }