• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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), это то что нужно. Главное, я натыкался на него, когда искал решение, но почему-то решил, что он не подойдет в моем случае.
 
Мы в соцсетях:

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