Переключение на Главную Страницу Страницы: [1] 2 3 ... 6 ОтправитьПечать
Очень популярная тема (более 25 ответов) Пример работы с ТП и АкивИксами (число прочтений - 62179 )
ADirks
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Пример работы с ТП и АкивИксами
10. Августа 2006 :: 05:18
Печать  
Конфигурация, демонстрирующая некоторые приёмы работы с Табличным Полем, и ActiveX.
Включает:
- классы общего назначения, для организации пользовательского интерфейса: Общие.Форма.Привязка (автор DmitrO), Общие.ПолеВыбораЗначения, Общие.КоллекцияПолейВыбораЗначения, Отчет.РеквизитОтбора, Отчет.КоллекцияРеквизитовОтбора, ТПанельКнопок;
- вспомогательный класс для работы с табличным полем: ТабличноеПолеСНастройками;
- вспомогательные классы для формы списка справочника: ТСправочник.Форма.ДеревоГрупп, ТСправочник.Форма.ПанельКнопок, ТСправочник.Форма.ФормаСписка
- тестовые обработки, и форма списка справочника в двух вариантах;
- описания классов (возможно неполные) в формате *.als.

Форма списка справочника сделана в двух вариантах - стандартный 1Совский, и с использованием ТП. В альтернативной форме для показа дерева групп и панельки с кнопочками используются АктивИксы.
За то, какую форму увидит пользователь, отвечает константа АльтернативныеФормы  (0 или 1).

Общие.ПолеВыбораЗначения: Класс, реализующий функционал выбора значения из справочника по первым буквам наименования.
Т.е., находясь в edit'е, начинаем набирать наименование нужного нам контрагента, и в какой-то момент появляется список контрагентов с таким префиксом. Дальше уже выбираем из этого списка.
Показ списка реализован с помощью слегка модифицированной SvsSvc.FilterValue().
Пример представляет собой маленькую конфигурацию со справочником контрагентов и тестовой обработкой с двумя полями ввода.
Работает как под SQL, так и под DBF.

Отчет.РеквизитОтбора: Класс, предназначеный для использования в отчётах. Наследник от Общие.ПолеВыбораЗначения.


Демка работает под 1С++ 2.0.3.0 и 2.5.0.0 + FormEx. Рассчитана на SQL базу, за исключением класса Общие.ПолеВыбораЗначения - он работает и под DBF.


21.08.2008:
1. Запрос в форме списка справочника переделан в соответствии с индексами таблиц SC.
В классе ТСправочник.Форма.ФормаСписка также приняты меры для попадания ключа порядка в индексы.

2. Выделен класс Общие.ПолеВыбораЗначения.ПоставщикДанных, что позволяет делать хитрые поля ввода для любых данных.

3. Добавлены классы Отчет.МножественныйФильтр и Отчет.КоллекцияМФ для организации множественных фильтров в отчётах.


Брать здесь: http://www.rikcenter.ru/download/Demo_RiK.rar
« Последняя редакция: 21. Августа 2008 :: 06:00 - ADirks »  

DemoTP_AX_001.zip ( 100 KB | Загрузки )
Наверх
 
IP записан
 
1cvirus
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 89
Зарегистрирован: 24. Мая 2006
Re: Пример работы с ТП и АкивИксами
Ответ #1 - 10. Августа 2006 :: 07:31
Печать  
валится 1с здесь
     оДерево = СоздатьОбъект("ТСправочник.Форма.ДеревоГрупп");
     оАтрФормы.СоздатьЭлементУправления(оДерево);
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #2 - 10. Августа 2006 :: 08:00
Печать  
Да, забыл сказать, что пример сделан для версии 1С++ с FormEx'ом (2.0.3.0).
Для версии 2.5.0.0 надо поправить создание АктивИксов и ТП по рекомендациям trad'а: http://www.1cpp.ru/forum/YaBB.pl?num=1150441349/39#39
  
Наверх
 
IP записан
 
1cvirus
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 89
Зарегистрирован: 24. Мая 2006
Re: Пример работы с ТП и АкивИксами
Ответ #3 - 10. Августа 2006 :: 08:54
Печать  
у меня 2.0.3.0
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #4 - 10. Августа 2006 :: 08:58
Печать  
Еще он забыл сказать, что это для MSSQL Улыбка
  
Наверх
ICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #5 - 10. Августа 2006 :: 09:34
Печать  
spock писал(а) 10. Августа 2006 :: 08:58:
Еще он забыл сказать, что это для MSSQL Улыбка

Это уже опытным путем выяснили )))))
  
Наверх
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #6 - 10. Августа 2006 :: 16:21
Печать  
при вызове контекстного меню

оКонтрагент.НазначитьКонтекст(оТП.ТекущийЭлемент());
{Отчет.обрФормаСпискаСправочникаКонтрагенты.Форма.Модуль(175)}: Поле агрегатного объекта не обнаружено (ТекущийЭлемент)

Хотя метод ТекущийЭлемент() вроде есть
  
Наверх
ICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #7 - 11. Августа 2006 :: 02:52
Печать  
aou1c писал(а) 10. Августа 2006 :: 16:21:
при вызове контекстного меню

оКонтрагент.НазначитьКонтекст(оТП.ТекущийЭлемент());
{Отчет.обрФормаСпискаСправочникаКонтрагенты.Форма.Модуль(175)}: Поле агрегатного объекта не обнаружено (ТекущийЭлемент)

Хотя метод ТекущийЭлемент() вроде есть

Там конфликт имён получился  Улыбка
В обработчик события передаётся не класс - наследник, а само ТП. А у ТП естественно нет такого метода.
Подправил. И заодно в хедере прописал XML-тэги для генератора als'ников.
  
Наверх
 
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #8 - 13. Августа 2006 :: 16:41
Печать  
ADirks писал(а) 11. Августа 2006 :: 02:52:
aou1c писал(а) 10. Августа 2006 :: 16:21:
при вызове контекстного меню

оКонтрагент.НазначитьКонтекст(оТП.ТекущийЭлемент());
{Отчет.обрФормаСпискаСправочникаКонтрагенты.Форма.Модуль(175)}: Поле агрегатного объекта не обнаружено (ТекущийЭлемент)

Хотя метод ТекущийЭлемент() вроде есть

Там конфликт имён получился  Улыбка
В обработчик события передаётся не класс - наследник, а само ТП. А у ТП естественно нет такого метода.
Подправил. И заодно в хедере прописал XML-тэги для генератора als'ников.


А в новой версии контекстное меню нереализованно вобще?
При вызове меню ничего не происходит
  
Наверх
ICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #9 - 14. Августа 2006 :: 03:04
Печать  
aou1c писал(а) 13. Августа 2006 :: 16:41:
А в новой версии контекстное меню нереализованно вобще?
При вызове меню ничего не происходит

Дык оно и в первой было не реализовано. Я просто заглушку оставил, типа чтоб видно было, где воткнуться. А уж как показать менюшку - тут вариантов много.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #10 - 18. Августа 2006 :: 22:45
Печать  
Большая благодарность за пример!

Хотя давно все было реализовал на ТП, но у тебя, Алексей, почерпнул интересных приемов Улыбка

Век живи - век учись...


P.S. Сорри за имя, просто переклинило.
« Последняя редакция: 19. Августа 2006 :: 09:36 - Arta »  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #11 - 19. Августа 2006 :: 05:45
Печать  
А где компоненту 2.0.3.0 взять? 2.0.2.2 - падает, (память не може быть written) В репозитори нету -только 2022 и 2500. Ежели можно,  то на мыло mikeware_mail.ru, а ежели низзя, то ссылочку
  
Наверх
ICQ  
IP записан
 
tav13
1c++ donor
Отсутствует



Сообщений: 108
Местоположение: Donetsk
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #12 - 19. Августа 2006 :: 06:17
Печать  
Mikeware писал(а) 19. Августа 2006 :: 05:45:
А где компоненту 2.0.3.0 взять? 2.0.2.2 - падает, (память не може быть written) В репозитори нету -только 2022 и 2500. Ежели можно,  то на мыло mikeware_mail.ru, а ежели низзя, то ссылочку

Отправил на мыло
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Пример работы с ТП и АкивИксами
Ответ #13 - 19. Августа 2006 :: 06:18
Печать  
Arta писал(а) 18. Августа 2006 :: 22:45:
Большая благодарность за пример!

Хотя давно все было реализовал на ТП, но у тебя, Саш, почерпнул интересных приемов Улыбка


Реальное имя ADirks-а - Алексей Диркс
Т.е. далеко не Саша Улыбка
ЗЫ так что поправь сообщение.
  

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: Пример работы с ТП и АкивИксами
Ответ #14 - 19. Августа 2006 :: 06:20
Печать  
Mikeware писал(а) 19. Августа 2006 :: 05:45:
А где компоненту 2.0.3.0 взять? 2.0.2.2 - падает, (память не може быть written) В репозитори нету -только 2022 и 2500.


Ну, вы, блин, даете Улыбка
Как раз в репозитарии и лежит версия 2.0.3 - это так называемый "ночной" релиз или ночная сборка.
Качать с www.1cpp.ru
  

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