1c++ ТабличноеПоле РедактироватьЗначение с кнопкой подбора - завершить редактирование #451269


#0 by Wing22
Есть ТабличноеПоле. При возникновении события Выбор вызывается метод РедактироватьЗначение с кнопкой подбора. В процедуре ПриНачалеВыбораЗначения выводится список для выбора. После выбора значение сохраняется в исзодную ТЗ, являющуюся поставщиком данных для ТП, и вызывается метод ОбновитьСтроки. Редактор остается активным - как этого избежать? в документации есть упоминание о ЗавершитьРедактированиеЗначения и ОтменитьРедактированиеЗначения, однако сама ТП их не знает (не найден агрегатный объект). Если редактировать значение напрямую без кнопки - все ОК, но вот со списком подстановки такие проблемы. Помогите. Значение сохраняется только если после выбора нажать ESC, что мне не кажется нормальным...
#1 by Botanik8888
версия компоненты какая?
#2 by Wing22
пробовал на 3.0.1.22 и 3.0.1.24
#3 by Wing22
Ни у кого нет никаких идей?
#4 by Wing22
Если отказаться от встроенного редактора для случая с выбором из списка, то список открывается не на координатах конкретной строки и колонки ТП, а в левом нижнем углу ТП ... и так и так нехорошо выходит ... Жду совета.
#5 by Wing22
в не прав. последний раз проверял в версии 3.0.1.22 - работало, как описал, но в 3.0.1.24 уже работает верно ... правда только через СписокЗначений. Если использовать объект Сервис - эффект остается как и раньше (FormEx.dll 2.0.5.95).
#6 by Wing22
Все-таки через кнопку подбора можно сделать нманого больше, чем только выбор из списка - потому вопрос все еще актуален!
#7 by antoneus
в порядке бреда: а если сендкеем, например, после выбора посылать Esc?
#8 by Wing22
Действительно бред :) это реально, но для этого надо знать структуру окон ТП и уметь определять хэндл окошка редактора ... в общем не по 1С-овски это. Хотя можно послать и основному окну формы ... это неправильно, но стоит подумать.
#9 by antoneus
зачем хэндл? то же самое, что в "после выбора нажать esc", тока "незаметно". Shell = СоздатьОбъект("WScript.Shell"); Shell.SendKeys("{ESC}");
#10 by Wing22
Спасибо! Работает как надо!
#11 by Vippi
Ну, раз уж используется FormEx, то логичней Сервис.SendKeys("{ESC}");
#12 by Salimbek
Судя по -------  Comment #2 From  kms   2009-12-20 03:13:31  ------- [+] Добавлен метод ТП "ЗавершитьРедактированиеЗначения" [+] Добавлен метод ТП "ОтменитьРедактированиеЗначения" ------- этот функционал был внесен только 20-го декабря. Может у тебя 1срр более ранней сборки?
#13 by antoneus
во блин, а мужики-то не знают :(
#14 by Wing22
Моя версия от 11.12, но где взять новее? скачивал по ссылке 21.12.2009
#15 by Wing22
+ Уточнение: в архиве у файла стоит 19.12.2009 22:03 Однако до сих пор получаю ошибку: Поле агрегатного объекта не обнаружено (ОтменитьРедактированиеЗначения)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С