Имя: Пароль:
1C
1С v8
Создание элемента при вводе текста в поле реквизита
0 r1000
 
25.08.14
15:54
В табличной части документа есть реквизит. Ввожу туда текст, используя событие ОкончаниеВводаТекста, создаю элемент справочника (введенный пользователем тест используется как наименование элемента). Элемент создается. Потом я хочу созданный элемент отобразить в этой ячейке табличной части:                 ТекущаяСтрокаТабличнойЧасти.Вал = СозданныйЭлемент.Ссылка;
Но почему то в ячейке ничего не присваивается и соответственно пользователь не видит что он создал. Как в этом событие присвоисть ячейке тч значение ?
1 Naumov
 
25.08.14
15:56
посмотри параметры у процедуры, обрабатывающей событие
Наверняка ест Элемент. Вот в него и пиши.
2 r1000
 
25.08.14
16:04
Сделал вот так. Все равно в ячейку не подставляется только что созданный элемент(он 100% создается - я его вижу отдельно в справочнике)
Процедура ВалОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;        
        
                //создаем новую серию
                НоваяСерия = Справочники.Валы.СоздатьЭлемент();
                НоваяСерия.Владелец = ТекущаяСтрокаТабличнойЧасти.Номенклатура;
                НоваяСерия.Наименование= Текст;

                НоваяСерия.Записать();
                Элемент.значение = НоваяСерия.Ссылка;
        
КонецПроцедуры
3 Фокусник
 
25.08.14
16:06
(0) "введенный пользователем тест используется как наименование элемента). Элемент создается"

Ох, и наколбасят они договоров:
Дого
Догвор
Договор № 10
Договор №10/12344

:)
4 r1000
 
25.08.14
16:07
Причем в отладчике видно, что в Элемент.значение записывается этот созданный элемент. Но визуально его не видно в ячейке.
5 r1000
 
25.08.14
16:08
(3)записывается если указали правильный номер. Процедура в (0) упрощена.
6 Fish
 
25.08.14
16:15
(5) Из справки:
"ОкончаниеВводаТекста (TextEditEnd)
Синтаксис:

ОкончаниеВводаТекста(<Текст>, <Значение>, <СтандартнаяОбработка>)
Параметры:

<Текст>

Тип: Строка.
Строка текста, введенная в поле ввода.
<Значение>

Тип: Значение; СписокЗначений.
Параметр может содержать значение для размещения в поле ввода или список значений для последующего выбора одного из них и размещения в поле ввода.
Параметр заполняется списком значений для последующего выбора одного из них и размещения его в поле ввода. Если список содержит единственное значение система автоматически подставит его в поле ввода. Пометки элементов этого списка значений могут использоваться для отметки значений, соответствующих помеченным на удаление объектам. В том случае, если пользователь выберет одно из помеченных значений, система выдаст стандартное предупреждение о выборе помеченного на удаление объекта.
<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Значение по умолчанию: Истина.
Описание:

Возникает при формировании значения по отредактированному тексту. Например, в момент перехода на другой элемент управления формы, при закрытии формы и т.д."
7 r1000
 
25.08.14
16:15
Получилось. Убрал СтандартнаяОбработка = Ложь.
Вопрос закрыт.