Переключение на Главную Страницу Страницы: [1] 2 3 ... 80 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 258112 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Класс "ПоставщикДанных" - обсуждения. Часть 2.
26. Сентября 2010 :: 17:06
Печать  
Данная тема предназначеня для обсуждения, примеров, вопросов и т.д. по классу "ПоставщикДанных".

Релизы, новости, обновления в отдельной ветке.

Описание разработки:
Класс реализует и полностью управляет данными отображаемыми в табличном поле. При этом он управляет всеми объектами завязанными в реализации. Данными для табличного поля могут выступать: Справочник, Документы, Журнал, Регистр, Операции, ТабличнаяЧасть, ИндексированнаяТаблица, СписокЗначений.

Взаимоотношения внутри класса:
1. Объект "ПоставщикДанных". Главный объект с которого происходит инициализация разработки. Он управляет созданием табличного поля и объекта-расширения табличного поля.
2. Объект-расширение табличного поля. Объект управляющий данными отображенными в табличном поле. В задачи объекта входит: формирование источников данных, управление редактированием, поиском, первичная настройка отбора.
3. Табличное поле. Объект управляющий элементом управления отображающим данные на форме. Табличное поле поставщика данных имеет расширенную объектую модель относительно стандартного табличного поля 1С++.
4. Командная панель. Объект привязанный к табличному полю и реализующий панель кнопок для управления табличным полем. Командная панель заполняется объектом-расширением поставщика данных.

Объекты-расширения делятся на два вида: формируемые из данных БД, и формируемые из данных оперативной памяти. Справочник, Документ, Журнал, Регистр, Операции, Проводки - данные для этих расширений считываются динамически прямыми запросами к базе данных 1С. Для них доступны отборы, возможность изменения запросов. Также для данных объектов контролируются наборы прав пользователей.
ТабличнаяЧасть, ИндексированнаяТаблица, СписокЗначений - данные для этих расширений хранятся в оперативной памяти.

К классам приложена документация, написана она процентов на 60-70% (но уже более 150 страниц).

Текущая официальная версия: 4.3.1 от 12.03.12 г.

Версии внешних компонент рекомендованные к использованию:
Требования:
1С++ последняя Улыбка
1sqlite. Версия 1.0.2.3 и выше
FormEx
Yoksel



Часть 1: - тут

Поскольку иногда ветки имеют свойство ломаться, настоятельно рекомендую обсуждение продолжать вести в этой теме. Все вопросы оставшиеся при переходе прошу продублировать сюда.
« Последняя редакция: 13. Марта 2012 :: 16:24 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #1 - 27. Сентября 2010 :: 13:55
Печать  
artbear писал(а) 26. Сентября 2010 :: 08:04:
spock писал(а) 25. Сентября 2010 :: 16:18:
Прошелся Олей, наткнулся на блок перехватов, в том числе DecrRef... Я так понимаю, в нынешнем виде компоненты следить за счетчиком не надо? Тогда достаточно убрать в файле PicService.cpp в методе CPicService::GetRenderedPicture строчку ppPicture[0]->AddRef();
Ну и сессно досадный ML в конструкторе CPicService.

1. Зарегистрирован баг http://www.1cpp.ru/bugs/show_bug.cgi?id=4504
2. Исправление подтверждаю, утечка на тестовом примере исчезла.
3. Исправление внесено в репозитарий icpp

Выложил версию icpp 3.2.2.7 с исправлением

Заново собрал 3.2.2.7
Упомянутых ошибок нету.
Прошу проверить

ЗЫ перенес архив со сборкой в основную ветку
http://www.1cpp.ru/forum/YaBB.pl?num=1281717242/65#65
« Последняя редакция: 28. Сентября 2010 :: 12:26 - artbear »  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #2 - 28. Сентября 2010 :: 07:23
Печать  
artbear писал(а) 27. Сентября 2010 :: 13:55:
Заново собрал 3.2.2.7
Упомянутых ошибок нету.
Прошу проверить
ЗЫ это новый вариант 3.2.2.7, прошу закачать заново!

Проверил. На тестовом примере объекты GDI все-равно "растут", правда медленее чем в раньше, то есть чтобы система упала, раньше нужно было открытьзакрыть тестоую форму 3-4 раза, то сейчас раз 50.
  
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #3 - 28. Сентября 2010 :: 10:25
Печать  
zk96 писал(а) 28. Сентября 2010 :: 07:23:
artbear писал(а) 27. Сентября 2010 :: 13:55:
Заново собрал 3.2.2.7
Упомянутых ошибок нету.
Прошу проверить
ЗЫ это новый вариант 3.2.2.7, прошу закачать заново!

Проверил. На тестовом примере объекты GDI все-равно "растут", правда медленее чем в раньше, то есть чтобы система упала, раньше нужно было открытьзакрыть тестоую форму 3-4 раза, то сейчас раз 50.

Кстати, а что за форма такая "тестовая"? Я открываю просто форму документа. У меня GDI при этом пухнут, но не дохнут. Или может у меня терпения не хватило 50 раз открыть Улыбка
  
Наверх
ICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #4 - 28. Сентября 2010 :: 10:55
Печать  
avgreen писал(а) 28. Сентября 2010 :: 10:25:
Кстати, а что за форма такая "тестовая"? Я открываю просто форму документа. У меня GDI при этом пухнут, но не дохнут. Или может у меня терпения не хватило 50 раз открыть Улыбка

Тестовая вот http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/1155#1168
А так, у Вас не хватило терпения. Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #5 - 28. Сентября 2010 :: 12:27
Печать  
Выложил версию icpp 3.2.2.7 с исправлением из предыдущего поста в основной ветке
http://www.1cpp.ru/forum/YaBB.pl?num=1281717242/65#65
  

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



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #6 - 28. Сентября 2010 :: 15:02
Печать  
я не понял, не починили чтоли?
  
Наверх
ICQ  
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 811
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #7 - 28. Сентября 2010 :: 15:22
Печать  
spock писал(а) 28. Сентября 2010 :: 15:02:
я не понял, не починили чтоли?

Пока чинят.
  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #8 - 29. Сентября 2010 :: 04:01
Печать  
spock писал(а) 28. Сентября 2010 :: 15:02:
я не понял, не починили чтоли?

Починил по твоему рецепту.
но некоторые проблемы все равно остались.
  

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



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #9 - 29. Сентября 2010 :: 12:49
Печать  
artbear писал(а) 29. Сентября 2010 :: 04:01:
но некоторые проблемы все равно остались.

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #10 - 29. Сентября 2010 :: 13:02
Печать  
spock писал(а) 29. Сентября 2010 :: 12:49:
artbear писал(а) 29. Сентября 2010 :: 04:01:
но некоторые проблемы все равно остались.

какие?

http://www.1cpp.ru/forum/YaBB.pl?num=1281717242/61#61
  

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



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #11 - 29. Сентября 2010 :: 14:28
Печать  
а из-за чего течет? Улыбка
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #12 - 29. Сентября 2010 :: 15:36
Печать  
а что за ку.ня в виде я().XXX , которая не проходит синтаксис-контроль? чувствую, что боян, но всеже
« Последняя редакция: 29. Сентября 2010 :: 16:54 - spock »  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #13 - 29. Сентября 2010 :: 16:13
Печать  
Вот на этом упрощенном примере видно, что при открытии кушается пара тысяч GDI, после закрытия все вертается взад
  

_________________IPicture_001.rar ( 4 KB | Загрузки )
Наверх
ICQ  
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #14 - 07. Октября 2010 :: 12:22
Печать  
С помощью это класса у меня организован журнал документов с фильтром по списку контрагентов (для менеджеров).

Со временем было отмечено, что в пиковые часы нагрузок на sql сервер у менеджеров стал подтормаживать вод текстовых данных (например в справочниках). Я связываю это с слишком частым опросом данных - ПериодАвтоОбновления =10. Примерно каждые 10 сек комп какбы замирает на 1-2 сек 

Сегодня увеличу этот параметр, но будет уже не так удобно работать с этим журналом. Например только, что введенный документ отобразится в журнале не сразу, а только после очередного опроса данных установленного в ПериодАвтоОбновления.

Хочу сделать , чтобы журнал обновлялся после записи документа, но в мануале нужного мне события не нашел.

пробовал по событию ПередПроведением, но что-то не обновляет

Код
Выбрать все
Процедура ТабличноеПолеМногострочнойЧастиПередПроведением(ТабличноеПоле,ФСО)
	ТабличноеПоле.ОбновитьСтрокиТабличногоПоля();
КонецПроцедуры
 



как сделать , обновление при записи документа?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 ... 80
ОтправитьПечать