Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Rich Editor для 1С (число прочтений - 11997 )
EugenVitla
Junior Member
**
Отсутствует


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Rich Editor для 1С
Ответ #15 - 20. Октября 2008 :: 14:09
Печать  
у меня 30 юзеров в терминале. как ни выё - у каждого своя память.
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Rich Editor для 1С
Ответ #16 - 19. Ноября 2008 :: 21:04
Печать  
artbear писал(а) 20. Октября 2008 :: 07:35:
...
3. Ну и нужно вспомнить, что класс-наследник АктивИкс может получать событие от АктиИкс непосредственно.
В этом случае в имени события нет имени атрибута.
Читаем доку Улыбка


Документация:
Цитата:
Для обработки событий в модуле реализации КОП экземпляр класса должен быть создан следующим образом:

АтрФормы = СоздатьОбъект("АтрибутФормы");
АтрФормы.УстановитьАтрибут(Форма,"ФДерево");
Дерево=СоздатьОбъект("Дерево");//класс-наследник АктивИкс
АтрФормы.СоздатьЭлементУправления(Дерево); // СоздатьЭУ
Дерево.СоздатьЭУ("MSComctlLib.TreeCtrl");


Этот прием у меня не работает (1с++ 3.0.19). Работает лишь:
Цитата:
Перем Дерево;
Процедура ПослеОткрытия()
   Ф=СоздатьОбъект("Форма");
   Ф.УстановитьФорму(Форма);
   Дерево=Ф.СоздатьЭлементУправления("Дерево","ФДерево");
   Дерево.СоздатьЭУ("MSComctlLib.TreeCtrl");
КонецПроцедуры

При этом вызывается обработчик события в форме, а не в модуле КОП.
Порыскал по форуму - не нашел
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Rich Editor для 1С
Ответ #17 - 20. Ноября 2008 :: 08:14
Печать  
blindvic писал(а) 19. Ноября 2008 :: 21:04:
Документация:
Цитата:
Для обработки событий в модуле реализации КОП экземпляр класса должен быть создан следующим образом:

АтрФормы = СоздатьОбъект("АтрибутФормы");
АтрФормы.УстановитьАтрибут(Форма,"ФДерево");
Дерево=СоздатьОбъект("Дерево");//класс-наследник АктивИкс
АтрФормы.СоздатьЭлементУправления(Дерево); // СоздатьЭУ
Дерево.СоздатьЭУ("MSComctlLib.TreeCtrl");


Этот прием у меня не работает (1с++ 3.0.19).

Должен работать и такой вариант при загруженном FormEx
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Rich Editor для 1С
Ответ #18 - 20. Ноября 2008 :: 09:01
Печать  
Я нашел ошибку, теперь работает.
Правда работает вариант Форма.СоздатьЭлементУправления(...).
Вариант АтрФормы.СоздатьЭлементУправления(...) вызывает ошибку.

Другой вопрос:

Есть ли способ перехватить все события, не зная их имен и параметров? Что-то вроде
Процедура Событие_КОП(ИмяСобытия, СпЗнПараметры)
?

Дело в том, что согласно документации WebBrowser control должен посылать событие DocumentComplete, но соответствующий обработчик события на форме не вызывается - т.е. либо я неправильно сделал обработчик, либо событие действительно не вызывается - но я хотел бы посмотреть все события к-е Актвикс посылает форме. Как?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Rich Editor для 1С
Ответ #19 - 20. Ноября 2008 :: 10:09
Печать  
blindvic писал(а) 20. Ноября 2008 :: 09:01:
Есть ли способ перехватить все события, не зная их имен и параметров? Что-то вроде
Процедура Событие_КОП(ИмяСобытия, СпЗнПараметры)
?

Дело в том, что согласно документации WebBrowser control должен посылать событие DocumentComplete, но соответствующий обработчик события на форме не вызывается - т.е. либо я неправильно сделал обработчик, либо событие действительно не вызывается - но я хотел бы посмотреть все события к-е Актвикс посылает форме. Как?

Нет, нельзя.

Показывай код обработчика?
Другие события работают?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Rich Editor для 1С
Ответ #20 - 20. Ноября 2008 :: 15:17
Печать  
Прилагаю тестовую конфу. Две проблемы
1. В классе Richeditor не вызывается событие DocumentComplete, хотя, по идее должно.
2. В конфе с справочнике "Комментарии" есть один элемент. Открывается нормально, но почему-то изменения не сохраняет
  

Richedit.7z ( 27 KB | Загрузки )
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Rich Editor для 1С
Ответ #21 - 24. Ноября 2008 :: 07:26
Печать  
blindvic писал(а) 20. Ноября 2008 :: 15:17:
2. В конфе с справочнике "Комментарии" есть один элемент. Открывается нормально, но почему-то изменения не сохраняет

Странно как-то - не могу понять из-за чего это происходит. Если Менять содержимое поля напрямую - все нормально, а если содержимое меняется при редактировании поля РичЕдит, то сохранение не срабатывает - содержимое Источника сбрасывается на значение сохраненное в базе. Можете посмотреть?

И еще один вопрос:
По идее этот РичеЕдит поддерживает УТФ-8 (WebBrowser Control). По идее MySQL - тоже. Реально ли средствами 1С организовать отбражение и сохранение юникода в 1С, используя таблицу MySQL и данный RichEdit?

И еще, бредовая идея в догонку: сделать класс собственной формы элемента справочника, к-й открывает форму внешнего отчета, на к-й только один РичЕдит на всю форму. Внутрь этого РичЕдита будем отображать все поля справочника. Плюсы: поддержка юникод и HTML layout. Что думаете об этом?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Rich Editor для 1С
Ответ #22 - 24. Ноября 2008 :: 07:38
Печать  
Смотрю тест.

Есть куча замечаний Печаль :
1. В классе нельзя хранить циклическую ссылку Печаль - в подавляющем большинстве случаев Печаль
Например, на самого себя
Т.е. нельзя юзать
Перем Конт; // контекст данного объекта

Нужно юзать спец.функции типа вирт() вместо контекста

2. Я везде пишу, что 1С++ должен грузиться самым первым, до ФормЕкс, иначе правильность работы перехватчика не гарантируется Печаль

3. По DocumentComplete точно сказать не могу, но помню, что при работе с обычными vbs-скриптами были какие-то проблемы и приходилось вводить асинхронную развязку по таймеру для получения события.

После выполнения п.1 Комментарий стал сохраняться нормально.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Rich Editor для 1С
Ответ #23 - 24. Ноября 2008 :: 10:22
Печать  
Спасибо большое! Заработало.
А как насчет:
blindvic писал(а) 20. Ноября 2008 :: 15:17:
По идее этот РичеЕдит поддерживает УТФ-8 (WebBrowser Control). По идее MySQL - тоже. Реально ли средствами 1С организовать отбражение и сохранение юникода в 1С, используя таблицу MySQL и данный RichEdit?

И еще, бредовая идея в догонку: сделать класс собственной формы элемента справочника, к-й открывает форму внешнего отчета, на к-й только один РичЕдит на всю форму. Внутрь этого РичЕдита будем отображать все поля справочника. Плюсы: поддержка юникод и HTML layout. Что думаете об этом?

« Последняя редакция: 24. Ноября 2008 :: 12:26 - blindvic »  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Rich Editor для 1С
Ответ #24 - 24. Ноября 2008 :: 11:15
Печать  
blindvic писал(а) 24. Ноября 2008 :: 07:26:
По идее этот РичеЕдит поддерживает УТФ-8 (WebBrowser Control). По идее MySQL - тоже. Реально ли средствами 1С организовать отбражение и сохранение юникода в 1С, используя таблицу MySQL и данный RichEdit?

И еще, бредовая идея в догонку: сделать класс собственной формы элемента справочника, к-й открывает форму внешнего отчета, на к-й только один РичЕдит на всю форму. Внутрь этого РичЕдита будем отображать все поля справочника. Плюсы: поддержка юникод и HTML layout. Что думаете об этом?

Не знаю, тут я не в теме Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать