private bool FoundIDDorID(string IDDorID, bool ThisID) { FID = null; string prefix = "Спр." + TypeObj + "."; Dictionary <string, object> DataMap; List <string> FieldList = new List <string>(); FieldList.Add("ID"); FieldList.Add("ISMARK"); if (HaveName) { FieldList.Add("DESCR"); } if (HaveCode) { FieldList.Add("CODE"); } if (!ThisID) { FieldList.Add(prefix + "IDD"); } int ServCount = FieldList.Count; //Количество сервисных полей SS.AddKnownAttributes(prefix, ref FieldList); if (!SS.GetSCData(IDDorID, TypeObj, FieldList, out DataMap, ThisID)) { return(false); } FID = DataMap["ID"].ToString(); FIsMark = (bool)DataMap["ISMARK"]; FCode = HaveCode ? DataMap["CODE"].ToString() : null; FName = HaveName ? DataMap["DESCR"].ToString().Trim() : null; //Добавляем оставшиеся поля в словарик for (int i = ServCount + 1; i < FieldList.Count; i++) { Attributes[FieldList[i].Substring(prefix.Length)] = DataMap[FieldList[i]]; } return(true); }