Переключение на Главную Страницу Страницы: 1 ... 27 28 [29] 30 31 ... 36 ОтправитьПечать
Очень популярная тема (более 25 ответов) TableDoc (число прочтений - 259132 )
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #420 - 26. Октября 2010 :: 14:08
Печать  
trad писал(а) 26. Октября 2010 :: 13:51:

Tested.
Большущее спасибо!  Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #421 - 12. Апреля 2011 :: 10:18
Печать  
Никак не могу заставить работать метод "ПрокрутитьНа" (и остальные, связанные с прокруткой)
Видимо что то делаю не так..
Вот код и тестовая конфигурация
Код
Выбрать все
Перем _ПТД;

Процедура ПриОткрытии()
	_ПТД = СоздатьОбъект("ПолеТабличногоДокумента");
	_Форма = СоздатьОбъект("Форма");
	_Форма.УстановитьФорму(Форма);
КонецПроцедуры

Процедура ФормаПриСоздании(_Форма)
	_Форма.СоздатьЭлементУправления(_ПТД,Форма._Реквизит);
КонецПроцедуры

Процедура ПослеОткрытия()
	_ПТД.Менеджер.ВидимостьПолосПрокрутки(0);
	//_ПТД.ПлоскийСтиль = 1;
	_ПТД.Таблица.Опции(0,0);
	_ПТД.Таблица.ИсходнаяТаблица("Таблица");

	Для н = 1 По 40 Цикл
		стрСтрока = "строка " + СокрЛП(н);
		_ПТД.Таблица.ВывестиСекцию("Строка");
	КонецЦикла;
	//_ПТД.Менеджер.ПрокрутитьНа(10);
	_ПТД.Менеджер.ПрокрутитьНа(-10);

	_ПТД.Менеджер.Обновить();
КонецПроцедуры 



icpp.dll (3.0.1.25)
formex.dll (2.0.5.93 beta)
tabledoc.dll (0.1.1.42)
  

Test_2.rar ( 6 KB | Загрузки )
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #422 - 12. Апреля 2011 :: 13:07
Печать  
Методы ПрокрутитьНа, ПрокрутитьВЯчейку, СделатьЯчейкуВидимой работают только если Таблица уже отрисована.
Т.е. они сработают в процедуре, например, при нажатии кнопки.

В событии ФормаПриСоздании() - форма создана, но еще не отрисована и ПТД тоже создается, но отрисовывается только после отрисовки формы.

В событии ПослеОткрытия() - скорее всего так же.

ps
а зачем одновременно использовать ФормаПриСоздании и ПослеОткрытия? Ведь все это можно сделать в одном из этих событий.
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #423 - 12. Апреля 2011 :: 13:10
Печать  
trad писал(а) 12. Апреля 2011 :: 13:07:
Методы ПрокрутитьНа, ПрокрутитьВЯчейку, СделатьЯчейкуВидимой работают только если Таблица уже отрисована.
Т.е. они сработают в процедуре, например, при нажатии кнопки.

В событии ФормаПриСоздании() - форма создана, но еще не отрисована и ПТД тоже создается, но отрисовывается только после отрисовки формы.

В событии ПослеОткрытия() - скорее всего так же.

Спасибо, сейчас попробую.

trad писал(а) 12. Апреля 2011 :: 13:07:
ps
а зачем одновременно использовать ФормаПриСоздании и ПослеОткрытия? Ведь все это можно сделать в одном из этих событий.

Это было выдрано из рабочего кода, поэтому остались хвосты..
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #424 - 12. Апреля 2011 :: 13:16
Печать  
Действительно, все работает..
А то я весь мозг сломал, все доку перечитал вдоль и поперек..
Спасибо!

Я тут решил поиспользовать tabledoc для некоторых интерфейсных решений, вроде неплохо получается, но "неработа" этих методов сильно огорчала.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #425 - 13. Апреля 2011 :: 07:50
Печать  
trad писал(а) 12. Апреля 2011 :: 13:07:
Методы ПрокрутитьНа, ПрокрутитьВЯчейку, СделатьЯчейкуВидимой работают только если Таблица уже отрисована.
Хотя, если честно, то мне пока не понятна природа такого поведения.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #426 - 13. Апреля 2011 :: 10:22
Печать  
Выяснил, что все "прокрутки" сбрасываются перед первоначальным отображением при OnInitialUpdate.
Пришлось сделать событие которое вызывается после отработки штатного OnInitialUpdate.

CaBaT
Теперь можно написать так:
Код
Выбрать все
Перем _ПТД;

Процедура _РеквизитПриНачальномОбновлении(Менеджер)
	//Менеджер.ПрокрутитьНа(10);
	Менеджер.ПрокрутитьНа(-10);
КонецПроцедуры

Процедура ПриОткрытии()
	_ПТД = СоздатьОбъект("ПолеТабличногоДокумента");
	_Форма = СоздатьОбъект("Форма");
	_Форма.УстановитьФорму(Форма);
КонецПроцедуры

Процедура ФормаПриСоздании(_Форма)
	_Форма.СоздатьЭлементУправления(_ПТД,Форма._Реквизит);
	_ПТД.Менеджер.ВидимостьПолосПрокрутки(0);
	//_ПТД.ПлоскийСтиль = 1;
	_ПТД.Таблица.Опции(0,0);
	_ПТД.Таблица.ИсходнаяТаблица("Таблица");

	Для н = 1 По 40 Цикл
		стрСтрока = "строка " + СокрЛП(н);
		_ПТД.Таблица.ВывестиСекцию("Строка");
	КонецЦикла;
КонецПроцедуры 


http://infostart.ru/public/download.php?file=67040
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #427 - 13. Апреля 2011 :: 10:57
Печать  
Спасибо!
Только не совсем понял - когда будет срабатывать это событие?
Один раз при открытии формы?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #428 - 13. Апреля 2011 :: 11:03
Печать  
CaBaT писал(а) 13. Апреля 2011 :: 10:57:
Только не совсем понял - когда будет срабатывать это событие?
Один раз при открытии формы?

если говорить абсолютно точно, то после CView::ОnInitialUpdate
  

1&&2&&3
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #429 - 05. Мая 2011 :: 11:25
Печать  
Есть небольшой трабл:
модально открывается форма обработки, на которой использовано ПТД.
Если мышкой ткнуть в ПТД, а потом закрыть форму (любым способом - ESC, крестик в углу, etc) - фокус теряется. Т.е. форма, из которой обработка открывалась модально является активной, но ни на что не реагирует (ни сама форма, ни 1Ска целиком). Нужно ткнуть мышкой в любое место - тогда 1Ска снова начинает реагировать на клавиатуру.

Это лечится?
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #430 - 06. Мая 2011 :: 08:11
Печать  
Тестовый пример...

Кнопка на панели открывает тестовую обработку.
В тестовой обработке нажать "Выполнить".
  

TableDoc_Bug.rar ( 61 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #431 - 06. Мая 2011 :: 08:31
Печать  
Да, есть такой момент..
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #432 - 06. Мая 2011 :: 10:24
Печать  
Уря!
Победил!

Код
Выбрать все
Окна = СоздатьОбъект("Окна");
Окна.НаПереднийПлан(); 

  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #433 - 06. Мая 2011 :: 10:26
Печать  
Была мысль предложить, но подумал, что это видимо не подходит.. Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #434 - 11. Мая 2011 :: 12:30
Печать  
Посмотрел, посмотрел я в код, и что то мне грустно стало.  Печаль
Ковырять там - не перековырять.
Может забить, а?
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 27 28 [29] 30 31 ... 36
ОтправитьПечать