Имя: Пароль:
1C
1С v8
Значение в ячейку таблицы формы программно
0 AneJIbcuH
 
10.04.17
09:36
Добрый день!
Не могу догнать, как программно добавить значение в выбранную ячейку таблицы формы.
Дано УФ, на форме таблица значений. Необходимо выбрать ячейку (тип строка), нажать кнопку (добавлена на форму) и в эту ячейку должен подставиться текст.
Пишу:

пТекСтрока = "НеобходимоВставить";
    
    ТекСтрока = Элементы.ЭлементыДерева.ТекущиеДанные;
    Если ТекСтрока = Неопределено Тогда
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Не выбрана ячейка!";
        Сообщение.Сообщить();
        Возврат;
    КонецЕсли;
    
    ТекСтолбец = Элементы.ЭлементыДерева.ТекущийЭлемент;
    
    Если ТекСтолбец = Неопределено Тогда
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Не выбрана ячейка!";
        Сообщение.Сообщить();
        Возврат;        
    КонецЕсли;
    
    ИмяЯчейки = ТекСтолбец.Имя;
    ИмяЯчейки = СокрЛП(СтрЗаменить(ИмяЯчейки,"ЭлементыДерева",""));
    
        ТекЗначение = ТекСтрока[ИмяЯчейки];
        
        Если ПустаяСтрока(ТекЗначение) Тогда
            ТекЗначение = пТекСтрока;              
        Иначе
            ТекЗначение = СокрЛП(ТекЗначение) + " " + пТекСтрока;            
        КонецЕсли;          

Ошибок не выдаёт, но и ничего не вставляет.
1 AneJIbcuH
 
10.04.17
09:40
Описана процедура нажатия кнопки (НаКлиенте). Отладкой пробегаюсь, на вид всё корректно.
2 Lexey_
 
10.04.17
09:43
(0) Если ПустаяСтрока(ТекЗначение) Тогда
            ТекЗначение = пТекСтрока;              
        Иначе
            ТекЗначение = СокрЛП(ТекЗначение) + " " + пТекСтрока;            
        КонецЕсли;
        
        
        Ты просто меняешь значение переменной ТекЗначение, вместо изменения значения в ячейке
3 AneJIbcuH
 
10.04.17
09:48
(2) мда..  Добавил  ТекСтрока[ИмяЯчейки] = ТекЗначение  всё заработало ))
4 AneJIbcuH
 
10.04.17
10:02
тогда вопрос посложнее, можно ли после присвоения значения таким образом не заканчивать редактирование ячейки? т.е. после присвоения значения необходимо снова дважды мышкой нажать, чтобы войти в редактирование текста.
5 Lexey_
 
10.04.17
10:48
(4) ТаблицаФормы (FormTable)
ИзменитьСтроку (ChangeRow)
Синтаксис:

ИзменитьСтроку()
Описание:

Начинает интерактивное изменение данных текущей строки, аналогично выполнению команды "Изменить".
6 AneJIbcuH
 
10.04.17
18:51
(5) Благодарю. Минус только один, выделяет всю строку в ячейке, если нажать любую кнопку, всё потрёт.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший