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; }
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; }