Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Июн 2018, 11:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Удаление кнопок в форме (Обычное приложение)  (Прочитано 8797 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 7
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Есть два Кнопки 1 и 2, при нажатие они автоматом создают кнопки из справочника "Номенклатура", разделены на группы 1 и 2. При нажатие 1 го появляеться кнопки, при нажатие 2 появляеться кнопка, но кнопки от 1 еще остаються, как сделать что бы они удалялись когда нажимали на кнопку 2?


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1310
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Покажите код где они создаются. А вобще ЭлементыФормы.Удалить(ТутКнопка)

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 7
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Писал этот код, не работает. Удаляет кнопки, но некоторые остаются, сказали тогда писать так.

Для каждого ИмяЭлемента из ЭлементыФормы Цикл
              ЭлементыФормы.Удалить(ИмяЭлемента);
      ИмяЭлемента.Имя = ?
    КонецЦикла;


ИмяЭлемента.Имя = ? после  него я незнаю что писать, я новичок в 1с

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 7
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
процедура такая

Процедура ПервоеНажатие(Элемент)
      // Вставить содержимое обработчика.
      текЛево = 9;
      ВыборкаСостояния = Справочники.Номенклатура.Выбрать();
      Пока ВыборкаСостояния.Следующий() Цикл
         Если ВыборкаСостояния.Родитель.Наименование = "Первое блюдо" Тогда 
            текКнопка = ЭлементыФормы.Добавить(Тип("Кнопка"), "Код" + (ВыборкаСостояния.Код), Истина);
            текКнопка.Высота = 40;
            текКнопка.Ширина = 70;
            текКнопка.Заголовок = (ВыборкаСостояния.Наименование);
            текКнопка.Верх = 65;
            текКнопка.Лево = текЛево;
            текЛево = текЛево + текКнопка.Ширина + 7;
         Иначе
            продолжить;
         КонецЕсли;   
           КонецЦикла;
  КонецПроцедуры






Процедура ВтороеНажатие(Элемент)
   // Вставить содержимое обработчика.
      Для каждого ИмяЭлемента из ЭлементыФормы Цикл
              ЭлементыФормы.Удалить(ИмяЭлемента);
      ИмяЭлемента.Имя =
    КонецЦикла;
            текЛево = 9;
      ВыборкаСостояния = Справочники.Номенклатура.Выбрать();
         Пока ВыборкаСостояния.Следующий() Цикл
         Если ВыборкаСостояния.Родитель.Наименование = "Второе блюдо" Тогда 
            текКнопка = ЭлементыФормы.Добавить(Тип("Кнопка"), "Код" + (ВыборкаСостояния.Код), Истина);
            текКнопка.Высота = 40;
            текКнопка.Ширина = 70;
            текКнопка.Заголовок = (ВыборкаСостояния.Наименование);
            текКнопка.Верх = 65;
            текКнопка.Лево = текЛево;
            
            текЛево = текЛево + текКнопка.Ширина + 7;
         Иначе
            продолжить;
         КонецЕсли;
      КонецЦикла;
    КонецПроцедуры

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1310
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Попробуй так, только если нет второго блюда, то кнопки первого все равно будут удалены. А их обязательно удалять? Может невидимыми делать просто?
Процедура ВтороеНажатие(Элемент)
   // Вставить содержимое обработчика.
      текЛево = 9;
      ВыборкаСостояния = Справочники.Номенклатура.Выбрать();
         Пока ВыборкаСостояния.Следующий() Цикл
         Если ВыборкаСостояния.Родитель.Наименование = "Первое блюдо" Тогда //найдем кнопку по данному элементу
            КнопкаНаФорме = ЭлементыФормы.Найти("Код" + ВыборкаСостояния.Код);
            Если Не КнопкаНаФорме = Неопределено Тогда
                ЭлементыФормы.Удалить(КнопкаНаФорме);
            КонецЕсли;
         КонецЕсли;
         Если ВыборкаСостояния.Родитель.Наименование = "Второе блюдо" Тогда
            текКнопка = ЭлементыФормы.Добавить(Тип("Кнопка"), "Код" + (ВыборкаСостояния.Код), Истина);
            текКнопка.Высота = 40;
            текКнопка.Ширина = 70;
            текКнопка.Заголовок = (ВыборкаСостояния.Наименование);
            текКнопка.Верх = 65;
            текКнопка.Лево = текЛево;
            
            текЛево = текЛево + текКнопка.Ширина + 7;
         Иначе
            продолжить;
         КонецЕсли;
      КонецЦикла;
    КонецПроцедуры

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 7
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Спасибо, работает) Можно ли убрать когда на одну и тоже кнопку нажимать Первое блюдо, что бы ошибка не выходила
{Обработка.Обработка.Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Добавить)
            текКнопка = ЭлементыФормы.Добавить(Тип("Кнопка"), "Код" + (ВыборкаСостояния.Код), Истина);
по причине:
Недопустимое значение параметра (параметр номер '2') (Не уникальное имя! (Код000000005))

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 7
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Можно же просто при одном нажатие и все кнопка не доступна, на другую кнопку нажимаеш она опять доступно

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1310
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Получается одинаковое имя кнопкам назначается чтоли. А коды уникальны?

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 7
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Нет) Тут коды одинаковые) а повторому разу создавать кнопки по коду не могут. При 2-м раза нажатие ошибка вылетает) 1 раз нажмеш норм. Как добавить процедура на не доступность после 1-го нажатие кнопки? И потом опять дать доступ но токо когда нажмет на Второе Блюдо кнопку?

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1310
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Причем тут доступность, если у элементов группы Первое блюдо и Второе блюдо могут быть одинаковые коды, то конечно не даст разместить на форме кнопки с одинаковыми именами. Можно сделать имя не
"Код" + ВыборкаСостояния.Код
а допустим
"Код" + ВыборкаСостояния.Родитель.Код + ВыборкаСостояния.Код


Теги:
 

Группа "СписокКомпоновщикНастроекПользовательскиеНастройки" в форме "Перечисления"

Автор Азамат ХубиевРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2185
Последний ответ 12 Ноя 2016, 18:08
от Азамат Хубиев
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 551
Последний ответ 12 Окт 2017, 14:02
от wise
Как настроить отображение на форме "группа плательщика единого налога" при выборе системы налогообложения "Единый налог"?

Автор Nicolayci91Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2579
Последний ответ 17 Авг 2015, 07:48
от cska-fanat-kz
Добавление строки и заполнение строки в ТЗ на форме

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 791
Последний ответ 25 Сен 2017, 09:00
от Св Ч
Ребята, срочно нужна помощь. Какую процедуру нужно написать в форме справочника, чтобы таблица заполнялась данными из другого справочника?

Автор Олька БякинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3189
Последний ответ 27 Май 2016, 15:19
от Олька Бякина

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
130 Сообщений
AIFrame AIFrame
118 Сообщений
alexandr_ll
57 Сообщений
alex0402
47 Сообщений
pavl_vs
47 Сообщений
buketov.av buketov.av
40 Сообщений
ilyay ilyay
36 Сообщений
trialex3
24 Сообщений
magnifico61
21 Сообщений
wise wise
15 Сообщений

* Кто онлайн

  • Точка Гостей: 780
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal