void SelectPlanName() { //проверим, все ли заполнено if (baseInfo.User == String.Empty) { MessageBox.Show("Не указанно имя пользователя"); return; } List <object> planList = new List <object>(); //получаем планы обмена using (_1Cv8 v8 = new _1Cv8(baseInfo)) { try { v8.Connect(); foreach (dynamic plan in v8.Object1C.Метаданные.ПланыОбмена) { planList.Add(plan.Имя); } ItemSelectPageViewModel itemSelectPage = new ItemSelectPageViewModel(this, "NameOfPlan", planList, "Укажите план обмена:"); base.Workspaces = itemSelectPage; } catch (Exception error) { MessageBox.Show(error.Message); //обрабатываем ошибку } } }
void SelectNodeName() { if (NameOfPlan == String.Empty) { MessageBox.Show("Не указан план обмена"); return; } List <object> nodeList = new List <object>(); //получаем планы обмена using (_1Cv8 v8 = new _1Cv8(baseInfo)) { try { v8.Connect(); //dynamic result = v8.Object1C.ПланыОбмена.Get("Полный");//.Выбрать(); dynamic refPlane = v8.GetProperty(v8.Object1C.ПланыОбмена, NameOfPlan); dynamic thisNode = refPlane.ЭтотУзел(); dynamic result = refPlane.Выбрать(); while (result.Следующий()) //ПланыОбмена { if (thisNode.Наименование != result.Наименование) { nodeList.Add(result.Наименование); //nodeList.Add(new { result.Наименование, result.Код }); } } //TODO: придумать как передавать в список наименования, а получать код ItemSelectPageViewModel itemSelectPage = new ItemSelectPageViewModel(this, "CodeOfNode", nodeList, "Укажите узел обмена:"); base.Workspaces = itemSelectPage; } catch (Exception error) { MessageBox.Show(error.Message); //обрабатываем ошибку } } }