Имя: Пароль:
1C
1C 7.7
v7: Запустить процедуру в контексте формы - Поле агрегатного объекта не обнаружено ()?
0 vdeemer
 
15.02.18
16:41
Доброго времени суток!
ТиС 9.2, открывается форма обработки, ее контекст (получен через глВзятьКонтекст) сохраняется в глобальной переменной. Из глобального модуля пытаюсь вызвать экспортную процедуру "Сформировать" из модуля этой формы: "Поле агрегатного объекта не обнаружено (Сформировать)". Пытался КонтекстФормыОбработки.Сформировать() и КонтекстФормыОбработки.Форма.Сформировать() - не ферштеет оно меня. Мне надо снимать лыжи или это уже крыша уехала? Спасибо.
1 Kigo_Kigo
 
15.02.18
16:45
Снимите лыжи, положите на крышу
и вообще нафиг так делать то?
2 vdeemer
 
15.02.18
16:46
(1) Мне надо при открытой форме обработки (даже если она не активна) периодически перечитывать таблицу значений.
3 Kigo_Kigo
 
15.02.18
16:47
(2) Передай ТЗ в глобальник, и там ее перечитывай, из глобальника сформировать не вызовешь
4 Kigo_Kigo
 
15.02.18
16:49
Или открывай из глобальника с передачей праметра- пересчитать, ПриОткрытии()
ПараметрыОткрытия = Форма.Параметр;
Если ПараметрыОткрытия  = "Пересчитать" тогда
Сформировать()
5 vdeemer
 
15.02.18
16:50
(4) Не, ее из ГМ открывать не надо - ее открывают интерактивно
6 Kigo_Kigo
 
15.02.18
16:51
Можно на форме положить
Форма.ОбработкаОжидания("Сформировать",15);
7 vdeemer
 
15.02.18
16:51
(3) А потом ТЗ.Выгрузить(ТаблицаНаФорме....)?
8 vdeemer
 
15.02.18
16:52
(6) А разве это не из ГМ должна быть процедура?
9 trdm
 
15.02.18
16:54
(0) > Из глобального модуля пытаюсь вызвать экспортную процедуру "Сформировать" из модуля этой формы:

Это работает только с 1С++ c включеным турбобулом.
В штатной 1С такого нет.
10 Kigo_Kigo
 
15.02.18
16:55
В ГМ ОбработкаОжидания()
На форме - Через Форма.ОбработкаОжидния() не документированная функция, но рабочая вплодь до 27 релиза
11 vdeemer
 
15.02.18
16:58
(9) А как включить это животное? 1CPP.dll имеется.
(10) Релиз 27, но не работает((
12 Kigo_Kigo
 
15.02.18
17:00
(11) Форма.ОбработкаОжидания("Сформировать",15);
Положить надо самой последней строкой в модуле, после всех функция и процедур
13 Kigo_Kigo
 
15.02.18
17:01
14 vdeemer
 
15.02.18
17:01
(13) Спасибо, ща заделаю
15 Злопчинский
 
15.02.18
17:49
можно вызвать процедуру обработки через Формекс
16 Злопчинский
 
15.02.18
17:51
ВыполнитьПроцедуру(<?>,,)
Синтаксис:
ВыполнитьПроцедуру(<Контекст>,<ИмяПроцедуры>,<СписокАргументов>)
Назначение:
Метод предназначен для выполнения процедуры в заданном контексте.
Возвращает 1 в случае успеха, 0 - в противном случае.
ПРИМЕР:
Перем Конт;
Сервис = СоздатьОбъект(''Сервис'');
ОткрытьФорму(''Обработка.Демо'', Конт);
Список = СоздатьОбъект(''СписокЗначений'');
Список.ДобавитьЗначение(''Первый параметр'');
Список.ДобавитьЗначение(''Второй параметр'');
Список.ДобавитьЗначение(''Третий параметр'');
Сервис.ВыполнитьПроцедуру(Конт, ''Выполнить'', Список);
17 vdeemer
 
16.02.18
08:26
(16) и перед этим всем ЗагрузитьВнешнююКомпоненту("FormEx.dll")?
18 Злопчинский
 
16.02.18
08:35
Угу
AdBlock убивает бесплатный контент. 1Сергей