|
v8: Как программно нажать кнопку формы или выполнить интерактивное действие записать
| ☑ |
0
ATverdikov
15.01.12
✎
14:35
|
На интерактивное действие "записать" повешаны опред обработки в модуле формы. Создаю обработку по импорту данных. Нужно программно обратится к форме справочника конкретной номенклатуры и сэмулировать нажатие кнопки "Записать". Как можно сделать?
Получаю форму
Ном - ссылка на конкретную номенклатуру
Форма = Ном.ПолучитьОбъект().ПолучитьФорму("ФормаЭлемента");
А дальше?
|
|
1
Asmody
15.01.12
✎
15:04
|
ЗаписатьВФорме()
|
|
3
asady
16.01.12
✎
09:25
|
(0) самое простое
копируй эти процедуры из модуля формы номенклатуры в модуль формы своей обработки
и вызывай их при импорте данных
Будь проще.
|
|
4
ATverdikov
18.01.12
✎
07:32
|
(3) Это далеко не проще! Более того обновил конфигурацию и опять изменяй свою доработку!
(1) Спасибо!
Сделал так:
Форма = Ном.ПолучитьОбъект().ПолучитьФорму("ФормаЭлемента");
Форма.Открыть();
Форма.ЗаписатьВФорме();
Форма.Закрыть();
все работает, а можно какнибудь сделать безвизуального открытия формы?
|
|
5
ATverdikov
19.01.12
✎
07:45
|
?
|
|
6
Поpyчик-4
19.01.12
✎
09:36
|
(4) Подход неверный. Перенеси свои "опред обработки в модуле формы" в модуль объекта.
|
|
7
1с-кин
19.01.12
✎
09:57
|
(0) если вы засунули свои обработки в форму справочника на "Записать", и поэтому теперь нужно "эмулировать" это нажатие, чтобы выполнилось все - то (6) прав.
А если надо из какой-то другой формы обратится к Справочнику, создать там Элемент - то у него есть метод Записать.
Вообще, событие ПриЗаписи - для проверки и сопутствующих действий одновременно с Записью (идут в одной транзакции), но не для правки этого же объекта или вызова рекурсивных функций.
|
|