private ObjectId GetDicPlugin(bool create) { // Словарь объекта var idDboDic = ExtDicHelper.GetDboExtDic(dbo, create); // Словарь ПИК var idDicPik = ExtDicHelper.GetDic(idDboDic, ExtDicHelper.PikApp, create, false); // Словарь плагина var idDicPlugin = ExtDicHelper.GetDic(idDicPik, pluginName, create, false); var res = idDicPlugin; return(res); }
/// <summary> /// Удаление словаря из объекта /// </summary> public void Delete([CanBeNull] string dicName = null) { var dicId = GetDicPlugin(false); if (!string.IsNullOrEmpty(dicName)) { // Проверить. Если в словаре объекта есть только удаляемый словарь по имени, то удалить весь словарь объекта var dicDbo = ExtDicHelper.GetDicEd(dicId); var dicDelete = dicDbo?.GetInner(dicName); if (dicDelete != null) { if (dicDbo.Inners.Count != 1 || dicDbo.Recs.Any()) { // Удаление только словаря с этим именем dicId = ExtDicHelper.GetDic(dicId, dicName, false, false); } } } // Удаление словаря ExtDicHelper.DeleteDic(dicId, dbo); }