Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как програмно установить в ТЧ документа курсор на нужную колонку
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Sharzem
Всем привет, 1 С 7.7. Конфигурация не имеет значения

Имеется метод для таблицы значений:

ТекущаяКолонка(<?>,);
Синтаксис:
ТекущаяКолонка(<НоваяКолонка>,<ТекущаяКолонка>)
Назначение:
Установить/определить текущую колонку таблицы в элементе диалога типа ''ТаблицаЗначений''.

Для табличной формы имеется:

Форма.ТекущаяКолонка();
Синтаксис:
Форма.ТекущаяКолонка()
Назначение:
Возвращает строковое значение - идентификатор текущей колонки многострочной части.

Вопрос: как в документе где имеется Табличная часть после выполнения АктивизироватьСтроку() перейти на нужную колонку ? Из вышеизложеного получается что для ТЗ такое предусмотрено, а для ТЧ только значение идентификатора и все ?

Acid
никак
Fynjy
Цитата(Acid @ 18.10.13, 11:21) необходимо зарегистрироваться для просмотра ссылки
никак

Да ладно ... На что спорим?
mister-x
зовнішня компонента?
Домовик
Может я задачу не понимаю, но у меня получилось через: АктивизироватьСтроку(); Активизировать(); Последний - ставит курсор на нужной колонке.
Acid
Цитата(Fynjy @ 18.10.13, 13:37) необходимо зарегистрироваться для просмотра ссылки
Да ладно ... На что спорим?

Кто спорит, тот в штаны напорет. haha.gif
Sharzem
Цитата(Домовик @ 18.10.13, 14:25) необходимо зарегистрироваться для просмотра ссылки
Может я задачу не понимаю, но у меня получилось через: АктивизироватьСтроку(); Активизировать(); Последний - ставит курсор на нужной колонке.


Спасибо, буду пробывать.
Sharzem
Цитата(Домовик @ 18.10.13, 14:25) необходимо зарегистрироваться для просмотра ссылки
Может я задачу не понимаю, но у меня получилось через: АктивизироватьСтроку(); Активизировать(); Последний - ставит курсор на нужной колонке.


Че то у меня не выходит, Активизировать() вообще никак не реагирует. Может имеется у кого возможность поделиться примером ? help.gif

Домовик
для проверки, у меня было записано в формуле кнопки формы документа БанковскаяВыписка :
АктивизироватьСтроку(3); Активизировать("Субконто3", 1);




возможно, вы не с модуля формы вызываете
Sharzem
Цитата(Домовик @ 18.10.13, 17:29) необходимо зарегистрироваться для просмотра ссылки
возможно, вы не с модуля формы вызываете

Совершенно верно, Активизировать() отрабатывает ведь в предопределенных процедурах, поэтому как обычно использую:


</p><p>  Сп=СоздатьОбъект("СписокЗначений"); Сп.Установить("Контекст",  Контекст); 
Сп.Установить("Поле", Кво);
   ОткрытьФормуМодально("Обработка.АктивизироватьПоле", Сп); </p><p>


В Обработке:

</p><p>  Процедура ПриОткрытии()</p><p>   Сп=Форма.Параметр; 
   Конт=Сп.Получить("Контекст");
   Поле=Сп.Получить("Поле");
    </p><p>Если ТипЗначенияСтр(Поле) = "Справочник" Тогда
     Конт.АктивизироватьОбъект(Поле);
    Иначе
     Конт.Активизировать(Поле,1);
    КонецЕсли;
  СтатусВозврата(0);
КонецПроцедуры  </p><p>


Домовик
Синтакс-Помощник:

Активизировать() "Доступ к методу возможен только в контексте Модуля формы."..


АктивизироватьСтроку() "Метод доступен только в Модуле формы документа и работает с документом доступным в локальном контексте."...
Sharzem
Мда, огромное спасибо, все получилось.

Перем Актив;
Процедура ПриЗакрытии()
Если Актив = 1 Тогда
Активизировать("Кво",1);
Актив = 0;
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры

// ПриЗакрытии
Процедура МояПроцедура()
//...бла-бла-бла
АктивизироватьСтроку(НужнаяСтрока)
Актив = 1
Форма.Закрыть(0)
КонецПроцедуры()




Да простят меня модераторы, но что-то не получилось. После предварительного просмотра код как-то сам отредактировался до неузнаваемости
logist
Цитата(Sharzem @ 19.10.13, 10:44) необходимо зарегистрироваться для просмотра ссылки
После предварительного просмотра код как-то сам отредактировался до неузнаваемости

Не узнаваемость лечится копированием кода сразу из 1С, а не через какой-то текстовый редактор типа ворда.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.