Имя: Пароль:
1C
1C 7.7
v7: Редактирование в таблице значений.
,
0 OZFIN
 
25.01.13
14:33
Добрый день.
Ситуация такая: на форме есть таблица значений, в неё загружаются данные из дбф-файла, но эти записи нельзя редактировать. Может кто-нибудь знает как сделать так, чтобы эту таблицу можно было редактировать?
1 Индус
 
25.01.13
14:36
добавить командную панель?
2 ДенисЧ
 
25.01.13
14:36
кто-нибудь знает :-)
Вешай процедуру на свою таблицу, в ней лови текущаястрока/текущаяколонка, получай данные и давай зверю их редактировать
3 Индус
 
25.01.13
14:38
Псомотри обр-ку загрузки из экселя стандартную
4 OZFIN
 
25.01.13
14:41
(2) Можешь дать пример такой процедуры?
5 Kreont
 
25.01.13
14:43
Для ТЗ на форму ставишь формулу:Коректировка()

в примере только число, но можно тип узнавать какой надо и делать нужный диалог:

Процедура Коректировка()  
ТекСтрока = ТЗ.ТекущаяСтрока();
Если ПустоеЗначение(ТЗ) = 1 Тогда
   Возврат;
КонецЕсли;
НовоеЗначение = ТЗ.ПолучитьЗначение(ТЗ.ТекущаяСтрока(),ТЗ.ТекущаяКолонка(,));
Если ВвестиЧисло(НовоеЗначение,"Новое значение ",20,5,) = 0 Тогда
Возврат;
КонецЕсли;  
ТЗ.УстановитьЗначение(ТекСтрока,ТЗ.ТекущаяКолонка(,),НовоеЗначение);
КонецЕсли;
СкладТаблица.ТекущаяСтрока(ТекСтрока);
КонецПроцедуры
6 Kreont
 
25.01.13
14:43
+не так скопипастил, в конце:
ТЗ.ТекущаяСтрока(ТекСтрока);
КонецПроцедуры
7 Ёпрст
 
25.01.13
14:44
8 monsterZE
 
25.01.13
14:45
например:

Процедура ИзменитьЗначение()
   
   Значение = ТЗ.ПолучитьЗначение(ТЗ.ТекущаяСтрока(),"Значение");
   
   Если ВвестиСтроку(Значение,"Введите новое значение",30,,)=1 Тогда
       ТЗ.УстановитьЗначение(ТЗ.ТекущаяСтрока(),"Значение",Значение);
   КонецЕсли;    
   
КонецПроцедуры
9 OZFIN
 
25.01.13
14:50
(8) Спасибо большое, всё получилось.
10 monsterZE
 
25.01.13
14:51
(9) осталось только потом ее обратно в дбф слить =)
11 OZFIN
 
25.01.13
14:53
(10) Сложности были только с редактированием. Ещё раз спасибо Вам.
Основная теорема систематики: Новые системы плодят новые проблемы.