public void Execute(ProcessInfo process, PassState passInfo)
        {
            Dictionary <int, int> pages = new Dictionary <int, int>();

            pages.Add(1, 0);        // pages =0   hour =0
            pages.Add(6, 8);        // pages <5   hour =8
            pages.Add(21, 16);      // pages <=20 hour =16
            pages.Add(200, 24);     // pages >20  hour =24
            try
            {
                ProcessVariable doc       = process.GetVariableByName("Документ");
                ProcessVariable count     = process.GetVariableByName("Общее кол-во листов");
                ProcessVariable hours     = process.GetVariableByName("Срок исполнения задания");
                DVCard          _doc      = (DVCard)doc.Value;
                CardData        cardData  = process.Session.CardManager.GetCardData(new Guid(_doc.ID));
                RowData         row       = cardData.Sections[cardData.Type.Sections["СвойстваСтруктура"].Id].FirstRow;
                int             countPage = row.GetInt32("КоличествоЛистов").HasValue ? row.GetInt32("КоличествоЛистов").Value : 0;
                int             countApp  = row.GetInt32("ВПриложении").HasValue ? row.GetInt32("ВПриложении").Value : 0;
                count.Value = countPage + countApp;
                hours.Value = pages.Where(s => s.Key > (int)count.Value).Select(s => s.Value).Min();
                //var message=string.Format("Общее кол {0}, срок согласования {1} ч.", count.Value, hours.Value);

                //ListHours
                ProcessVariable listHours = process.GetVariableByName("ListHours");
                process.LogMessage("Кол" + listHours.Values.Count.ToString());
                process.LogMessage(listHours.GetType().Name);

                process.LogMessage("Кол listHours.VarEnumValues.Count" + listHours.VarEnumValues.Count.ToString());
                process.LogMessage("listHours.Values");
                for (int i = 0; i < listHours.Values.Count; i++)
                {
                    var value = listHours.Values[i];
                    process.LogMessage(value.GetType().Name);
                    process.LogMessage(value.Key.ToString());
                    process.LogMessage(value.Value.ToString());
                    //pages.Add((int)value.Key,(int)value.Value);
                }
                process.LogMessage("listHours.VarEnumValues");
                process.LogMessage(listHours.VarEnumValues.Keys.Count.ToString());
                //for (int i = 0; i < listHours.VarEnumValues.Count; i++)
                //{
                //	process.LogMessage(listHours.VarEnumValues[i].GetType().Name );
                //	process.LogMessage(listHours.VarEnumValues[i].NumValue.ToString());
                //	process.LogMessage(listHours.VarEnumValues[i].Value.ToString());
                //}
            }
            catch (Exception ex)
            {
                process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);
            }
            return;
        }
Exemple #2
0
        public void Execute(ProcessInfo process, PassState passInfo, DocsVision.Platform.ObjectModel.ObjectContext objectContext)
        {
            try
            {
                #region Переменный БП
                ProcessVariable doc    = process.GetVariableByName("Документ");
                DVCard          _doc   = (DVCard)doc.Value;
                Guid            idCard = new Guid(_doc.ID);

                ProcessVariable listEmploeesApproval = process.GetVariableByName("Согласующие лица");
                var             c = listEmploeesApproval.Values.Values;
                #endregion
                Document          document        = objectContext.GetObject <Document>(idCard);
                var               cardKind        = document.SystemInfo.CardKind;
                var               result          = (((BaseCardSectionRow)document.GetSection(new Guid("{B13955FD-3202-44D1-92BD-6B0F6878385F}"))[0])["ВидДокумента"]);
                var               subKindDocument = (((BaseCardSectionRow)document.GetSection(new Guid("{B13955FD-3202-44D1-92BD-6B0F6878385F}"))[0]).GetGuid("ВидДокумента"));
                BaseUniversalItem itemCard        = objectContext.GetObject <BaseUniversalItem>(subKindDocument);
            }
            catch (Exception ex)
            {
                process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);
            }
            return;
        }