• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы moobi
  • Дата начала
M

moobi

День добрый!

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

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

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

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

Дайнеко

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

moobi

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

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

moobi

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

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

Дайнеко

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

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

moobi

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!