Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Формы в движении ) или делаем формочки)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
хакерок
Добрый день.

Возможно кто то уже подобное делал.

Есть Форма в ней есть СправочникДерево в котором отображаеються Гуппы Справочника Номенклатура.

Внизу формы есть ПолеВвода.

Посколку групп больше 40 хочеться сделать следующую операцию. При вводе в ПолеВвода кода номенклатуры чтобы курсор СправочникДерево устанавливался в в ту Группу к которой пренадлежит данный элемент Номенклатуры.

Заранее благодарен.
Flexy
У справочников есть метод
НайтиПоКоду(<?>,);
Синтаксис:
НайтиПоКоду(<Код>,<ФлагПоиска>)
Назначение:
Найти элемент справочника по коду.
Возвращает: 1 - если действие выполнено;
0 - если действие не выполнено (элемент не найден).
Параметры:
<Код> - выражение со значением искомого кода,
<ФлагПоиска> - флаг поиска (необязателен):
  0 - поиск во всем справочнике вне зависимости от родителя;
  1 - поиск внутри установленного подчинения (родителя);
  2 - поиск по полному коду через разделитель.
Значение по умолчанию:
  0 - если код уникален во всем справочнике;
  2 - если код уникален только в группе.
Замечание:
Метод  можно использовать только для объектов,
хакерок
Цитата(Flexy @ 10.03.11, 11:06) необходимо зарегистрироваться для просмотра ссылки
У справочников есть метод
НайтиПоКоду(<?>,);
Синтаксис:
НайтиПоКоду(<Код>,<ФлагПоиска>)
Назначение:
Найти элемент справочника по коду.
Возвращает: 1 - если действие выполнено;
0 - если действие не выполнено (элемент не найден).
Параметры:
<Код> - выражение со значением искомого кода,
<ФлагПоиска> - флаг поиска (необязателен):
  0 - поиск во всем справочнике вне зависимости от родителя;
  1 - поиск внутри установленного подчинения (родителя);
  2 - поиск по полному коду через разделитель.
Значение по умолчанию:
  0 - если код уникален во всем справочнике;
  2 - если код уникален только в группе.
Замечание:
Метод  можно использовать только для объектов,

Найти в справочнике по коду это не проблема вопрос в другом в форме в дереве справочника установить курсор в конкретную группу например. Если в объекте Справочники.Номенклатура найти по коду группу то курсор в форме в дереве как стоял на первой группе так на ней стоять и будет. логично? По коду номенклатуры родителя найти не проблема хотелось бы чтоб курсор прескакивал на нужное место сам
хакерок
Разжую вопрос

В Справочнике

Код Наименование

Г1000 Амортизаторы
Г2000 Колодки
Г3000 Прокладки
Г4000 Тормозные диски



При работе форма в СправочникДерево показывает

Амортизаторы
Колодки
Прокладки
Тормозные диски


Допустим курсор стоит на группе Амортизаторы

Хочеться прогаммно установить чтобы в Форме в СправочникДерево курсор перескочила допустим на Прокладки (Разборочный пример допустим при вводе в полеввода кода Г3000)
Flexy
А так прокатит?:
...
ЭлементыФормы.СправочникДерево = ЭлементыФормы.СправочникСписок.ТекущийЭлемент()
...


Вообще надо бы почитать, как там методы есть у Дерева и как нему обращаться.
хакерок
Цитата(Flexy @ 10.03.11, 12:33) необходимо зарегистрироваться для просмотра ссылки
Вообще надо бы почитать, как там методы есть у Дерева и как нему обращаться.

В том то и дело что особо ничего там нет можно только отбор для Дерево сделать а он как раз и не желателен.

Цитата(Flexy @ 10.03.11, 12:27) необходимо зарегистрироваться для просмотра ссылки
А так прокатит?:
...
ЭлементыФормы.СправочникДерево = ЭлементыФормы.СправочникСписок.ТекущийЭлемент()
...
В справочнике списке тоже нужно будет установить курсор программно так что не катит
Creaturka
так попробуйте
ТекСсылка=Справочники.Товары.НайтиПоКоду(Элемент.Значение);
ЭлементыФормы.СправочникДерево.ТекущаяСтрока=ТекСсылка;
хакерок
Цитата(Creaturka @ 12.03.11, 11:45) необходимо зарегистрироваться для просмотра ссылки
так попробуйте
ТекСсылка=Справочники.Товары.НайтиПоКоду(Элемент.Значение);
ЭлементыФормы.СправочникДерево.ТекущаяСтрока=ТекСсылка;
Я тоже думал пойти через ссылку.
Заработало Спасибо вот фрагмент. Вводиш код группы В дереве курсор прескатвает на группу.

Процедура ПолеВвода1ПриИзменении(Элемент)
    ТекСсылка = Справочники.Товар.НайтиПоКоду(Элемент.Значение);
    ЭлементыФормы.СправочникДерево.ТекущаяСтрока = ТекСсылка;
КонецПроцедуры


Тепер сделаю тоже самое в СправочникеСписке. выложу и можно тему закрывать.
хакерок
Итак у вас есть ФормаСписка Справочника(допустим называеться Товар) В форму добавляете поле ввода.
Процедура ниже делает следующее: при вводе кода Товара в дереве устанавливает курсор в ту группу где он находиться, а в Списке на позицию в группе.
Процедура ПолеВвода1ПриИзменении(Элемент)
    ЭлементыФормы.СправочникДерево.ТекущаяСтрока = Справочники.Товар.НайтиПоКоду(Элемент.Значение).Родитель;
    ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Справочники.Товар.НайтиПоКоду(Элемент.Значение);
КонецПроцедуры
Всем спасибо вопрос решён.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.