Имя: Пароль:
1C
1C 7.7
v7: ТабличноеПоле - Где взять мануалы?
0 Zhuravlik
 
16.11.12
22:48
Добрый вечер. Вот здесь - http://www.1cpp.ru/docum/icpp/html/TableField.html#headerselection
Почему-то нет описания событий "ПриНачалеРедактирования" (нашел здесь http://erp-volga.com/hare/forum/index-tred-201-73.html ), и "ПриВыбореЗаголовка" (нашел здесь Табличное поле (1с++) ). В документации к классу вообще никаких событий не описано, только одно "ПриФормированииКонтекстногоМеню".
Подскажите, есть ли вообще где-нибудь полный источник инфы про этот элемент? А то тыркаюсь с ним уже второй день, в основном перепиливанием чужих обработок, и просмотром классов. Мне вот надо отловить событие ПриОкончанииРедактированияСтроки - я чисто интуитивно так его назвал, уже полчаса ищу это в нете, не могу найти.
1 ADirks
 
16.11.12
23:12
Ты чего хочешь, прямое редактирование значений в ячейке ТП? Этого в доке к сожалению нет. Читай тут http://www.1cpp.ru/forum/YaBB.pl?num=1202765199

ну и тупой кусок кода, может чего подскажет

Процедура ПриРедактированииЗначения(Стр, Колонка, Регион, Значение) Экспорт
   Сам = Сам(Контекст);
   
   Если НайтиСтрокуТЗ(тзРедактируемыеКолонки, "Имя", Колонка.Имя) = 1 Тогда
       Если тзРедактируемыеКолонки.Неотрицательный = 1 Тогда
           Если ТипЗначения(Значение) = 1 Тогда
               Если Значение < 0 Тогда
                   Значение = 0;
               КонецЕсли;
           КонецЕсли;
       КонецЕсли;
   КонецЕсли;
   
   Если Сам.ЕстьКоллБэкМетод(ИмяКнопки+"ПроверитьРедактируемоеЗначение") = 1 Тогда
       оСервис = СоздатьОбъект("Сервис");
       сзАрг = СоздатьОбъект("СписокЗначений");
       сзАрг.ДобавитьЗначение(Стр);
       сзАрг.ДобавитьЗначение(Колонка);
       сзАрг.ДобавитьЗначение(Регион);
       сзАрг.ДобавитьЗначение(Значение);
       фРезультат = 0;
       оСервис.ВыполнитьФункцию(Сам.КонтекстФормы(), ИмяКнопки+"ПроверитьРедактируемоеЗначение", сзАрг, фРезультат);
       Если фРезультат <> 1 Тогда
           Возврат;
       КонецЕсли;
       
       Значение = сзАрг.ПолучитьЗначение(4);
   КонецЕсли;
   
   тзДанные.УстановитьЗначение(стр, Колонка.Имя, Значение);
   фДанныеИзменены = 1;
   Сам.ОбновитьСтроки();
КонецПроцедуры

Функция РедактироватьЗначение(нСтр, Колонка, ТипРегиона = 3, ТипОбластиЯчейки = 0)
   Сам = Сам(Контекст);

   Если НайтиСтрокуТЗ(тзРедактируемыеКолонки, "Имя", Колонка.Имя) = 0 Тогда
       Возврат 0;
   КонецЕсли;
   
   Значение = Сам.Получить(Колонка.Имя);
   
   Сам.РедактироватьЗначение(нСтр, Колонка, ТипРегиона,
       Значение, тзРедактируемыеКолонки.Длина, тзРедактируемыеКолонки.Точность,
       тзРедактируемыеКолонки.ИмяПоляВвода, тзРедактируемыеКолонки.Флаги
   );
   
   Если тзРедактируемыеКолонки.ВыборГруппы = 1 Тогда
       Атр = Сам.КонтекстФормы().Форма.ПолучитьАтрибут(тзРедактируемыеКолонки.ИмяПоляВвода);
       Атр.ВыборГруппы(1);
   КонецЕсли;

   Возврат 1;
КонецФункции

Процедура Выбор(нСтр, Колонка, ТипРегиона, ТипОбластиЯчейки) Экспорт
   Сам = Сам(Контекст);
   
   Если ПриВыбореФлажка(нСтр, Колонка, ТипРегиона) = 1 Тогда //При нажатии Enter на колонку флажков имитируем выбор флажка
       Возврат;
   ИначеЕсли РедактироватьЗначение(нСтр, Колонка, ТипРегиона, ТипОбластиЯчейки) = 1 Тогда
       Возврат;
   КонецЕсли;
КонецПроцедуры



ПриРедактированииЗначения() - событие ТП
РедактироватьЗначение() - метод ТП (мы его немножко переопределили)
2 Zhuravlik
 
16.11.12
23:16
(1) Да, это то, что надо. Спасибо.
3 ADirks
 
16.11.12
23:26
если что, могу наиболее актуальный (вроде бы) .chm скинуть, а то что-то не могу на 1cpp его найти
4 Zhuravlik
 
16.11.12
23:39
(3) Именно по поставщику? chm я по нему не находил, киньте на почту пожалуйста [email protected]
Заранее спасибо) Хотя я от него много не жду.
5 oslokot
 
17.11.12
12:27
(1) +1 Подтверждаю, работает в реальных условиях.
Летит и не падает. Умеет работать с агрегатами.
6 ADirks
 
17.11.12
13:54
(4) По поставщику конечно нет, имел в виду 1С++
На всякий случай отправил, там именно по ТП более-менее актуальное описание.
7 ADirks
 
17.11.12
14:47
блин, ну я тормоз :)
вотжеж: http://www.1cpp.ru/forum/YaBB.pl?num=1303385763
8 Zhuravlik
 
17.11.12
19:25
(6) Спасибо)