1c 7.7 Программно Создать Новый Элемент В Формесписка Справочника

Тема в разделе "1C и всё что с ней связано", создана пользователем moobi, 21 авг 2012.

  1. moobi

    moobi Гость

    День добрый!

    Снова нужен совет профессионалов, бьюсь уже не один день. Проблема в следующем:

    Есть Справочник Телефоны, в свойствах которого установлена опция "Редактировать:" значением "в списке".
    Открываю справочник программно через ОткрытьФорму("Справочник.Телефоны.ФормаСписка",). Нужно, что бы после того, как он откроется, интерактивно, без сохранения, сделать новой запись, и в одном из реквизитов справочника прописать переданное значение и ничего не делать. Дальше пользователь сам заполнит оставшиеся реквизиты и сохранит, если посчитает нужным.

    Т.е. это должно выглядить так, открывается справочник, дальше как будто бы нажимается Insert и создается строка, в одном из столбцов прописывается значение.

    Посмотрел по инету, не смог по 7.7 найти какое-нибудь рабочее решение. Разве что создать объект WScript.Shell и через SendKeys сэмулировать нажатие Insert, несколько Tab'ом c последующим вводом текста. Но это не очень надежное решение.
     
  2. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Да. Стандартными ср-ми этого не сделаешь. WScript.Shell годится, сам использую.
    2 вариант: программно создать элемент, записать. Пользователь редактирует.
    3 вариант: отказаться от самой идеи, сделать другим способом.
     
  3. moobi

    moobi Гость

    Спасибо, значит нет смысла дальше тратить время на поиски решения. Воспользуюсь WScript.Shell, посмотрю, как будет работать в реальных условиях, если не стабильно, как-нибудь иначе реализую.
     
  4. moobi

    moobi Гость

    Столкнулся с проблемой, WScript.Shell хорошо справляется, но если выключен режим отображение групп. Если клавиша "Установка (отключение) режима вывода списка по группам" не нажата, то клавиша "Новая строка" не активна, и поэтому Insert не срабатывает.

    Есть ли возможность программно установить режим вывода списка по группам или хотя бы как-то проверить, в каком он сейчас режиме?
     
  5. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Гм-м! Не в качестве наезеда, а представления о Вашем опыте вопрос: а как пользователь, Вы 1С изучали?
    Это я к тому, что про Инсерт в списке знает последний бух-р.

    Ответ на Ваш вопрос: ИерархическийСписок(1,);
     
  6. moobi

    moobi Гость

    Я, наверно, слишком подробно объяснить пытаюсь. Про инсерт я написал в контексте того, что SendKeys({INSERT}) не сработает из отключенного режима отображения групп. Когда тестировал, режим не менял, и как-то вылетело из головы.

    Спасибо за ИерархическийСписок(1,0), это то что нужно. Главное, я натыкался на него, когда искал решение, но почему-то решил, что он не подойдет в моем случае.
     
Загрузка...

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