Имя: Пароль:
1C
1С v8
Странное поведение управляемой формы.
,
0 ZaprosMan
 
08.04.16
15:33
Здравствуйте!
Есть УФ документа.
Есть на форме дерево, значение одного поля пользователь пишет руками, если не находит такого, то выводится стандартное меню для создания нового объекта.
Такой зеленый крестик или (сздать).
Я заменил стандартную процедуру, на свою, где сам создаю и заполняю значение и подставляю его в значение дерева.
И всё бы ничего, но после введения
Элементы.ДеревоЗапасы.ЗакончитьРедактированиеСтроки(Ложь);
На форме, в месте поля ввода появляется какая то хрень, белый прямоугольник по размерам поля, и ничего с ним не сделать.
https://cloud.mail.ru/public/5bVw/3zxt1Dkwp
Но двигая нижней прокруткой, он двигается
https://cloud.mail.ru/public/LnTC/m2UwtrVT1

Что это за фигня?

Если закомменитровать:
Элементы.ДеревоЗапасы.ЗакончитьРедактированиеСтроки(Ложь);
то надо жать ентер, чтобы значение появилось и этой фигни нет, но так не совсем удобно и не красиво.
1 ZaprosMan
 
08.04.16
15:37
А не,
Элементы.ДеревоЗапасы.ЗакончитьРедактированиеСтроки(Ложь);
Не влияет.
2 ZaprosMan
 
08.04.16
15:41
//Весь текст обработки создания.

&НаКлиенте
Процедура ДеревоЗапасыХарактеристикаСоздание(Элемент, СтандартнаяОбработка)
    ТекСтрока = Элементы.ДеревоЗапасы.ТекущиеДанные;
    Если ТекСтрока = Неопределено Тогда
        Возврат;
    КонецЕсли;
    //
    СтандартнаяОбработка = Ложь;
    Текст = Элемент.ТекстРедактирования;
    Массив = ПолучитьМассивХарактеристикНоменклатуры(ТекСтрока.Номенклатура,ТекСтрока.Группа,Текст);
    Если ЗначениеЗаполнено(Массив.Количество()) Тогда
        Характеристика = Массив[0];
    Иначе
        Характеристика = СоздатьХарактеристику(Текст,ТекСтрока.Номенклатура,ТекСтрока.Группа);
    КонецЕсли;
    //
    ТекСтрока.Характеристика = Характеристика;
    ЗапасыДеревоПриИзменении(Элемент);
    //
    Элементы.ДеревоЗапасы.ЗакончитьРедактированиеСтроки(Ложь);
КонецПроцедуры
3 Cyberhawk
 
08.04.16
15:43
Директива у метода ПолучитьМассивХарактеристикНоменклатуры какая?
4 ZaprosMan
 
08.04.16
15:45
В смысле где выполняется?
Сервер
5 Cyberhawk
 
08.04.16
15:46
Покажи на картинке код с этим методом
6 ZaprosMan
 
08.04.16
15:48
&НаСервере
Функция ПолучитьМассивХарактеристикНоменклатуры(Номенклатура,Группа,Имя)
    Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
    |    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика
    |ИЗ
    |    Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
    |ГДЕ
    |    НЕ ХарактеристикиНоменклатуры.ПометкаУдаления
    |    И ХарактеристикиНоменклатуры.Владелец = &Владелец
    |    И ХарактеристикиНоменклатуры.Группа = &Группа"+"
    |    И ХарактеристикиНоменклатуры.Наименование = &Наименование"+"
    |
    |УПОРЯДОЧИТЬ ПО
    |    ХарактеристикиНоменклатуры.Код УБЫВ");
    Запрос.УстановитьПараметр("Владелец",Номенклатура);
    Запрос.УстановитьПараметр("Группа",Группа);
    Запрос.УстановитьПараметр("Наименование",Имя);
    //
    ТЗХарактеристик = Запрос.Выполнить().Выгрузить();
    Возврат ТЗХарактеристик.ВыгрузитьКолонку("Характеристика");
КонецФункции
7 Cyberhawk
 
08.04.16
15:49
Замени на &НаСервереБезКонтекста
8 Cyberhawk
 
08.04.16
15:51
У СоздатьХарактеристику - аналогично
9 ZaprosMan
 
08.04.16
16:00
Не помогло =(
Хотя почему то с начала у первой добавленной строки небыло этого эффекта, а затем опять появился.
10 Cyberhawk
 
08.04.16
16:20
Какие обработчики у этого ЭУ еще определены?
11 ZaprosMan
 
08.04.16
16:27
ПриИзменении
Началовыбора
Создание
12 Cyberhawk
 
08.04.16
16:30
Дальше сам догадаешься?
13 ZaprosMan
 
08.04.16
16:30
нет
14 ZaprosMan
 
08.04.16
16:31
В чем подвох?
15 Cyberhawk
 
08.04.16
16:31
Почитай СП этих обработчиков
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший