Переключение на Главную Страницу Страницы: 1 ... 14 15 [16] 17  ОтправитьПечать
Очень популярная тема (более 25 ответов) Репозитарий классов 1С++ в единой конфе (число прочтений - 205994 )
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Репозитарий классов 1С++ в единой конфе
Ответ #225 - 23. Мая 2008 :: 10:44
Печать  
стартанул конфу у себя на компе и обнаружил вылет 1С в космос в следующих случаях:
1. В общем журнале документов после нажатия кнопки "Сформировать" и получаю вылет.
2. В общем журнале документов открываю документ Новый_ТестФормЕкс, нажимаю кнопку "Сформировать", закрываю форму документа, отказываюсь от сохранения и получаю вылет.

1С++ 2.5.0.5 ночная сборка 2007-11-12
Формех 2.0.5.86
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #226 - 26. Мая 2008 :: 12:29
Печать  
1С падает возникает из-за бага в методе ФормЕкс::ДобавитьАтрибут при добавлении колонки к табличной части журнала документов или документа Печаль
Очень странно, ведь когда я коммитил этот код в репозитарий, ФормЕкс нормально работал Печаль
  

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


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #227 - 07. Октября 2008 :: 21:47
Печать  
аа... я счастлив  Очень довольный
icpp 3.0.1.18
тысяча и одно сообщение вида
Код
Выбрать все
Для метода Артур.Общие::ПриостановитьВыполнение обнаружена ошибка описания метода в prm-файле.
Возможно, что для параметра по умолчанию не задан тип значения параметра - < СекЖдать=0 >. Скорее всего, правильно будет - < Число/Строка/НужныйТип СекЖдать=0 



а потом вылет по
Код
Выбрать все
Внимание: Появилось меню Дополнительные возможности
ОткрытьФорму("Справочник.Классы");
{Глобальный модуль(364)}: Общие.Конфигурация::СобытиеГМ_ПриОткрытии(ГрупповойКонтекст Конт=,  ФлагЧтенияНастройки=) : Общие.ФабрикаСобытийФормы::Событие_ОткрытиеФормы(ГрупповойКонтекст Конт=, Строка ВидОбъекта=) : кст Конт=, СписокЗначений Параметры=) : Обращение к процедуре объекта как к функции
лМенюВыбора = ФабрикаСобытий.Событие_СозданиеМеню(Конт,Вид); // 2
бавлениеМенюНаКнопкуФормы.txt(30) }
 



оно ремонтироваться будет, али ну его в топку? Подмигивание
  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #228 - 08. Октября 2008 :: 03:27
Печать  
Конечно, будет отремонтировано.
Просто в 3.0.1.18 добавлена доп.диагностика опасных случаев для различия описания методов в прм-файле и модуле класса.
Об этом и пишет 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 записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #229 - 09. Октября 2008 :: 06:46
Печать  
artbear писал(а) 08. Октября 2008 :: 03:27:
Конечно, будет отремонтировано.
Просто в 3.0.1.18 добавлена доп.диагностика опасных случаев для различия описания методов в прм-файле и модуле класса.
Об этом и пишет 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 записан
 
EugenVitla
Junior Member
**
Отсутствует


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #230 - 09. Октября 2008 :: 12:57
Печать  
Печаль
симптомы те же до буковки.
icpp 3.0.1.18
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #231 - 04. Ноября 2008 :: 08:18
Печать  
Цитата:
Метод Общие.ФайловаяСистема::ДобавитьРазделитель - различается описание возвращаемого значения (Функция/Процедура) в описании класса (prm-файл) и его реализации (модуль класса)
Метод Общие.ФайловаяСистема::ЭтоКаталог - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод Общие.ФайловаяСистема::ЭтоСкрытый - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод Общие.ФайловаяСистема::ИмяФайла - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод Общие.ФайловаяСистема::КаталогФайла - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
КаталогКласса = МояФС.КаталогФайла(лСпр.ПутьФайлаКласса);
{Справочник.Классы.ФормаСписка.ФормаСписка.Модуль(92)}: Метод  - различаются параметры в описании класса (prm-файл) и его реализации (модуль класса)

Скачал последнюю версию демо-конфы, 1С++ и формекс.
Где и что мне изменить, чтобы все работало? Демо-конфа будет подправлена?
  
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #232 - 15. Декабря 2008 :: 06:06
Печать  
В классе ЗапросSQL есть серьезный баг, который приводит к неправильному наложению фильтров, нужно бы исправить, см. комментарии, исправляется только УстановитьПараметрыУсловий()
Код
Выбрать все
Процедура УстановитьПараметрыУсловий() Экспорт
	тзУсловия.ВыбратьСтроки();
	Пока тзУсловия.ПолучитьСтроку()=1 Цикл
		Если ПустоеЗначение(тзУсловия.Значение)=1 Тогда Продолжить; КонецЕсли;
        //[*]ev-kov, 15.12.2008
        //стрВремТаблица = "#" + тзУсловия.Имя;// внутри ВТ если накладывать фильтр, и имя времтз равно #ИмяИзмерения то метапарсер метапарсит измерение в имя таблицы на скуле получается #RGххх.spххх
        // -------------
        стрВремТаблица = "#__" + тзУсловия.Имя;
        //[*]_

		Если ТипЗначенияСтр(тзУсловия.Значение)="Справочник" Тогда
			Если тзУсловия.Значение.ЭтоГруппа()=1 Тогда
				RS.УложитьСписокОбъектов(тзУсловия.Значение, стрВремТаблица, тзУсловия.Значение.Вид());
				тзУсловия.ТипФильтра=СокрЛП(тзУсловия.ТипФильтра)+"В"; //Например: <>В
				тзУсловия.ВремТаблица=стрВремТаблица;

				Если тзУсловия.Модификатор="~" Тогда
					//*** тзУсловия.Модификатор="$ВидСправочника36."+тзУсловия.Значение.Вид()+"+";
					Значение), 6)+"'+";
				КонецЕсли;
			Иначе
				RS.УстановитьТекстовыйПараметр(тзУсловия.Имя, тзУсловия.Значение);
				Если тзУсловия.Модификатор="~" Тогда тзУсловия.Модификатор="*"; КонецЕсли;
				Если ПустоеЗначение(тзУсловия.ТипФильтра)=1 Тогда тзУсловия.ТипФильтра="=";	КонецЕсли;
				Если СокрЛП(тзУсловия.ТипФильтра)="В" Тогда тзУсловия.ТипФильтра="="; КонецЕсли;
			КонецЕсли;

		ИначеЕсли ТипЗначенияСтр(тзУсловия.Значение)="СписокЗначений" Тогда
			КоличествоЭлементов=тзУсловия.Значение.РазмерСписка();
			текЗначение=тзУсловия.Значение.ПолучитьЗначение(1);
			Если КоличествоЭлементов=1 Тогда
				Если ТипЗначенияСтр(текЗначение)="Справочник" Тогда
					Если текЗначение.ЭтоГруппа()=0 Тогда
						RS.УстановитьТекстовыйПараметр(тзУсловия.Имя, текЗначение);
						Если тзУсловия.Модификатор="~" Тогда тзУсловия.Модификатор="*"; КонецЕсли;
						Если ПустоеЗначение(тзУсловия.ТипФильтра)=1 Тогда тзУсловия.ТипФильтра="=";	КонецЕсли;
						Если СокрЛП(тзУсловия.ТипФильтра)="В" Тогда тзУсловия.ТипФильтра="="; КонецЕсли;
						//[*]ev-kov, 15.12.2008
						//Возврат; //прерывает цикл что недопустимо, не накладываются фильтры, по остальным пропущенным измерениям
						// -------------
						Продолжить;
						//[*]_
					КонецЕсли;
				КонецЕсли;
			КонецЕсли; //01.03.06

			стрВидОбъекта=?(ТипЗначения(текЗначение)>3, текЗначение.Вид(), "");
			RS.УложитьСписокОбъектов(тзУсловия.Значение, стрВремТаблица, стрВидОбъекта);
			тзУсловия.ТипФильтра=СокрЛП(тзУсловия.ТипФильтра)+"В"; //Например: <>В
			тзУсловия.ВремТаблица=стрВремТаблица;

			Если тзУсловия.Модификатор="~" Тогда
				//*** тзУсловия.Модификатор="$ВидСправочника36."+стрВидОбъекта+"+";
				е), 6)+"'+";
			КонецЕсли;
		ИначеЕсли ТипЗначенияСтр(тзУсловия.Значение)="Документ" Тогда
			Если тзУсловия.Значение.Выбран()=1 Тогда
				RS.УстановитьТекстовыйПараметр(тзУсловия.Имя, тзУсловия.Значение);
				Если ПустоеЗначение(тзУсловия.ТипФильтра)=1 Тогда тзУсловия.ТипФильтра="=";	КонецЕсли;
			Иначе
				тзУсловия.ТипФильтра="";
			КонецЕсли;
		Иначе
			RS.УстановитьТекстовыйПараметр(тзУсловия.Имя, тзУсловия.Значение);
			Если ПустоеЗначение(тзУсловия.ТипФильтра)=1 Тогда тзУсловия.ТипФильтра="=";	КонецЕсли;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры 



  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #233 - 18. Декабря 2008 :: 08:13
Печать  
artbear писал(а) 09. Октября 2008 :: 06:46:
artbear писал(а) 08. Октября 2008 :: 03:27:
Конечно, будет отремонтировано.
Просто в 3.0.1.18 добавлена доп.диагностика опасных случаев для различия описания методов в прм-файле и модуле класса.
Об этом и пишет 1С++ при своей загрузке и компиляции классов.

Исправлено. Брать по постоянному адресу из первого поста.


А что депозитарий заглох или как?
скачал последнюю от 8.10 и ни один пример не пашет

Подправил prm файлы сам,
но как то ждал лучшего от примера "Пример_УниверсальнаяУстановкаВыбораПолейАля8"
Описание на форме не совпадает с реальностью

Щелкнете на атрибуте снизу(атрибута снизу никакого атрибута нет)
щелкаю по кнопке выбора, только после этого появляется список,
но атрибут текстовый на поле выбора не создается
, или так и задумано?

« Последняя редакция: 18. Декабря 2008 :: 16:20 - aou1c »  
Наверх
ICQ  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #234 - 29. Января 2010 :: 07:51
Печать  
Хм... Интересное кино - не пойму я ничего....

Загрузил конфигурацию с классами (прикрепленную в первом посте), разархивировал в каталог "ПолныйНаборКлассов". Переписал в нее 1СРР 3.0.1.25 и FormEX 2.0.5.94.

Хотел потестить класс УниверсальнаяУстановкаПолейВыбораАля8, поэтому пришлось раскомментировать строку 360 в классе Общие.Конфигурация.txt, чтобы он заработал.

Проверил - все Ок. Класс работает.

Потом создал другой каталог "УпрощениеКлассов2" и переписал в него все содержимое каталога "ПолныйНаборКлассов" (т.е. всю базу плюс компоненты). Итог - УниверсальнаяУстановкаПолейВыбораАля8 не работает.

При этом в первой базе выводились сообщения при загрузке конфигурации:

"Загружена ВК FormEx
Загружена ВК TurboMD
СоздатьПоляВыбораАля8НаФорме
ПослеОткрытия
лИДСтатика = <текст_Автор_Аля8_5492>"

а во второй стало только:

"Загружена ВК FormEx
Загружена ВК TurboMD
СоздатьПоляВыбораАля8НаФорме"

Вопрос - что это было? Почему при копировании базы она перестает правильно работать?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Репозитарий классов 1С++ в единой конфе
Ответ #235 - 29. Января 2010 :: 08:11
Печать  
alyuev писал(а) 29. Января 2010 :: 07:51:
Хм... Интересное кино - не пойму я ничего....
Вопрос - что это было? Почему при копировании базы она перестает правильно работать?


Включить turbobl в УправлениеНастройками помогает, обычно
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #236 - 29. Января 2010 :: 08:28
Печать  
Хм... Хм... Таки да - помогло. И кто бы мог подумать!?
Спасибо.

PS/
А почему тогда этого нет в базе примеров классов?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #237 - 29. Января 2010 :: 11:02
Печать  
При переносе всей базы с компонентами на терминал после запуска выдало следующее:

"Загружена ВК FormEx
Загружена ВК TurboMD
СоздатьПоляВыбораАля8НаФорме"

и системное сообщение "Получаемая строка превысит допустимые размеры"

TurboBL ключил.

После закрытия системного сообщения выдало следующее:

Цитата:
"Исключение при обработке события СобытиеГМ_ПриОткрытии()!
ПослеОткрытия
лИДСтатика = <текст_Автор_Аля8_5492>
рупповойКонтекст КонтФормы=, Строка ИДПоляВыбора=Автор, Строка ИДНовогоСтатика=текст_Автор_Аля8_5492) : Атрибут с подобным идентификатором уже существует
лНовыйАтрибут = _РасширениеФормы.ДобавитьАтрибут(лИДНовогоСтатика, 1);
КоллекцияПолейВыбораЗначения.ПерехватСобытий.txt(124) }

Общие.КоллекцияПолейВыбораЗначения.ПерехватСобытий::_СоздатьПоляВыбора(Число фПоискПоВхождению=1, Число фИсключитьДублирование=1) : рупповойКонтекст КонтФормы=, Строка ИДПоляВыбора=Автор, Строка ИДНовогоСтатика=текст_Автор_Аля8_5492) : Атрибут с подобным идентификатором уже существует
лНовыйАтрибут = _РасширениеФормы.ДобавитьАтрибут(лИДНовогоСтатика, 1);
КоллекцияПолейВыбораЗначения.ПерехватСобытий.txt(124) }

ПолеВыбораЗначения = Сам.Добавить(ИдентификаторПоляВвода, лИдНовогоСтатика, фПоискПоВхождению);
КоллекцияПолейВыбораЗначения.ПерехватСобытий.txt(235) }

ОткрытьФорму("Справочник.Классы");
{Глобальный модуль(377)}: Общие.КоллекцияПолейВыбораЗначения.ПерехватСобытий::_СоздатьПоляВыбора(Число фПоискПоВхождению=1, Число фИсключитьДублирование=1) : рупповойКонтекст КонтФормы=, Строка ИДПоляВыбора=Автор, Строка ИДНовогоСтатика=текст_Автор_Аля8_5492) : Атрибут с подобным идентификатором уже существует
лНовыйАтрибут = _РасширениеФормы.ДобавитьАтрибут(лИДНовогоСтатика, 1);
КоллекцияПолейВыбораЗначения.ПерехватСобытий.txt(124) }

ПолеВыбораЗначения = Сам.Добавить(ИдентификаторПоляВвода, лИдНовогоСтатика, фПоискПоВхождению);
КоллекцияПолейВыбораЗначения.ПерехватСобытий.txt(235) }"


Что делать?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Репозитарий классов 1С++ в единой конфе
Ответ #238 - 29. Января 2010 :: 11:15
Печать  
alyuev писал(а) 29. Января 2010 :: 11:02:
Что делать?


Если нужен только это класс, взять его отсюда:
http://rikcenter.ru/downloads.php
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Репозитарий классов 1С++ в единой конфе
Ответ #239 - 29. Января 2010 :: 11:26
Печать  
Не понял, что именно оттуда скачать?

Я пока хочу, чтобы заработало "ПолеВыбораАля8НаФорме"

Локально оно у меня работает, а на терминале - нет.


PS/
База у меня DBF. 1C - 027.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 14 15 [16] 17 
ОтправитьПечать