Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Полезные классы. продолжение.... (число прочтений - 8816 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Полезные классы. продолжение....
24. Мая 2006 :: 16:40
Печать  
Продолжим?
На итланде в такой ветке выкладывали полезные классы.
Думаю сбережем друг другу кучу времени. И поможем найти глючки ))))
  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #1 - 24. Мая 2006 :: 16:43
Печать  
А где твой класс-то?
  

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



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #2 - 24. Мая 2006 :: 16:57
Печать  
Класс "Общие_ТекстовыйСправочник"
Для DefCls@MD
Класс Общие_ТекстовыйСправочник                        = Общие_ТекстовыйСправочник@MD//ExtForms\Общие_ТекстовыйСправочник.ert
{}

Работаем с текстовыми словарями (Текстовые файлики, где строка
     представляет собой как бы элемент Улыбка справочника )
Пример использования:
Код
Выбрать все
Перем лСловарь;

Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр) // Предопределенная процедура
	Если лСловарь.ТС_ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр) = 1 Тогда
		Возврат; // Типа обработали и др. обработчик нам не нужен...
	КонецЕсли;
//	....
КонецПроцедуры

Процедура ПриОткрытии()
	лСловарь = СоздатьОбъект("Общие_ТекстовыйСправочник");
	лСловарь.ТС_Инициализация(Контекст,"ДолжностьДоверенности","Должности");
  // есть возможность обрабатывать одним классом несколько контролов.
  // Подключить дополнительные контролы можно так:
	//лСловарь.ТС_ДобавитьАтрибутИСловарь( ИДАтрибута, НазваниеСловаря );
//	...
КонецПроцедуры  
//// в формуле атрибута "ДолжностьДоверенности" пишем: "лСловарь.ТС_ДобавитьВСловарь()"
 


поправки:
- Если svcsvc.dll не зарегистрирована, выбор идет с пом. списка
- Ссылка на гл переменную глСерверВыбора
- мухи.
  

text_ref.zip ( 11 KB | Загрузки )
Наверх
IP записан
 
sd
1c++ power user
Отсутствует



Сообщений: 30
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #3 - 24. Мая 2006 :: 17:42
Печать  
В продолжение темы:
http://forum.itland.ru//index.php?showtopic=15025&hl=настройка

Мне потребовалась поддержка стандарного механизма настроек 1С (а не альтернативных методов), в результате чего пришлось родить вот это.

Вдобавок - IMHO - недостаток класса "НастройкиФормы" (по ссылке выше на itland) - хранение всех данных в 1cv7.cfg (через СохранитьЗначение/ВосстановитьЗначение). Из собственного опыта могу сказать, что хранение в этом файле параметров 20 отчетов для 20 разных пользователей вызывает дикие тормоза.

Методы:
(хранение данных)

     ХранилищеДанных(ИмяSQLТаблицы, ФлПостоянногоИспользования = 0);
           назначает имя таблицы для хранения данных или
           восстанавливает стандартное хранилище (1cv7.cfg)

     ВосстановитьЗначение(Идентификатор, ФлУчитыватьИмяПользователя = 1);
           восстанавливает сохраненное значение из хранилища
     СохранитьЗначение(Идентификатор, Значение, ФлУчитыватьИмяПользователя = 1);
           сохраняет значение в хранилище
     СохранитьФорму(Конт, СписокАтрибутов = "", ВидДействия = 2);
           сохраняет все параметры формы в хранилище значений
     ВосстановитьФорму(Конт, СписокАтрибутов = "", ВидДействия = 2);
           восстанавливает все параметры формы из хранилища значений

(настройки)
     ОчиститьКэшНастроек();
           очищает внутренний кэш настроек
     СуществуетНастройка(КонтИдОтчета, ИмяНастройки);
           возвращает 1/0 - существует или нет настройка с заданным идентификатором
     ВосстановитьНастройку(Конт, ИмяНастройки);
           восстанавливает настройку с заданным идентификатором


В прилагаемом архиве - als-файл и составленный на коленках readme с примерами.
« Последняя редакция: 25. Мая 2006 :: 13:36 - sd »  

_zip ( 22 KB | Загрузки )
Наверх
ICQ  
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #4 - 25. Мая 2006 :: 10:08
Печать  
Вставлю свои 5 копеек.
Подстановочные классы для быстрого перехода из под rainbow.dll на 1С++.
Позволяют быстро, путем незначительных переделок, отказаться от загрузки конфликтующей с 1СРР радуги, а потом уже начинать не спеша и со вкусом дописывать/переписывать и т.д.
http://forum.itland.ru//index.php?showtopic=15484&st=15&#entry82333
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #5 - 25. Мая 2006 :: 12:09
Печать  
тоже внесу пять коп.
классы для руления полями отбора на формах отчётов

На форме есть поле отбора неопределённого типа, с кнопкой выбора, и кнопкой "По всем" справа.  При нажатии кнопки "По всем" в поле отбора пишется текст "По всем". При нажатии на кнопку выбора открывается форма для выбора значения нужного типа и вида. Чтобы в каждом отчёте всё это не отрабатывать, весь функционал утолкан в класс. В отчёте нужно только создать управляющий объект:

Код
Выбрать все
Процедура ПриОткрытии(ФлагВосстановления)
	оОтборы = СоздатьОбъект("Отчет.КоллекцияРеквизитовОтбора");
	оОтборы.Добавить("ВыбКонтрагент", "Справочник", "Контрагенты");
	оОтборы.Добавить("ВыбДоговор", "Справочник", "Договоры");

	.....

	оОтборы.Показать();
КонецПроцедуры
 


и добавить отработку выбора:
Код
Выбрать все
Процедура ПриНачалеВыбораЗначения(Эл, ФлагСтандОбр)
	оОтборы.ПриНачалеВыбораЗначения(Эл, ФлагСтандОбр);
КонецПроцедуры

Процедура ОбработкаВыбораЗначения(ВыбЗнач, ИдентЭлемДиалога, ФлагСтандОбр)
	оОтборы.ОбработкаВыбораЗначения(ВыбЗнач, ИдентЭлемДиалога, ФлагСтандОбр);
КонецПроцедуры 



и на кнопочку "По всем"  навесить оОтборы.Очистить("ВыбКонтрагент")

Для пущей пущести есть 2 метода для работы с расшифровкой, оОтборы.ВРасшифровку(Расшифровка); и оОтборы.ИзРасшифровки(Расшифровка);позволяющие одним движением закинуть все отборы в расшифровку, и считать их оттуда
« Последняя редакция: 25. Мая 2006 :: 13:31 - ADirks »  

_rar ( 10 KB | Загрузки )
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #6 - 25. Мая 2006 :: 13:00
Печать  
Господа, простите за ОФФ-топ, т.к. ветка вроде не предназначена для обсуждения,
но выскажу свои пожелания. Хотелось бы, что-бы давали более развеннутое применение класса именно в ветке,
типа лейбы что-ли.
+ADirks, не качается твой атачмент (((( Открывается какая-то жуть в эксплорере...
  
Наверх
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #7 - 25. Мая 2006 :: 13:33
Печать  
trdm писал(а) 25. Мая 2006 :: 13:00:

+ADirks, не качается твой атачмент (((( Открывается какая-то жуть в эксплорере...

А ты на него правой кнопой, и "сохранить как".
  
Наверх
 
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #8 - 26. Мая 2006 :: 01:25
Печать  
и точку перед rar добавить ...
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #9 - 26. Мая 2006 :: 07:20
Печать  
Джентельмены, если не трудно - переезжаем в новый раздел.
Каждая наработка - отдельной веткой.
Пожалуйста, скопируйте из этой ветки свои разработки самостоятельно, ладно? А через пару дней я эту ветку удалю, ок?
  
Наверх
www  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #10 - 26. Мая 2006 :: 07:51
Печать  
fez писал(а) 26. Мая 2006 :: 07:20:
Джентельмены, если не трудно - переезжаем в новый раздел.
Каждая наработка - отдельной веткой.
Пожалуйста, скопируйте из этой ветки свои разработки самостоятельно, ладно? А через пару дней я эту ветку удалю, ок?

А там файло почему-то не прицепляется  Печаль  Т.е. даже поля такого нет
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #11 - 26. Мая 2006 :: 08:02
Печать  
ADirks писал(а) 26. Мая 2006 :: 07:51:
А там файло почему-то не прицепляется  Печаль  Т.е. даже поля такого нет

Сорри, исправился.
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #12 - 26. Мая 2006 :: 10:28
Печать  
fez, а счетчик загрузок сделаешь?
  
Наверх
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #13 - 26. Мая 2006 :: 10:52
Печать  
Я ща буду кричать и грязно ругаться.
Специально для trdm написал вот это: http://www.1cpp.ru/forum/YaBB.pl?num=1148640404

Вроде взрослый человек, ну неужели там написаны какие-то откровения?
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полезные классы. продолжение....
Ответ #14 - 26. Мая 2006 :: 14:31
Печать  
Сори, не читал. ((((
ПС: все бы так технично ругались в мире воцарилась бы гармонИя.
« Последняя редакция: 26. Мая 2006 :: 17:27 - trdm »  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать