|
активизация ячейки | ☑ | ||
---|---|---|---|---|
0
kelebro63
19.11.12
✎
21:48
|
есть обработка с табличным полем на форме. каждые 15 сек таблица обновляется запросом из справочника. при активизации какой либо ячейки из определенной колонки, появляется выпадающее меню. Проблема в том, что каждые 15 секунд появляется выпадающее меню, что не так? вот код
Процедура ПриОткрытии() // СпособОтображенияОкна ЭлементыФормы.Заказы.ЦветФонаЧередованияСтрок = WEBЦвета.Бежевый; ЭлементыФормы.Заказы.ЧередованиеЦветовСтрок = Истина; ЭлементыФормы.Заказы.ВертикальныеЛинии = Ложь; ЭлементыФормы.Заказы.ГоризонтальныеЛинии = Ложь; //ЭлементыФормы.Заказы.ОформлениеСтроки.ячейки.высота=44; Запрос_к_базе(); ПодключитьОбработчикОжидания("Запрос_к_базе", 15); //ЭлементыФормы.Заказы.ТекущаяКолонка = ЭлементыФормы.Заказы.Колонки.Код; КонецПроцедуры Процедура Запрос_к_базе() //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Кухня.Ссылка, | Кухня.ВерсияДанных, | Кухня.ПометкаУдаления, | Кухня.Предопределенный, | Кухня.Код, | Кухня.Наименование, | Кухня.Блюдо, | Кухня.Количество, | Кухня.Норматив, | Кухня.Статус_приготовления |ИЗ | Справочник.Кухня КАК Кухня"; Результат = Запрос.Выполнить(); //Результат.Выгрузить().ВыбратьСтроку(); ТаблицаРезультатов = Результат.Выгрузить(); //ТаблицаРезультатов.ВыбратьСтроку(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Заказы.Загрузить(ТаблицаРезультатов); //Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // // Вставить обработку выборки ВыборкаДетальныеЗаписи //КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА //ПодключитьОбработчикОжидания //приначалеработысистемы КонецПроцедуры Процедура ЗаказыПриАктивизацииЯчейки(Элемент) // Вставить содержимое обработчика. предупреждение("сработала активизация"); Если (Элементыформы.Заказы.ТекущаяКолонка.Имя = "Кнопка_готово") Тогда сообщить("при выборе ячейки работает!"); СпВыб = Новый СписокЗначений; СпВыб.Добавить("Готово"); СпВыб.Добавить("Отказ"); ВыбЭл = ВыбратьИзМеню(СпВыб); Если (ВыбЭл<>НЕОПРЕДЕЛЕНО) Тогда Обл=Элементыформы.Заказы.ТекущаяСтрока; сообщить(обл.Код); Обл.Кнопка_готово = ВыбЭл; Спр_кухня = Справочники.Кухня.НайтиПоКоду(обл.Код); сообщить(Спр_кухня); Спр_кухня.ПолучитьОбъект().Удалить(); Док_ГотовоеБлюдо= документы.ГотовоеБлюдо.СоздатьДокумент(); Док_ГотовоеБлюдо.Блюдо=обл.Блюдо; Док_ГотовоеБлюдо.Количество=обл.Количество; Док_ГотовоеБлюдо.Статус=обл.Кнопка_готово; Док_ГотовоеБлюдо.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.оперативный); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
1
kosts
19.11.12
✎
22:05
|
Заново формируешь таблицу, вот активизация и срабатывает...
|
|||
2
kelebro63
19.11.12
✎
22:08
|
(1) как исправить?
|
|||
3
mih_io
19.11.12
✎
22:12
|
(2) можешь глобальной переменной в модуле перед загрузкой присвоить значение истина, во время активизации смотреть, если истина, сделать её ложь и не отрабатывать стандартную процедуру активизации. Если ложь (след. ручная активизации), отрабатывать процедуру.
|
|||
4
kelebro63
19.11.12
✎
22:28
|
(3)Благодарю))) работает!)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |