Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ТабличноеПоле (число прочтений - 942 )
varelchik_f
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 36
Местоположение: Киев
Зарегистрирован: 10. Апреля 2014
Пол: Мужской
ТабличноеПоле
05. Августа 2015 :: 09:42
Печать  
Делаю класс наследник от ТабличноеПоле.
В нем прописую процедуры

+ 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 Тогда
           Возврат;
       КонецЕсли;
       Поставщик.УдалитьСтроку(ТП.ТекущиеДанные.НомерСтроки);
       ТП.ОбновитьСтроки();
    КонецЕсли;
КонецПроцедуры    // ПриНажатииКлавиши


но они чет не срабатуют.
подскажите что не так.

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать