Делаю класс наследник от ТабличноеПоле. В нем прописую процедуры
+ Code Процедура ПриРедактированииЗначения(_Строка, _Колонка, Регион, Значение) Экспорт Сообщить("ПриРедактированииЗначения"); ИмяКолонки =_Колонка.Имя; Если ИмяКолонки<>"Количество" Тогда Возврат; КонецЕсли; Поставщик.УстановитьЗначение(_Строка, ИмяКолонки, Значение); Изменен=1; ТП.ОбновитьСтроки(); КонецПроцедуры // ПриРедактированииЗначения
Процедура Выбор(_Строка, _Колонка, Регион) Экспорт Сообщить("Выбор"); ИмяКолонки=_Колонка.Имя; Значение =Поставщик.ПолучитьЗначение(_Строка, ИмяКолонки); Если ИмяКолонки="Артикул" Тогда Конт.АктивизироватьОбъект(Поставщик.ПолучитьЗначение(_Строка,"Элемент")); Возврат; КонецЕсли; Если ИмяКолонки="Плюс" Тогда Значение =Поставщик.ПолучитьЗначение(_Строка,"Количество"); Поставщик.УстановитьЗначение(_Строка,"Количество",Значение+1); Изменен=1; ТП.ОбновитьСтроки(); Возврат; ИначеЕсли ИмяКолонки="Минус" Тогда Значение =Поставщик.ПолучитьЗначение(_Строка,"Количество"); НовЗначение=Значение-1; Если НовЗначение=0 Тогда Поставщик.УдалитьСтроку(_Строка); Иначе Поставщик.УстановитьЗначение(_Строка,"Количество",НовЗначение); КонецЕсли; Изменен=1; ТП.ОбновитьСтроки(); Возврат; КонецЕсли; мДлина=6; мТочность=2; dpSkipOnEnter = "0x00000004"; // пропускать при вводе
dpFastChoice = "0x00000008"; // быстрый выбор
dpUseHelpString = "0x00000010"; // использовать описание (в качестве подсказки)
dpHasButton = "0x00000020"; // имеет кнопку выбора
dpDisableAutoChoice = "0x00000200"; // автовыбор выкл
dpUndefined = "0x00100000"; // неопределенный тип (тип может быть назначен)
Флаг=dpFastChoice; ТП.РедактироватьЗначение(_Строка, _Колонка, Регион, Значение,мДлина,мТочность, "ВыбЗнач", dpHasButton); Изменен=1; КонецПроцедуры // Выбор
Процедура ПриНажатииКлавиши(КодКлавиши,Данные,Клавиатура,ФСО) Экспорт Сообщить(КодКлавиши); Если КодКлавиши=13 Тогда лТовар=ТП.ТекущиеДанные.Элемент; Конт.АктивизироватьОбъект(лТовар); ИначеЕсли КодКлавиши=46 Тогда Изменен=1; Если Поставщик.КоличествоСтрок()=0 Тогда Возврат; КонецЕсли; Поставщик.УдалитьСтроку(ТП.ТекущиеДанные.НомерСтроки); ТП.ОбновитьСтроки(); КонецЕсли; КонецПроцедуры // ПриНажатииКлавиши
но они чет не срабатуют. подскажите что не так.
|