//Смотрим наличие PopUp выбора типа кола 0.33/0.5/1
 private void PopUpChildren(string tag, Point point)
 {
     //tag - id но оно может несоответствовать меню, так как в словарь засунули с новым ид
     //надо смотреть словарь и проверять соответствие клюсч-ид, если разные - возвращать ид меню
     iD = tag; //Сохраняем ключ словаря
     tag = SeeDishNewNameId(tag, out _flagOld);
     //Получаем спмсок модификаторов из меню
     List<Modifikator> currentModifikators = GetModifikators(tag);
     //Смотрим Dish по iD
     currentModifikators = _flagOld ? GetXmlModifikators(tag, currentModifikators) : GetDishModifikators(iD, currentModifikators);
     var selForm = new PopUpMenu(DG.Device, point, currentModifikators);
     selForm.PopupCancelled += new EventHandler(SelFormPopupCancelled);
     //selForm.Hidden += new EventHandler(SelFormHidden);
     selForm.PostbackComplete += new EventHandler(ShowCheckboxPostbackComplete);
     //selForm.Tag = group;
     selForm.Show();
 }
 //Модернизируем _order.Dish
 void HandlePopUpInput(PopUpMenu selForm)
 {
     List<Modifikator> _currentModifikators;
     //todo CLONE Тут не получим модификаторы по клону
     bool flagClone;
     var id = SeeDishNewNameId(iD, out flagClone);
     //Смотрим по правильному Ид и для клона и для сингла
     _currentModifikators = GetModifikators(id);
     int pointElement = 0;
     if (!_flagOld) //блюдо новое и в Dish
     {
         //Берем по правильному iD
         var dish = _order.Dish[iD];
         var count = 0;
         //Чистим старые модификаторы
         dish.Modifikators.Clear();
         //Заносим новые
         foreach (var p in selForm.Checks)
         {
             if (p.Checked.ToString() == "CHECKED")
                 dish.Modifikators.Add(new Modifikator
                                       {
                                           Name = _currentModifikators.ElementAt(count).Name,
                                           Id = _currentModifikators.ElementAt(count).Id,
                                           Check = true
                                       });
             count++;
         }
         _order.Dish.Remove(iD);
         _order.Dish.Add(iD, dish);
     }
     else
     {   //Удаляем модификаторы - старые
         try
         {
             pointElement = GetLineTag(_lineTag);
             while (DG.OrderTable.Descendants("СтрокаЗаказа").ElementAt(pointElement + 1).Attributes("Модификатор").First().Value == "Да")
             {
                 DG.OrderTable.Descendants("СтрокаЗаказа").ElementAt(pointElement + 1).Remove();
             }
         }
         catch (Exception)
         {
         }
         //Заносим новые
         var count = 0;
         foreach (var p in selForm.Checks)
         {
             if (p.Checked.ToString() == "CHECKED")
             {
                 DG.OrderTable.Descendants("СтрокаЗаказа").ElementAt(pointElement).AddAfterSelf(new XElement("СтрокаЗаказа",
                                                                      new XAttribute("НомерСтроки", "99"), //Потом переименуем все
                                                                      new XAttribute("Товар", _currentModifikators.ElementAt(count).Name),
                                                                      new XAttribute("Модификатор", "Да"),
                                                                      new XAttribute("ТоварИД", _currentModifikators.ElementAt(count).Id)));
             };
             count++;
         }
     }
     //Удаляем из системы обработчики
     selForm.PopupCancelled -= new EventHandler(SelFormPopupCancelled);
     selForm.Hidden -= new EventHandler(SelFormHidden);
     selForm.Destroy();
 }