7.7 Установить элемент в форме списка справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем yourname, 12 мар 2008.

  1. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Вопрос прост: можно ли и как программно установить ТекущийЭлемент/Строку в форме списка справочника?
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Так текущий элемент или текущую строку? :)

    PS. Собственно - элемент так и устанавливается (смотри ТекущийЭлемент контекста формы), текущая строка - свойство списка.
  3. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    по-моему "АктивизироватьОбъект(...)" или что-то в этом роде, смотри синтакс-помошник
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Сорри - не посмотрел, что это 77 :)
  5. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Как раз этот метод я не пробовал, т.к. он для режима выбора, а у меня режим обычный, но идея хорошая, попробую... :unsure:

    ...в обычном режиме, как я и ожидал, не прокатило...
    попробую намутить с режимом выбора

    Изначально задача была такова: в форме элемента справочника сделать кнопку, по нажатию которой открывается форма списка справочника с этим текущим элментом.

    все получилось с использованием подбора, криво но работает. Хотелось бы без использования режима выбора, просто показать этот элемент в форме списка
  6. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    буков много, не понятно ничего.
    Ещё раз задачу и код кажи.
  7. TopicStarter Overlay
    yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    Задача была простая при нажатии кнопки в форме элемента номенклатуры должна открываться форма списка данного справочника и курсор должен стоять на этом элементе, у которого нажали кнопку. Задача решена, с использованием метода подбора. Но если есть другие варианты, они тоже интересны!
  8. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    у меня сработало ...
  9. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    В кнопке пишешь
    Код:
    ОткрытьФорму("Справочник.Номенклатура.Основная",глВзятьКонтекст(Контекст));
    
    В форме списка ПриОткрытии
    Код:
    Парам=Форма.Параметр;
    Если ПустоеЗначение(Парам)=0 Тогда
    АктивизироватьОбъект(Парам.ТекущийЭлемент());
    КонецЕсли;
    
    наслаждаешься
  10. eshtrey
    Offline

    eshtrey

    Регистрация:
    29 апр 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    У меня похожий вопрос,
    а если активизироватьОбъект() не подходит, пишет "В данной формуле не может быть вызвана эта процедура(функция)", т.е. надо спозиционировать ни в подборе, а когда работаешь в справочнике, например делаешь поиск.

    Т.е. в справонике есть поле для ввода строки для поиска, а в результате надо выбрать курсором найденны
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Для примера смотри как реализован поск в справочнике Номенклатуры в ТиС
  12. eshtrey
    Offline

    eshtrey

    Регистрация:
    29 апр 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Если я не ошибаюсь, то поиск там сделан через кнопку,
    а мне надо из текстового реквизита. Набираю там некий шаблон для поиска, нажимаю ENTER.
    Вызывается процедура, кот. находит нужный мне объект по нужным мне реквизитам, необязательно отражаемым.
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) создай процедуру в теле модуля которую хочешь вызывать
    2) создай реквизит диалога в который вводишь строку поиска
    3) в этом реквизите на закладке дополнительно в графе формула укажи имя процедуры поиска (п.1)
  14. eshtrey
    Offline

    eshtrey

    Регистрация:
    29 апр 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Если бы было все так просто, я именно так и делаю, а в ответ ошибка "В данной формуле не может быть вызвана эта процедура(функция)"

    но если сделать кнопку с вызовом этой процедуры, то ошибки нет, но надо без кнопки
  15. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Это будет сложно, и оно этого не стоит.
    Сделай специальную кнопку и повесь на нее горячую клавишу (например F7). Юзер набирает текст жмет F7 и попадает на нужный элемент.

    По другому - только использование внешних компонент (для этого примера я в свое время много перебрал, на 100% рабочего не нашел).
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    опиши подробнее где ты находишься (ФормаДокумента, СписокСправочника)
  17. eshtrey
    Offline

    eshtrey

    Регистрация:
    29 апр 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1

    а почему не стоит? Даже поиск по форумам все делают по нажатию на ввод, а не на кнопку специальную


    Справочник, ФормаСписка
    Есть текстовый реквизит, в нем пользователь пишет шаблон для поиска, напрмер "Спр" и жмет enter
    для поиска слова "Справочник".

    Если я свою процедуру вставляю в поле формула реквизита, то ошибка,
    если делаю кнопку и там вызываю процедуру, то работает.
  18. alf2006x
    Offline

    alf2006x

    Регистрация:
    17 янв 2014
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Не прошло и 5-ти лет, поэтому отвечаю :D
    Можно без кнопки!
    Очень просто: в процедуре поиска заполняете объявленную в модуле формы списка переменную ТекущееВыбранноеЗначение нужным элементом, на который надо спозиционироваться.
    После этого сразу пишете Форма.Закрыть().
    Ну а в ПриЗакрытии() уже АктивизируетеОбъект(ТекущееВыбранноеЗначение)
    И совершенно не обязательно если ТекущееВыбранноеЗначение не пустое закрывать форму. Для такого случая в ПриЗакрытии() делаем СтатусВозврата(0) и Возврат.
    Работает (проверял).

Поделиться этой страницей