Переключение на Главную Страницу Страницы: [1] 2 3 ... 5 ОтправитьПечать
Очень популярная тема (более 25 ответов) Новое в ночной сборке релиза 2.5 (число прочтений - 26386 )
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Новое в ночной сборке релиза 2.5
12. Сентября 2006 :: 16:01
Печать  
Новое на 12.09.06
Цитата:
Новый функционал для любых КОП - метод "ПерехватитьСобытияГК"
     1) перехват всех событий,
           которые посылаются от 1С к открытой форме (ПриОткрытии, ПриЗакрытии, ПриЗаписи и т.д)
     2) перехват всех событий FormEx, которые также посылаются форме (ПослеОткрытия и др.)

Если настройка "ПерехватитьСобытияГК" выключена,
     метод КОП::ПерехватитьСобытияГК будет выдавать исключение

Класс "УправлениеНастройками"
     - новый метод "Включить(ИмяНастройкиПоАнглийскиИлиПоРусски)"
     - метод "Получить" теперь понимает и русские наименования
     - Ключи для настроек
           "EnabledCheckType" или "Проверка типов"
           "EnableOptimizate" или "Оптимизация"
           "EnableDebugging"  или  "Отладчик" или "Отладка"
           "EnableTableSourceTable" или "ТаблицаИсходнаяТаблица" или "Таблица.ИсходнаяТаблица"
           "EnableTurboBL" или "TurboBL"
           "EnableHookEventsGroupContext" или "ПерехватитьСобытияГК"

Перехваты методов 1С, используемые для работы
     ТурбоБЛ,
     Таблица.ИсходнаяТаблица,
     КОП.ПерехватитьСобытияГК
     сделаны опциональными (спец.ключи).
     Выключение данных хуков произойдет только после перезагрузки 1С

Решение проблемы совместимости с FormEx - при использовании спец.метода CBLModule7::EvalDebugExpr


Новое на 13.09.06 (совместно с АльФ-ом) подробнее в следующих постах
Цитата:
При возникновении синтаксической ошибки или ошибки выполнения в классе, реализованном в виде ert-файла, двойной клик по строке с сообщением об ошибке приведет к открытию этого ert-файла в конфигураторе и переходу к строке с ошибкой. Как и для любого внешнего отчета в 1С.
   Для классов, реализованных в текстовых файлах, для открытия в Конфигураторе по двойному щелчку в окне сообщений, необходимо использовать спец.скрипт для Опенконф-а.


Новое на 26.09.06
Цитата:
Значительно ускорено объектов "ТаблицаЗначений" и "СписокЗначений"

Исправлена ошибка http://www.1cpp.ru/bugs/show_bug.cgi?id=2556

     - не работала замена базовых классов метаданных на групповые контексты форм этих метаданных
     (например, Справочник, Документ и т.д)


Новое на 28.09.06
Цитата:
[+] теперь отладка пользовательских классов возможна без использования в классе строки "Форма.Параметр._ПриОткрытии"

Соответственно, теперь нет необходимости
1) определять переменную Форма в глоб.модуле
2) в модуле класса писать метод
Код
Выбрать все
Процедура ПриОткрытии()
   Форма.Параметр._ПриОткрытии();
КонецПроцедуры 




Новое на 29.09.06
Цитата:
[+] теперь форму отлаживаемого класса пользователь вручную закрыть не может.
Форма будет закрыта только при уничтожении объекта, за которым закреплена данная форма.



Новое на 30.09.06
Цитата:
     Исправлены ошибки:
- 1С могла падать при удалении потомка раньше, чем удаляется его предок

- исключения, возникшие в деструкторе класса, не передавались дальше в вызывающий модуль



Новое на 16.10.06
Цитата:
[+] Новый класс "Перехватчик" - служит для перехватов событий 1С
     - метод "ПерехватитьСобытияГК"
           1) перехват всех событий,
                 которые посылаются от 1С к открытой форме (ПриОткрытии, ПриЗакрытии, ПриЗаписи и т.д)
           2) перехват всех событий FormEx, которые также посылаются форме (ПослеОткрытия и др.)

     - метод "ПерехватитьСобытияГлобальногоМодуля"
           возможность перехвата событий глобального модуля, в т.ч. и событий FormEx

     - Если настройка "ПерехватитьСобытияГК" выключена,
           методы КОП::ПерехватитьСобытияГК и Перехватчик::ПерехватитьСобытияГлобальногоМодуля
           будут выдавать исключение

     - Обработчик события в объекте-класса КОП ищется не только по имени, но и по префиксу "Событие_НаименованияСобытия";
     - Возможность получения объектов-обработчиков событий глобального модуля и/или конкретной формы
методы "ПолучитьПерехватчикСобытийГК" и "ПолучитьПерехватчикСобытийГлобальногоМодуля"

     - Возможность вызова оригинального обработчика события из глобального модуля
           "Перехватчик::ВызватьОригинальноеСобытиеГлобальногоМодуля"
;

     - метод класса КОП "ПерехватитьСобытияГК" перенес в класс "Перехватчик";
     - пофиксены баги, связанные с перехватом;

[+] Новый класс "Информатор" - служит для получения различной справочной информации
     - методы
            "ПолучитьТаблицуМетодов/GetMethodsTable"
            "ПолучитьТаблицуСвойств/GetPropsTable"
            "МетодКонтекстаСуществует/HaveContextMethod"
            "СвойствоКонтекстаСуществует/HaveContextProp"

[+] Классу "РаботаСРегистромWin" добавлены новые, более читаемые синонимы
           "RegistryWin"
           "РеестрWin"



Цитата:
Внимание (18.10.06): поправлено значительное число багов и пофиксена нестабильная работа последних ночных сборок релиза 2.5


Новое на 30.10.06
Цитата:
Исправлена ошибка:
         Неверны работали методы ПолучитьБазовыйКласс/ЗаменитьБазовыйОбъект      в модуле объекта-предка


Новое на 31.10.06
Цитата:
Класс "УправлениеНастройками"
     - Исправлены баги:
           - при переустановке настроек 1С++ 1С могла падать.
           - при переустановке настроек 1С++ настройки в реестре сохранялись не сразу, а только после завершения сеанса 1С;
           - не работала установка настроек через УправлениеНастройками.Включить(ИмяНастройки);


Пока сборка на сайте временно не работает,
последнюю версию 1С++ на 01.11.06 брать
Брать на http://www.webfile.ru/1174022
« Последняя редакция: 01. Ноября 2006 :: 04:50 - artbear »  

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



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #1 - 12. Сентября 2006 :: 16:13
Печать  
"Решение проблемы совместимости с FormEx" - это (для тех, кто не слишком ориентируется в исходниках) решение проблемы выскакивание ошибки "переменная не определена" при использовании Предупреждение() или Вопрос() в классах. При совместной работе 1С++ и FormEx.
  

FormEx developer
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #2 - 13. Сентября 2006 :: 14:08
Печать  
Еще добавление (совместно с АльФ-ом)
Цитата:
При возникновении синтаксической ошибки или ошибки выполнения в классе, реализованном в виде ert-файла, двойной клик по строке с сообщением об ошибке приведет к открытию этого ert-файла в конфигураторе и переходу к строке с ошибкой. Как и для любого внешнего отчета в 1С.
   Для классов, реализованных в текстовых файлах, для открытия в Конфигураторе по двойному щелчку в окне сообщений, необходимо использовать спец.скрипт для Опенконф-а.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #3 - 13. Сентября 2006 :: 14:08
Печать  
Т.е. если в классе написать, например,
Код
Выбрать все
Процедура Конструктор()                                  
ч // 1 вариант - синтакс-ошибка
КонецПроцедуры  


или
Код
Выбрать все
Процедура Конструктор()                                  
искл = 1 / 0; // 2 вариант - ошибка исполнения
КонецПроцедуры  



и попытаться создать данный класс, будут выданы сообщения об ошибках типа
1. Цитата:
Строка 1 Класс: ПроверкаПредупреждения1 - ошибка синтаксиса
Строка №9    <<?>>КонецПроцедуры // Конструктор
Переменная не определена (ч)
{G:\1C\1C++\FormEx\КлассПроверкаПредупреждения.ert(9) }
Класс: ПроверкаПредупреждения1 Файл: G:\1C\1C++\FormEx\КлассПроверкаПредупреждения.ert компиляция не выполнена!
Строка 2 Тест = СоздатьОбъект("ПроверкаПредупреждения1");
{G:\1C\1C++\FORMEX\ПРОВЕРКАПРЕДУПРЕЖДЕНИЯ.ERT(5)}: Внимание! Инициализация класса: ПроверкаПредупреждения1 закончилась не удачно!

или
2. Цитата:
Строка 1 ПроверкаПредупреждения1::Конструктор() : Деление на 0
искл = 1 / 0;
{G:\1C\1C++\FormEx\КлассПроверкаПредупреждения.ert(7) }

Строка 2 Тест = СоздатьОбъект("ПроверкаПредупреждения1");
{G:\1C\1C++\FORMEX\ПРОВЕРКАПРЕДУПРЕЖДЕНИЯ.ERT(5)}: ПроверкаПредупреждения1::Конструктор() : Деление на 0
искл = 1 / 0;
{G:\1C\1C++\FormEx\КлассПроверкаПредупреждения.ert(7) }


При щелчке на сообщении об ошибке в строке 1 в Конфигураторе будет открыт файл класса, при щелчке в строке 2 в Конфигураторе будет, как обычно, открыт модуль текущей открытой формы.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #4 - 13. Сентября 2006 :: 14:14
Печать  
artbear писал(а) 13. Сентября 2006 :: 14:08:
   Для классов, реализованных в текстовых файлах, для открытия в Конфигураторе по двойному щелчку в окне сообщений, необходимо использовать спец.скрипт для Опенконф-а.


Текст этого скрипта:
Код
Выбрать все
Dim bFlagInsideOnMsgBox
bFlagInsideOnMsgBox = false
Sub Configurator_OnMsgBox(text, style, def, Answer)
	if InStr(text, "Общая файловая ошибка при доступе к") > 0 then
		' открываю класс 1С++
		if bFlagInsideOnMsgBox = false then
			strFileName = Replace(text, "Общая файловая ошибка при доступе к ", "")
			Set FSO = CreateObject("Scripting.FileSystemObject")
			if FSO.FileExists(strFileName) then
				bFlagInsideOnMsgBox = true
				Documents.Open ( strFileName )
				bFlagInsideOnMsgBox = false
				Answer = mbaOK
	    			Exit Sub
			end if
		end if
	end if
	bFlagInsideOnMsgBox = false
End Sub
 

  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #5 - 25. Сентября 2006 :: 17:26
Печать  
По перехвату событий ГК известны два бага
1 http://www.1cpp.ru/bugs/show_bug.cgi?id=2610
2 http://www.1cpp.ru/bugs/show_bug.cgi?id=2609
Скоро будут исправлены
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #6 - 26. Сентября 2006 :: 12:45
Печать  
Очередные новости
Цитата:
Значительно ускорено объектов "ТаблицаЗначений" и "СписокЗначений"

Исправлена ошибка http://www.1cpp.ru/bugs/show_bug.cgi?id=2556
     - не работала замена базовых классов метаданных на групповые контексты форм этих метаданных
     (например, Справочник, Документ и т.д)


Брать в ночной сборке с завтрашнего дня
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #7 - 26. Сентября 2006 :: 13:32
Печать  
artbear писал(а) 26. Сентября 2006 :: 12:45:
Значительно ускорено объектов "ТаблицаЗначений" и "СписокЗначений"


Показания таймера (на 10000 созданий объектов)
Цитата:
ИмяОбъекта = <СписокЗначений>
создание через старый СоздатьОбъект - 1173 (10000)
Создание через ЗначениеИзСтроки - 555 (10000)
Создание через ЗначениеИзСтрокиВнутр - 552 (10000)
Создание через новый СоздатьОбъект - 489 (10000)

ИмяОбъекта = <ТаблицаЗначений>
создание через старый СоздатьОбъект - 1464 (10000)
Создание через ЗначениеИзСтрокиВнутр - 910 (10000)
Создание через ЗначениеИзСтроки - 815 (10000)
Создание через новый СоздатьОбъект - 826 (10000)


В итоге ускорение создания этих объектов достигает 58 и 44 процентов соответственно.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #8 - 26. Сентября 2006 :: 13:47
Печать  
И похоже, что примененный мной метод ускорения создания объектов годится для любых  объектов 1С.

Я фактически внутри 1С++ использовал вариант быстрого создания объектов через ЗначениеВСтрокуВнутр/ЗначениеИзСтроки (давно известный факт).

Например,
Цитата:
ИмяОбъекта = <Справочник.Новый1>
Обычное, неоптимизированное создание через СоздатьОбъект - 216 (1000)
Создание через ЗначениеИзСтроки - 135 (1000)
Создание через ЗначениеИзСтрокиВнутр - 80 (1000)


Т.е. если применить эту методику - выигрыш составит 63%.

Трижды Ура Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #9 - 26. Сентября 2006 :: 13:57
Печать  
хм... дежавю...
помнится как то давно ДмитрО уже ускорял СоздатьОбъект

из history.txt Цитата:
Версия 1.8.1.6
...
- Оптимизировано создание объектов. Ускорена работа функции СоздатьОбъект().
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #10 - 26. Сентября 2006 :: 14:03
Печать  
ты еще больше ускорил?
  

1&&2&&3
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #11 - 26. Сентября 2006 :: 14:04
Печать  
Вот я опять влез в его разработку и добавил/встроил в нее  указанные фичи. Улыбка
Причем все сделал с рефакторингом и выделением создания с ускорением в отдельный класс С++.

Мои добавки на скорость создания других объектов не влияют.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #12 - 28. Сентября 2006 :: 16:45
Печать  
Новое на 28.09.06
Цитата:
[+] теперь отладка пользовательских классов возможна без использования в классе строки "Форма.Параметр._ПриОткрытии"

Соответственно, теперь нет необходимости
1) определять переменную Форма в глоб.модуле
2) в модуле класса писать метод
Код
Выбрать все
Процедура ПриОткрытии()
   Форма.Параметр._ПриОткрытии();
КонецПроцедуры 


  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #13 - 29. Сентября 2006 :: 14:24
Печать  
Новое на 29.09.06
Цитата:
[+] теперь форму отлаживаемого класса пользователь вручную закрыть не может.
Форма будет закрыта только при уничтожении объекта, за которым закреплена данная форма.


Ранее, если пользователь пытался закрыть форму отлаживаемого класса, 1С вылетала.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новое в ночной сборке релиза 2.5
Ответ #14 - 29. Сентября 2006 :: 16:06
Печать  
Это клево, иногда по неосторожности прихлопнешь окошко....
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 ... 5
ОтправитьПечать