Выполнение процедуры после открытия формы

1. BAMPER 21.06.13 06:57 Сейчас в теме
День добрый!

Пытаюсь подчинить одну компоненту, пока не сдается....

Есть процедура(в ней вызывается функция) назначена на кнопку, после запуска обработки и открытия формы нажимаю кнопку, все ок, все работает.

Вешаю код ПриОткрытии, фиг не дает запустить, говорит "Значение не является значением объектного типа".

Вопрос такой: Можно ли в 8-ке оформить процедуру которая бы запускалась после открытия формы?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
6. turbo232 21.06.13 07:19 Сейчас в теме
(1) BAMPER, поставь вызов процедуры в конец обработчика ПриОткрытии. И да, на что конкретно ругается?
2. PhoenixAOD 62 21.06.13 07:07 Сейчас в теме
А по точнее можно? Что именно хотите?
3. BAMPER 21.06.13 07:11 Сейчас в теме
(2) PhoenixAOD, Там долго рассказывать про саму компоненту! Если в двух словах она работает с веб камерой.
Я хочу чтобы при запуске он автоматом находил камеру и включал ее, чтобы не нажимать кнопку.

Если процедура на кнопке, все работает. Если ПриОткрытии, вываливает ошибку...
Вот и подумал может есть возможность вызвать ее ПослеОткрытия, фактически такой процедуры нет в 8.
Форма НЕ управляемая!
4. Stormicon 8 21.06.13 07:15 Сейчас в теме
А какую ошибку вываливает? Просто по идее, процедура ПриОткрытии() выполняется уже в присутствии объекта, т.е. работать должно.
5. PhoenixAOD 62 21.06.13 07:18 Сейчас в теме
Ну вообще должно работать
Процедура ПриОкрытии()
кнНАжатиеВебка()
Конецпроцедуры
7. BAMPER 21.06.13 07:23 Сейчас в теме
Это ругается на код в функции:
Значение не является значением объектного типа (Выгрузить)
Если CamList.Выгрузить().Количество() > 0 Тогда

Эту функцию вызывает процедура:
CamList = ЭлементыФормы.ЭлементУправления1.CamList;
СписокКамер = СформироватьСписокКамер(CamList);
19. turbo232 21.06.13 09:06 Сейчас в теме
(7) BAMPER,
Это ругается на код в функции:
Значение не является значением объектного типа (Выгрузить)
Если CamList.Выгрузить().Количество() > 0 Тогда

Эту функцию вызывает процедура:
Код
CamList = ЭлементыФормы.ЭлементУправления1.CamList;
СписокКамер = СформироватьСписокКамер(CamList);


CamList из
СформироватьСписокКамер(CamList)
и CamList из
CamList.Выгрузить().Количество()
это одно и то же? Если так, то разве у элемента управления CamList может быть метод Выгрузить() ?
8. BAMPER 21.06.13 07:27 Сейчас в теме
Разницы нет в конце или в начале, это актив икс, в процедуре ПриОткрытии ничего к ней не обращается
9. PhoenixAOD 62 21.06.13 07:31 Сейчас в теме
Ты сам писал, что по кнопке эта беда выполняется. и у тебя проблема, что при открытии эта процедура не выполняется. правильно?
10. BAMPER 21.06.13 07:36 Сейчас в теме
11. turbo232 21.06.13 07:40 Сейчас в теме
Возможно, ошибка из-за того, что ПриОткрытии выполняется до показа формы пользователю.
Как вариант:

Перем ЭтоОткрытие;

Процедура ОбновлениеОтображения()
	Если ЭтоОткрытие Тогда
                //Вызов процедуры
		ЭтоОткрытие = Ложь;
	КонецЕсли;
КонецПроцедуры

Процедура ПриОткрытии()
	ЭтоОткрытие = Истина;
КонецПроцедуры
Показать
vidar_vv; freeek; kimskiysanya; ne_en; +4 Ответить
12. BAMPER 21.06.13 07:46 Сейчас в теме
(11) turbo232, фиг тоже самое говорит "Значение не является....."
За ответ спасибо!
22. vidar_vv 18.10.23 18:08 Сейчас в теме
13. PhoenixAOD 62 21.06.13 07:48 Сейчас в теме
Процедура ПриОткрытии()
ОбновлениеОтображения()
КонецПроцедуры

Вот так попробуй,и значие ИСтина поставь качо
14. BAMPER 21.06.13 08:29 Сейчас в теме
(13) PhoenixAOD, так тоже нет...
Все это все равно выполняется при открытии, может можно запустить процедуру например после того, как форма открылась и какой-нибудь элемент получил фокус?
15. PhoenixAOD 62 21.06.13 08:38 Сейчас в теме
Так даже может получится много проще, поробуй
16. SamNeSvoy 7 21.06.13 08:51 Сейчас в теме
Как вариант:

Процедура ПриОткрытии()
  ПодключитьОбработчикОжидания("ПодключитьВебку", 3, Истина); 
КонецПроцедуры

Процедура ПодключитьВебку()
  Попытка
    //твой код подключения
  Исключение
    Сообщить("Не удалось подключение!");
  КонецПопытки;
КонецПроцедуры
Показать

в таком случае процедура отработает после открытия формы

ЗЫ задержку 3 сек поставил на вскидку.. думаю можно меньше
shard; ch1mera; kimskiysanya; +3 Ответить
17. alex_sear 21.06.13 08:59 Сейчас в теме
А если вот так:

Процедура ПриОткрытии()
	Сообщить("При открытии");
	ПодключитьОбработчикОжидания("Проверка", 1);
КонецПроцедуры

Процедура Проверка()
	Если ЭтаФорма.ВводДоступен() Тогда
		ОтключитьОбработчикОжидания("Проверка");
	КонецЕсли;
	Сообщить("Запускаем действие");
КонецПроцедуры;
Показать
bird21; Kazaams; shard; ch1mera; alex-l19041; freeek; kimskiysanya; Garstag; +8 Ответить
18. SamNeSvoy 7 21.06.13 09:02 Сейчас в теме
(17) alex_sear, чуть-чуть не успел ))
20. BAMPER 21.06.13 09:26 Сейчас в теме
(18) SamNeSvoy, Слушай спасибо тебе огромноЕ!!!! Все работает даже с 1-ой секундой =)
У меня кстати ни разу не получилось обработчиком ожидания воспользоваться... =)

(19) turbo232, Спасибо тебе тоже за ответы!
Там не одно и тоже, в функции он разбирает параметры камеры и запихивает в массив, т.е ее разрешение и имя!
Всем спасибо за ответы =)
21. Antyp 3 20.03.17 16:07 Сейчас в теме
&НаКлиенте
Процедура ЭтаФорма__ПриОткрытии(Отказ)
	ПодключитьОбработчикОжидания("ПроверкаДоступностиВводаНаФорме", 1);
КонецПроцедуры

&НаКлиенте
Процедура ПроверкаДоступностиВводаНаФорме();
	Если ЭтаФорма.ВводДоступен() Тогда
		ОтключитьОбработчикОжидания("ПроверкаДоступностиВводаНаФорме");
		
....
		
	КонецЕсли;	
КонецПроцедуры
Показать
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)