Имя: Пароль:
1C
1C 7.7
v7: 1С++ TurboBL, как обратится к методу объекта через контекст?
0 Zhuravlik
 
07.09.12
14:34
Добрый день. Заинтересовался вот статьей http://infostart.ru/public/14299/ про TurboBL. У меня есть в базе 1СPP.dll (3.2.3.20).
В ПРиНачалеРаботыСистемы прописано -

      оНастр = СоздатьОбъект("УправлениеНастройками");
      оНастр.Включить("TurboBL");

Не получается обратиться к методу объекта через его контекст, как в примере из статьи, пишет "Поле агрегатного объекта не обнаружено".
1 ЧеловекДуши
 
07.09.12
14:35
Зачем? Он и так стартует по умолчанию.
2 Zhuravlik
 
07.09.12
14:37
(1) Когда возник сабж, прописал на всякий.
3 ДенисЧ
 
07.09.12
14:38
конт = "";
ОткрытьФорму(ВыбДок.текущийДОкумент(), конт);

конт.ПроцедураДокументаОбъявленнаяСЭкспортом();
4 Zhuravlik
 
07.09.12
14:38
(4) с экспортом?)))
5 Zhuravlik
 
07.09.12
14:40
Все-равно не хочет...
6 Zhuravlik
 
07.09.12
14:42
Помогите, люди добрые...
7 ДенисЧ
 
07.09.12
14:43
У меня работает...
8 ЧеловекДуши
 
07.09.12
14:47
Забей на обработку, вернее, обработка использует старую версию библиотеки :)
Лучше постарайся нарыть в инете ту версию, какова была на дату 15.08.2006
И у тебя все получится :)
9 Zhuravlik
 
07.09.12
14:52
(8) Скачал демоконфу вот отсюда http://openconf.1cpp.ru/vk/turbobl/, посмотрел, там не ставится слово экспорт.
Зменил в нем загрузку ТурбоБЛ на свой длл 1С++, в демоконфе все работает...
А у меня - нет. Ничего не пойму(
10 Zhuravlik
 
07.09.12
14:57
Может глушится?
вот еще что использую:

   спВК.ДобавитьЗначение("1cpp.dll");
   спВК.ДобавитьЗначение("1sqlite.dll");
   спВК.ДобавитьЗначение("FormEx.dll");
   спВК.ДобавитьЗначение("SpreadSheet.dll");
   спВК.ДобавитьЗначение("cmail.dll");
   спВК.ДобавитьЗначение("RiK_Inet.dll");
11 Ёпрст
 
07.09.12
14:58
(9) видать еще и турбомд есть ?
12 Ёпрст
 
07.09.12
14:59
на вкладке о программе, вк каких версий ?
13 Ёпрст
 
07.09.12
15:00
и тамже, у 1срр
в информации о настройках, что написано ?

должно быть, что то типа этого :

Информация о настройках:

EnableHookEventsGroupContext: 1
EnableCheckType: 0
EnableDebugging: 0
EnableOptimization: 1
EnableTableSourceTable: 1
EnableTurboBL: 1
14 Zhuravlik
 
07.09.12
15:03
(11) есть)
1С++ - 3.2.3.20
Инфо:
EnableHookEventsGroupContext: 0
EnableCheckType: 0
EnableDebugging: 0
EnableOptimization: 1
EnableTableSourceTable: 1
EnableTurboBL: 1

Formex - 2.05.99 beta
15 Zhuravlik
 
07.09.12
15:03
EnableHookEventsGroupContext: 0 - а как включить?
16 Zhuravlik
 
07.09.12
15:05
(15) или оно мне не надо? Это же перехватчик?
17 Zhuravlik
 
07.09.12
15:06
+ т.е. не оно мне надо? чтобы сабж решился?
18 Ёпрст
 
07.09.12
15:07
(15) оно тебе не надо.
Тогда всё должно работать, в том числе, вызов методов через контекст формы.

Код показывай, который не работает.
19 Zhuravlik
 
07.09.12
15:11
док = СоздатьОбъект("Документ.ТестовыйДОК");    
   док.ОбратныйПорядок(1);
   док.ВыбратьДокументы();
   Пока док.ПолучитьДокумент() = 1 Цикл
       конт = "";
       ОткрытьФорму(док.ТекущийДокумент(), конт);
       
       конт.Тест();
       Прервать;
       
   КонецЦикла;
   
В самом документе, в модуле формы прописано

Процедура Тест() Экспорт
Сообщить("Заработало)))))");
КонецПроцедуры;


И тишина...

А можно еще попутно вопрос? Я недопонимаю, функцинал формекса полностью включен в 1С++, или нет? Может мне не нужно его загружать?
20 Ёпрст
 
07.09.12
15:17
(19) формекс сто лет в обед самостоятельная ВК
21 orefkov
 
07.09.12
15:17
(19)
ВК должна работать, поэтому если пишет, что поля нет - значит, его нет.
Какой-то у тебя косяк, посмотри внимательно.

Точно ли процедура Тест в модуле формы дока "ТестовыйДОК"?
Нет ли там #ЗагрузитьИзФайла?
Ту ли базу запускаешь?
22 Ёпрст
 
07.09.12
15:20
и это, твой пример рабочий.
23 Ёпрст
 
07.09.12
15:20
И возможно, что еще и турбомд загружена..
24 Zhuravlik
 
07.09.12
15:21
(20) просто обратил внимание в пункте "О программе" 1С++
"Алексей Фёдоров aka АЛьФ
подсистема FormEx"

(21) Нет, все правильно.
Процедура в теле дока.
#ЗагрузитьИзФайла - не пользуюсь уже больше полугода, спасибо за ТурбоМД))
База та 101%
Не работает(
25 Ёпрст
 
07.09.12
15:21
и Экспорт там не нужен..
26 Zhuravlik
 
07.09.12
15:21
(23) Да загружена. Но конфу сохранил, и тестировал после этого.
27 Zhuravlik
 
07.09.12
15:22
(3) Посоветовал экспорт, уже убрал, хотя что с ним что без него...
28 Ёпрст
 
07.09.12
15:22
(24)
>>>>спасибо за ТурбоМД

биомать а ?

см. (11)
29 Ёпрст
 
07.09.12
15:23
Теперь качаем правильный турбомд и наслаждаемся
30 Ёпрст
 
07.09.12
15:23
31 Zhuravlik
 
07.09.12
15:23
(28) Я же сказал, что есть - (14)
(29) Правильный? А откуда?
32 Zhuravlik
 
07.09.12
15:26
(30) Заработало)))) А он аналогичен старому? Все то-же?
33 Ёпрст
 
07.09.12
15:31
(32) он рабочий, а всё остальное не важно
34 Zhuravlik
 
07.09.12
15:33
Ай красота))))) Спасибо большое всем за помощь и советы)))
35 Zhuravlik
 
07.09.12
16:24
(33) Не такой уж и рабочий(
тмд=СоздатьОбъект("ТурбоМД");
тмд.ОткрытьОкно();

Поле агрегатного объекта не обнаружено (ОткрытьОкно)
36 orefkov
 
07.09.12
16:28
(35)
Он рабочий в плане совместимости с последними версиями 1С++ и формекс.
И в плане выполнения своих задач.
А ГУИ в виде ОткрытьОкно - было удалено, ввиду не особой нужности, тк все для удобного руления есть в опенконфе.
37 Zhuravlik
 
07.09.12
16:31
(36) А подскажите пожалуйста, можно ли с его помощью получить список реквизитов формы для объекта?
Просматривал сам текстовичок формы, ничего не понял, как он реквизиты сохраняет.
38 Ёпрст
 
07.09.12
16:33
(37) просто выгружает контейнер маинметадатастрим и усё.
39 orefkov
 
07.09.12
16:43
(37)
Если только вручную парсить этот файл. Он точно в том виде, как его хранит сама 1С.
40 Ёпрст
 
07.09.12
16:47
(39) а саму открытую форму чего либо из предприятия выгрузить таким же способом можно чем нить ?
В своё время просил АЛьФа.. и никак.
41 ADirks
 
10.09.12
08:51
(40) в принципе gcomp'ом можно (с ключом --filter), хоть и изврат конечно
42 Ёпрст
 
10.09.12
10:18
(41) та не, из Предприятия...
Я форму поправил на ходу, а потом её выгрузить и скормить turbomd
43 orefkov
 
10.09.12
10:23
(42)
А на ходу ты как ее поправил?
Окошки контролов двигал?
44 Ёпрст
 
10.09.12
10:28
(43) да, вот это хотел доделать:

http://infostart.ru/public/20885/
45 Ёпрст
 
10.09.12
10:29
через атрибуты, изменяю размер/положения контролов из предприятия, хочу эту форму выгрузить, как это делает turbomd.vbs, только в самом предприятии.
46 orefkov
 
10.09.12
10:49
(45)
Не выйдет скорее всего, нету функционала сериализовать все обратно.
47 ЧеловекДуши
 
10.09.12
10:53
(44)Зачем?
48 ЧеловекДуши
 
10.09.12
10:54
+ Но все ровно молодец...
Бессмысленно и беспощадно, но впечатляет :)
49 Ёпрст
 
10.09.12
13:50
(46) плохо.
Можно конечно и "руками" попробовать распарсить все контролы.. но как-то это не айс
Основная теорема систематики: Новые системы плодят новые проблемы.