Имя: Пароль:
1C
1С v8
v8: Получение активной ячейки табличной части
0 ppk2006
 
16.07.14
14:04
Обработкой изменения реквизитов табличной части хочу изменить выделенную колонку в табличной части, путем умножения на коэффициент. Предполагается, что пользователь ставит курсор на нужную колонку, а потом вызывается моя обработка с вызовом клиентского метода. Передаю в процедуру ДанныеФормыКоллекция, но не могу вытащить оттуда текущую колонку никак. ДанныеФормыВЗначение теряет фокус, я так понимаю, поэтому не подходит.
Собственно подскажите, пожалуйста, как вытащить текущую колонку для дальнейшего использования?
1 Поpyчик-4
 
16.07.14
14:09
При активизации ячейки присваивать значение какому-нибудь реквизиту или переменной.
2 ppk2006
 
16.07.14
14:19
Активизация ячейки происходит в документе, а потом происходит вызов моей обработки изменения табличной части. То есть присвоить какой-нибудь переменной не получается, нужно уже получить активную ячейку в моей обработке по ДанныеФормыКоллекция, которые пришли из формы в обработку, но как?
3 Поpyчик-4
 
16.07.14
14:20
(2) Из данных формы никак. Это просто структура.
4 GROOVY
 
16.07.14
14:20
Через элементы узнать имя текущей колонки и передать.
5 ppk2006
 
16.07.14
14:31
(4)
А можно подробнее? Мне воспользоваться ДанныеФормыВЗначение или в какой-то другой момент узнавать имя текущей колонки через элемент?
Код на всякий случай:
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    
    Коэф = 0;
    Парам = Новый Массив;
    Парам.Добавить(ВладелецФормы.Объект);
    Парам.Добавить(ОбъектыНазначенияМассив[0]);
    Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтотОбъект, Парам);
    //Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтотОбъект, ОбъектыНазначенияМассив[0]);
    ПоказатьВводЗначения(Оповещение,Коэф, "Введите коэффициент", "Число");    
    
КонецПроцедуры

&НаСервере
Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт
    
    //Сообщить(Параметры[0].Запасы);
    
КонецПроцедуры
6 GROOVY
 
16.07.14
14:43
ЭтаФОрма.ТекущийЭлемент.ТекущийЭлемент.Имя
Элементы.СписокНоменклатуры.ТекущийЭлемент.Имя

Еще?
7 ppk2006
 
16.07.14
15:37
(6)
Если честно, то не пойму откуда взять ЭтаФорма или Элементы, они присутствуют в модуле объекта документа или формы, но у меня вызывается обработка и в ней свои реквизиты, есть ВладелецФормы с типом ДанныеФормыСтруктура и ОбъектыНазначенияМассив с типом ссылка на документ.
8 spiller26
 
16.07.14
16:17
(6) ЭтаФорма и Элементы, в модуле формы
9 spiller26
 
16.07.14
16:24
(7) если у тебя вызывается дочерняя форма, то передавай туда нужные тебе данные.

вот пример:

        ФормаВыбораИзготовителя = РегистрыСведений._ИсторияСертификатовСоответствия.ПолучитьФорму("ФормаВыбораИзСписка");
        ФормаВыбораИзготовителя.ВладелецФормы = ЭтаФорма;
        //заполняем таблицу выбора списком
        ФормаВыбораИзготовителя.ЭлементыФормы.ТаблицаСписка.Значение = ТаблицаСпискаИзготовителей;
        ФормаВыбораИзготовителя.ЭлементыФормы.ТаблицаСписка.СоздатьКолонки();
        ФормаВыбораИзготовителя.ЭлементыФормы.ТаблицаСписка.ТолькоПросмотр = Истина;
        //открываем форму модально
        ФормаВыбораИзготовителя.Заголовок = "Список выбора Изготовителя сертификатов";
        //допы    
        ФормаВыбораИзготовителя.ЗначениеВыбранноеИзСписка = Справочники.Контрагенты.ПустаяСсылка();
        ФормаВыбораИзготовителя.НаименованиеВыбранногоЗначения = "Изготовитель";
        //
        ФормаВыбораИзготовителя.ПоложениеОкна = ВариантПоложенияОкна.Центрировать;
        ФормаВыбораИзготовителя.ОткрытьМодально();
10 ppk2006
 
16.07.14
16:39
(9)
У меня уже открыт документ, допустим Приходная накладная, оттуда вызываю по кнопке Заполнить свою обработку заполнения табличной части. В ОЗТЧ использую вызов клиентского метода, соответственно туда приезжает ДанныеФормыСтруктура и ссылка на документ, нет ЭтаФорма или Элементы формы, как из всего этого получить активную ячейку ТЧ?
11 spiller26
 
16.07.14
16:45
(10) Рыть примерно в этом направлении
из открытой дочерней формы

ЭтаФорма.ВладелецФормы.ЭлементыФормы.Товары.ТекущаяСтрока
12 spiller26
 
16.07.14
16:48
ЭтаФорма.ВладелецФормы.ЭлементыФормы.Товары.ТекущаяКолонка.Данные    "_КоличествоШт"    Строка
ЭтаФорма.ВладелецФормы.ЭлементыФормы.Товары.ТекущаяСтрока.НомерСтроки    4    Число
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.