Пример #1
0
        public static void FillData(WordprocessingDocument Certificate, ScriptClassBase CardScript, ObjectContext Context,
                                    CardData DeviceCard, string ClientName, DateTime CalibrationDate, List <CardData> AdditionalWaresList, DateTime StartDateOfService, DateTime StartDateOfCalibration)
        {
            // Формирование сертификата
            Guid   DeviceTypeID   = DeviceCard.Sections[CardOrd.Properties.ID].FindRow("@Name = 'Прибор'").GetString(CardOrd.Properties.Value).ToGuid();
            string DeviceTypeName = ApplicationCard.UniversalCard.GetItemName(DeviceTypeID);
            string DeviceNumber   = DeviceCard.GetDeviceNumber();

            DeviceNumber = DeviceNumber.Contains("/") == true?DeviceNumber.Replace("/", " (") + " г)" : DeviceNumber;

            string DeviceNumber2;

            switch (DeviceTypeName)
            {
            case "ПКР-2М":
                DeviceNumber  = "ПКР-2" + " № " + DeviceNumber;
                DeviceNumber2 = "";
                break;

            case "ПКВ/У3.0-01":
                DeviceNumber  = "ПКВ/У3.0" + " № " + DeviceNumber;
                DeviceNumber2 = "";
                break;

            case "ТК-026":
                DeviceNumber  = " № " + DeviceNumber;
                DeviceNumber2 = "(для ПКВ/М7)";
                break;

            case "ТК-021":
                DeviceNumber  = " № " + DeviceNumber;
                DeviceNumber2 = "(для ПКВ/У3)";
                break;

            default:
                DeviceNumber  = DeviceTypeName + " № " + DeviceNumber;
                DeviceNumber2 = "";
                break;
            }
            // Данные для заполнения закладочных полей
            string FullDeviceType        = ApplicationCard.UniversalCard.GetItemPropertyValue(DeviceTypeID, "Полное название").ToString();
            string ReceiptDateString     = StartDateOfCalibration.ToLongDateString();
            string CalibrationDateString = CalibrationDate.ToLongDateString();
            string CalibrationMethods    = ApplicationCard.UniversalCard.GetItemPropertyValue(DeviceTypeID, "Методика поверки").ToString();
            //string CalibrationMeans = ApplicationCard.UniversalCard.GetItemPropertyValue(DeviceTypeID, "Средства калибровки").ToString();
            string CalibrationMeans = CalibrationLib.GetListOfMeasures(CardScript.Session, DeviceTypeID, true, false) + ".";
            // Условия калибровки
            string Temperature;
            string Humidity;
            string AtmospherePressure;

            CalibrationLib.GetCalibrationConditions(CardScript.Session, Context, CalibrationDate, out Temperature, out Humidity, out AtmospherePressure);
            // Заполнение закладочный полей
            FillBookmarks(Certificate, FullDeviceType, DeviceNumber, DeviceNumber2, ReceiptDateString, ClientName, CalibrationDateString, CalibrationMethods, Temperature,
                          Humidity, AtmospherePressure, CalibrationMeans);
            //** Заполнение данных о метрологических характеристиках **//
            // Добавление заголовка
            AddTitle(Certificate);
            // Добавление таблицы метрологических характеристик прибора
            TablesCreator Creator = new TablesCreator();

            AddDeviceTables(Certificate, CardScript.Session, Creator, DeviceTypeName, DeviceCard, StartDateOfService);
            // Добавление таблиц метрологических характеристик датчиков
            if (AdditionalWaresList != null)
            {
                foreach (CardData Ware in AdditionalWaresList)
                {
                    Guid   WareTypeID   = Ware.Sections[CardOrd.Properties.ID].FindRow("@Name = 'Прибор'").GetString(CardOrd.Properties.Value).ToGuid();
                    string WareTypeName = ApplicationCard.UniversalCard.GetItemName(WareTypeID);
                    if (CalibrationLib.SensorsList.Any(r => r == WareTypeName))
                    {
                        string WareNumber = Ware.GetDeviceNumber();
                        AddSensorTables(Certificate, CardScript.Session, Creator, WareTypeName, WareNumber, Ware, StartDateOfService);
                    }
                }
            }
            // Добавление дополнительных данных
            AddAdditionalTables(Certificate, Creator, DeviceTypeName);
            return;
        }