Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) TableDoc (число прочтений - 257351 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
TableDoc
27. Апреля 2007 :: 15:48
Печать  
TableDoc - внешняя компонента для работы с табличным документом (Таблица) системы 1С:Предприятие 7.7

ВК реализует два класса: МенеджерТабличногоДокумента и элемент управления ПолеТабличногоДокумента.

МенеджерТабличногоДокумента - класс для управления некоторыми параметрами состояния любого табличного документа. Работает с объектом типа "Таблица".

ПолеТабличногоДокумента - элемент управления представляющий из себя атрибут формы отображающий представление (View) стандартного 1С-объекта Таблица.
Класс ПолеТабличногоДокумента реализует интерфейс CV7Control, что позволяет осуществлять создание ЭУ посредством ВК 1C++. Например при помощи метода Форма::СоздатьЭлементУправления. См. описание соответствующих методов в документации по 1С++.

ps
Т.е. в части ПолеТабличногоДокумента эта ВК является как бы плагином для 1с++
« Последняя редакция: 09. Февраля 2013 :: 05:42 - trad »  

tabledoc_0_1_1_45.rar ( 181 KB | Загрузки )

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


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #1 - 27. Апреля 2007 :: 15:55
Печать  
"Эй, скрипач, ты горяч.."

- RTTI рулит Класс
- я в восхищении Ужас
  
Наверх
ICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #2 - 27. Апреля 2007 :: 15:57
Печать  
а, ум. опс. хм.
Это, пример можно?
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #3 - 27. Апреля 2007 :: 16:01
Печать  
Код
Выбрать все
Процедура ПриОткрытии()
	_Форма=СоздатьОбъект("Форма");
	_Форма.УстановитьФорму(Форма);
КонецПроцедуры

Процедура ФормаПриСоздании(_Форма)
	тчет);
	гТДОтчет.Таблица.Опции(0,0,2,0);
	гТДОтчет.Таблица.ТолькоПросмотр(1);
КонецПроцедуры 

« Последняя редакция: 04. Мая 2007 :: 14:57 - trad »  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #4 - 27. Апреля 2007 :: 16:04
Печать  
Код
Выбрать все
Перем ТабМенеджер;
Перем ТабМенеджер2;
Перем Таб;
Перем Таб2;

Процедура СделатьЯчейкуВидимой()
	ТабМенеджер.Выделить(Стр,Кол);
	ТабМенеджер.СделатьЯчейкуВидимой(Стр,Кол);
	Таб.Показать();
КонецПроцедуры

Процедура ПрокрутитьВЯчейку()
	ТабМенеджер.Выделить(Стр,Кол);
	ТабМенеджер.ПрокрутитьВЯчейку(Стр,Кол);
	Таб.Показать();
КонецПроцедуры

Процедура Выделить()
	ТабМенеджер.Выделить(Стр,Кол);
	Таб.Показать();
КонецПроцедуры

Процедура ВыделитьЕще(Режим)
	ТабМенеджер.ВыделитьЕще(Стр,Кол);
	Таб.Показать();
КонецПроцедуры

Процедура ПолучитьВыделенные()
	ОчиститьОкноСообщений();
	ТЗ=ТабМенеджер.ПолучитьВыделенные();
	ТЗ.ВыбратьСтроки();
	Пока ТЗ.ПолучитьСтроку()=1 Цикл
		Сообщить(""+ТЗ.ТипОбласти+": "+ТЗ.R1+"х"+ТЗ.C1+" - "+ТЗ.R2+"х"+ТЗ.C2);
	КонецЦикла;
	Таб.Показать();
КонецПроцедуры

Процедура КопироватьВыделение()
	ТабМенеджер2.ВыделитьПоТЗ(ТабМенеджер.ПолучитьВыделенные());
	Таб2.Показать();
КонецПроцедуры

Процедура ПриОткрытии()
	глЗагрузитьTableDocDLL();

	Таб=СоздатьОбъект("Таблица");
	Таб.Опции(1,1,,,,"Тест");
	Таб.ТолькоПросмотр(1);
	Таб.Показать();
	ТабМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
	ТабМенеджер.УстановитьТаблицу(Таб);

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

Процедура ПриЗакрытии()
	Таб.Показать(,,-1);
	Таб2.Показать(,,-1);
КонецПроцедуры 

« Последняя редакция: 04. Мая 2007 :: 14:58 - trad »  

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


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Новинка - TableDoc
Ответ #5 - 27. Апреля 2007 :: 16:14
Печать  
Класная вещичка, только почему в курилке Улыбка
  
Наверх
wwwICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #6 - 27. Апреля 2007 :: 16:16
Печать  
noprogrammer писал(а) 27. Апреля 2007 :: 16:14:
Класная вещичка, только почему в курилке Улыбка

краска еще не обсохла )
  
Наверх
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Новинка - TableDoc
Ответ #7 - 27. Апреля 2007 :: 16:23
Печать  
Мини пример Улыбка
  

test_tabl.rar ( 7 KB | Загрузки )
Наверх
wwwICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #8 - 27. Апреля 2007 :: 19:56
Печать  
И можно писать свой эксель!

Круто! Спасибо!
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #9 - 27. Апреля 2007 :: 20:01
Печать  
trad

Улыбка

Еще можно было бы события некоторые добавить.
И забыть, наконец, о таблицах в режиме ввода данных как о страшном сне.


P.S.
Больше контролов, хороших и разных!
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #10 - 28. Апреля 2007 :: 04:20
Печать  
kms писал(а) 27. Апреля 2007 :: 20:01:
Еще можно было бы события некоторые добавить.

каких например.
обсуждаемо.
  

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


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #11 - 28. Апреля 2007 :: 06:26
Печать  
trad писал(а) 28. Апреля 2007 :: 04:20:
каких например.

Например при начале редактирования ячейки (с возможностью запрета) и при окончании.


В свое время мне хватило врезки в ApplyTyping в подобной же задаче (нужно было обрабатывать ввод в активной ячейке и позиционироваться на следующей).

Еще не помешал бы запрет на удаление и вставку, изменение через буфер обмена и т.п.
В том же CSheetView много событий, которые могут быть интересны - вопрос, кому что нужно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #12 - 29. Апреля 2007 :: 23:39
Печать  
Дим, а метод СоздатьЭлементУправления можно передать именно Форма.ОбъектТаблица?
Произвольную таблицу нельзя?
У меня по крайней мере не получается Печаль
Код
Выбрать все
Табл = СоздатьОбъект("Таблица");
Табл.Открыть(КаталогИБ() + "yo.mxl");
ОбъектТаблица = ОбъектФорма.СоздатьЭлементУправления("ПолеТабличногоДокумента", Табл);  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #13 - 30. Апреля 2007 :: 04:43
Печать  
интересно, а как ты представляешь, что в этом случае должно было бы получиться
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #14 - 30. Апреля 2007 :: 04:52
Печать  
Методом СоздатьЭлементУправления создается всего лишь контрол определенного класса ЭУ на определенном атрибуте формы.

Если ты хочешь создать ЭУ класса ПолеТабличногоДокумента и открыть внем файл, то:
Код
Выбрать все
ПолеТД = ОбъектФорма.СоздатьЭлементУправления("ПолеТабличногоДокумента", Форма.АтрибутФормы);
ПолеТД.Таблица.Открыть(КаталогИБ() + "yo.mxl"); 


Если ты хочешь управлять произвольным табличным документом, то:
Код
Выбрать все
Табл = СоздатьОбъект("Таблица");
Табл.Открыть(КаталогИБ() + "yo.mxl");
МенеджерТаблицы = СоздатьОбъект("МенеджерТабличногоДокумента");
МенеджерТаблицы.УстановитьТаблицу(Табл); 

  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #15 - 30. Апреля 2007 :: 11:31
Печать  
Ай блин, стормозил под конец недели  Круглые глаза
  
Наверх
 
IP записан
 
SlavaPil
Экс-Участник


Re: Новинка - TableDoc
Ответ #16 - 18. Мая 2007 :: 07:47
Печать  
Супер  Улыбка

Хотелки:
События предложенные KMS,
методы Cut, Copy, Paste по выделению. Желательно 3-х видов:
1. в ТЗ (только значения ячеек).
2. в ТЗ (с оформлением ячеек).
3. в буфер обмена.

И Загрузку-Выгрузку в файл MXL.

Будет, МЕГАСУПЕР!!!    Очень довольный

« Последняя редакция: 18. Мая 2007 :: 10:52 - »  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #17 - 18. Мая 2007 :: 08:56
Печать  
по событиям понятно.

Цитата:
И Загрузку-Выгрузку в файл MXL.

а это что? штатные Открыть, Записать чем не устраивают?
  

1&&2&&3
Наверх
 
IP записан
 
SlavaPil
Экс-Участник


Re: Новинка - TableDoc
Ответ #18 - 18. Мая 2007 :: 10:27
Печать  
trad писал(а) 18. Мая 2007 :: 08:56:
по событиям понятно.

Цитата:
И Загрузку-Выгрузку в файл MXL.

а это что? штатные Открыть, Записать чем не устраивают?


Стормозил  Смущённый

Это баг или фича ?!
при работе с ЭУ TableDoc в режиме редактирования, при переходе из ЭУ (нажатии на кнопку на форме) не срабатывает клик, только устанавливается фокус на кнопку. В режиме просмотра этого эффекта нет.
(Возможно, связанно с панелью формул).

  
Наверх
 
IP записан
 
SlavaPil
Экс-Участник


Re: Новинка - TableDoc
Ответ #19 - 18. Мая 2007 :: 10:49
Печать  
Хотелки:

Метод УдалитьСтроки(НачСтрока,КонСтрока),
УдалитьКолонки(НачКолонка,КонКолонка)

Не очистить, а удалить из таблицы (чтоб при печати этих ячеек не было).
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #20 - 18. Мая 2007 :: 11:05
Печать  
Цитата:
Это баг или фича ?!
при работе с ЭУ TableDoc в режиме редактирования, при переходе из ЭУ (нажатии на кнопку на форме) не срабатывает клик, только устанавливается фокус на кнопку. В режиме просмотра этого эффекта нет.
(Возможно, связанно с панелью формул).

Скорей всего ты простно не попадаешь по кнопке и это связано с панелью.

Когда ты находишься на ЭУ, ТД которого в режиме редактирования, то панель видна.
При клике на кнопке сначала происходит смена фокуса, при этом ТД теряет фокус и панел исчезает.
Это приводит к сдвигу клиентской области главного окна и кнопка "уезжает из под мышки".
Соответственно кнопка клик уже не отрабатывает.
И это, на мой взгляд, нормальное/логичное поведение.

Как выход - "прикалывай" панель.

ps
кстати такое же поведение при штатном использовании ТД на форме
  

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


I Love YaBB 2!

Сообщений: 30
Зарегистрирован: 26. Февраля 2007
Re: Новинка - TableDoc
Ответ #21 - 20. Июля 2007 :: 13:47
Печать  
А как работать с версией 1с++ 2.0.3.3
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #22 - 30. Июля 2007 :: 13:02
Печать  
gelotus писал(а) 20. Июля 2007 :: 13:47:
А как работать с версией 1с++ 2.0.3.3

Так же как и с табличным полем или активХ, т.к. поле табличноего документа поддерживает то же внутренний интерфейс что и первые два.

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


или
Код
Выбрать все
РасшФормы=СоздатьОбъект("РасширениеФормы");
РасшФормы.УстановитьФорму(Форма);
Документа"); 

  

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


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #23 - 02. Сентября 2007 :: 11:36
Печать  
kms писал(а) 27. Апреля 2007 :: 20:01:
trad

Еще можно было бы события некоторые добавить.
И забыть, наконец, о таблицах в режиме ввода данных как о страшном сне.



А какие события есть? Почему-то у меня вообще ничего поймать не получатсяПечаль
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #24 - 04. Сентября 2007 :: 04:59
Печать  
classic писал(а) 02. Сентября 2007 :: 11:36:
А какие события есть? Почему-то у меня вообще ничего поймать не получатсяПечаль
Событий (в желаемом составе) пока еще нет.

Кроме одного.
На днях только научил МенеджерТабличногоПоля формировать событие ОбработкаЯчейкиТаблицы (аналог штатного) для возможности полиморфной обработки этого события в КОПах.
Если это событие для вас интересно, то задокументирую и опубликую.
  

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


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #25 - 04. Сентября 2007 :: 06:42
Печать  
trad писал(а) 04. Сентября 2007 :: 04:59:
Если это событие для вас интересно, то задокументирую и опубликую.

Интересно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #26 - 04. Сентября 2007 :: 08:25
Печать  
+1 конечно надо!
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #27 - 05. Сентября 2007 :: 08:12
Печать  
trad писал(а) 04. Сентября 2007 :: 04:59:
Если это событие для вас интересно, то задокументирую и опубликую.


Хотелось бы также узнать - "есть ли ХОТЬ ОДНО событие которое можно получить в модуль" Круглые глаза
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #28 - 05. Сентября 2007 :: 08:55
Печать  
lustin писал(а) 05. Сентября 2007 :: 08:12:
Хотелось бы также узнать - "есть ли ХОТЬ ОДНО событие которое можно получить в модуль" Круглые глаза

...

И вот кубинский боксер получает серию сильнейших событий в модуль! - нокаут! - это по-бе-да нашего спортсмена!

P.S.
Музыка навеяла Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
GFiLin
YaBB Newbies
*
Отсутствует


1C.

Сообщений: 11
Зарегистрирован: 15. Ноября 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #29 - 20. Сентября 2007 :: 08:51
Печать  
kms писал(а) 28. Апреля 2007 :: 06:26:
trad писал(а) 28. Апреля 2007 :: 04:20:
каких например.

Например при начале редактирования ячейки (с возможностью запрета) и при окончании.


Да-да-да!!! Согласен на все 100 процентов, катастрофически необходимые события.

Я уже сам было кинулся бежать писать ВК для этих событий. Но, увы, не так силен в написании ВК, как хотелось бы.
Отельно софтину бы еще написал, там, вроде как у окна таблицы, когда она редактируется появляется дочернее окно типа "Edit", может, его как-то ловить? А вот ВК не осилю...  Печаль
  

Это не порнография, это Фидель Кастро есть банан.
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #30 - 08. Ноября 2007 :: 17:53
Печать  
Почему заглохла такая чудная вещь?
Только возможность размещать на форме несколько обычных таблиц при помощи ПолеТабличногоДокумента многого стоит.

Только необходимо, чтобы работал единственный обработчик штатной Таблицы - ОбработкаЯчейкиТаблицы()

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

А дальше уже будем ковырять  МенеджерТабличногоПоля.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #31 - 08. Ноября 2007 :: 17:56
Печать  
vip писал(а) 08. Ноября 2007 :: 17:53:
Почему заглохла такая чудная вещь?\

Как это заглохла?!

Дима потрясающие штуки там сделал (по самой реализации особенно):
http://www.1cpp.ru/forum/YaBB.pl?num=1193728890/24#24
  

De quelle planète es-tu?
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #32 - 08. Ноября 2007 :: 18:08
Печать  
kms писал(а) 08. Ноября 2007 :: 17:56:
vip писал(а) 08. Ноября 2007 :: 17:53:
Почему заглохла такая чудная вещь?\

Как это заглохла?!

Дима потрясающие штуки там сделал (по самой реализации особенно):
http://www.1cpp.ru/forum/YaBB.pl?num=1193728890/24#24

О как. Извиняюсь, что читал, но не обратил внимания.
Но ОбработкиЯчейкиТаблицы все равно нет. А очень надо.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #33 - 08. Ноября 2007 :: 21:49
Печать  
vip писал(а) 08. Ноября 2007 :: 18:08:
Но ОбработкиЯчейкиТаблицы все равно нет. А очень надо.

Если бы я был часами с кукушкой, я бы у кого-нибудь забрал месяц-другой, а Диме бы отдал.
Чтобы у него больше времени, чтобы реализовать свои прекрасные мечты. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #34 - 09. Ноября 2007 :: 16:40
Печать  
Цитата:
Но ОбработкиЯчейкиТаблицы все равно нет. А очень надо.

Еще раз извиняюсь. Все работает.
Это я просто проверял на таблице с незаполненным полем Расшифровка, старый дурак. Нерешительный
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #35 - 09. Ноября 2007 :: 19:21
Печать  
vip писал(а) 09. Ноября 2007 :: 16:40:
Цитата:
Но ОбработкиЯчейкиТаблицы все равно нет. А очень надо.

Еще раз извиняюсь. Все работает.
Это я просто проверял на таблице с незаполненным полем Расшифровка, старый дурак. Нерешительный

А, а я думал ты тоже про дополнительные события.

Скажи-ка, дедушка Андрей, ты что же это, правда старый дедушка? Ужас
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #36 - 09. Ноября 2007 :: 19:29
Печать  
kms писал(а) 09. Ноября 2007 :: 19:21:
Скажи-ка, дедушка Андрей, ты что же это, правда старый дедушка? Ужас

Душой он молод Улыбка
Но внучке, если память не изменяет, уже 7 месяцев Улыбка
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #37 - 09. Ноября 2007 :: 20:32
Печать  
Цитата:
Скажи-ка, дедушка Андрей, ты что же это, правда старый дедушка?

Чистая правда Улыбка
Цитата:
Но внучке, если память не изменяет, уже 7 месяцев

Изменяет. Через десять дней ровно будет 7 месяцев. Улыбка
Гитлер, Наполеон III, тетка моя, внучка - все родились 20 апреля.
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #38 - 10. Ноября 2007 :: 07:05
Печать  
Тестирование показало, что TableDoc достойна и необходима быть в составе 1С++
Прошу заинтересованных поддержать мою просьбу Улыбка
  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Новинка - TableDoc
Ответ #39 - 10. Ноября 2007 :: 14:19
Печать  
vip писал(а) 10. Ноября 2007 :: 07:05:
Тестирование показало, что TableDoc достойна и необходима быть в составе 1С++
Прошу заинтересованных поддержать мою просьбу Улыбка


+1
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #40 - 10. Ноября 2007 :: 16:43
Печать  
Чуть было не написал что у меня он не работает как обратил внимание что ри загрузке компоненты написал tabledco вместо нормального имени  Смех бывает
...

однозначно "ЗА" за то чтобы включить ее в состав 1С++ если конечно от меня что-либо зависит
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #41 - 10. Ноября 2007 :: 16:55
Печать  
Тут  в конце поста ключевая фраза: "в части ПолеТабличногоДокумента эта ВК является как бы плагином для 1с++"



P.S. дед Андрюшка, не сбивай людей с толку Улыбка
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #42 - 12. Ноября 2007 :: 08:23
Печать  
Цитата:
Тут  в конце поста ключевая фраза: "в части ПолеТабличногоДокумента эта ВК является как бы плагином для 1с++"

Дык хочется не плагином, а полноценным членом 1С++ Улыбка
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #43 - 12. Ноября 2007 :: 09:33
Печать  
Давай предроложим, чисто теоретически, что через год мегаумы наших разработчиков придумают еще тьму умных примочек.
Это повлечет новые возможные ошибки, и увеличит в размерах саму 1cpp.
Из-за боязни ошибок в коде часть пользователей, даже разработчиков, до сих пор сидят на версии 2.3.

Тема плагинов обсуждалась некоторое время назад в куриле, вроде (как обычно) зачинщиком был Ужасть Улыбка.
Возможно я ошибаюсь, но мне кажется, что Дима сделал tabledoc в форме плагина именно после тех обсуждений.
« Последняя редакция: 12. Ноября 2007 :: 10:50 - Arta »  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #44 - 12. Ноября 2007 :: 09:39
Печать  
Arta писал(а) 12. Ноября 2007 :: 09:33:
Давай предроложим, чисто теоретически, что через год мегаумы наших разработчиков придумают еще тьму умных примочек.
Это повлечет новые возможные ошибки, и увеличит в размерах саму 1cpp.
Из-за боязни ошибок в коде часть пользователей, даже разработчиков, до сих пор сидят на версии 2.3.

Тема плагинов обсуждалась некоторое время назад в куриле, вроде (как обычно) зачинщиком был Ужасть Улыбка.
Возможно я ошибаюсь, но мне кажется, что Саша сделал tabledoc в форме плагина именно после тех обсуждений.

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #45 - 12. Ноября 2007 :: 10:25
Печать  
в версии компоненты которая лежит по ссылке из #31 на самом деле есть пара событий менеджера:

ОбработкаЯчейкиТаблицы/SheetCellProcessing(Значение,ФСО,Таб,Адрес) - все параметры стандартны.

ПриАктивизацииЯчейки/OnActivateCell(Таб, Действие, Строка, Колонка) - Действие: 0-деактивация 1-активация; остальные понятны. Событие пока не стабильно и не рекомендуется к применению.

События вызываются как в модуле формы так и в модуле КОПа-наследника от ПоляТабличногоДокумента или МенеджераТабличногоДокумента. Опять же ссылаюсь на принципы вызова событий ТП. Все так же.
1. В модуле формы имя процедуры-обработчика события должно иметь префикс:
- если событие от мнеджера ПоляТабличногоДокумента - Идентификатор атрибута формы на котором создано это поле;
- если событие от произвольного МенеджераТабличногоДокумента - "МенеджерТаблДок".
2. В модуле формы объявление процедуры-обработчика события имеет первый формальный параметр в который передается менеджер.

Пример для события от менеджера поля:

Код
Выбрать все
Перем гТД;

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

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

Процедура ТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес)
//Если ФСО обнулить, то никакой штатной обработки не будет.
//Если оставить =1, то будет обычная штатная обработка с вызовом штатной локальной/глобальной ОбработкаЯчейкиТаблицы
    Сообщить("ТаблДокОбработкаЯчейкиТаблицы");
    Сообщить(Менеджер);
    Сообщить(Значение);
    Сообщить(ФСО);
    Сообщить(Таб);
    Сообщить(Адрес);
КонецПроцедуры 


пример для события от произвольного менеджера:

Код
Выбрать все
Перем гМенеджер;

Процедура Сформировать()
    Таб=СоздатьОбъект("Таблица");
    Таб.ТолькоПросмотр(1);
    Таб.Вывести();
    Таб.Показать();

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

Процедура МенеджерТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес)
    Сообщить("МенеджерТаблДокОбработкаЯчейкиТаблицы");
    Сообщить(Менеджер);
    Сообщить(Значение);
    Сообщить(ФСО);
    Сообщить(Таб);
    Сообщить(Адрес);
КонецПроцедуры
 

  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #46 - 12. Ноября 2007 :: 10:43
Печать  
по поводу tabledoc и 1с++
ВК tabledoc никогда не была в составе 1с++ (и никто ее оттуда не выделял) и не будет в ее составе.
Во-первых это самостоятельный продукт. Во-вторых я сторонник модульности.

То что я эту поделку расцениваю как плагин к 1С++ - это только в части создания контрола, т.к. 1с++ замечательно умеет создавать любые контролы отвечающие интерфейсу CV7Control. Лубой может реализовать такой контрол который будет создаваться при помощи функционала 1с++. И ВК с таким контролом можно расценивать как плагин.
С другой стороны, т.к. поле ТД реализует еще и другой, пока неизвестный широкому кругу, интерфейс, то оно может быть создано и другой "над плагинной" ВК. Но речь пока не о ней.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #47 - 12. Ноября 2007 :: 10:51
Печать  
trad писал(а) 12. Ноября 2007 :: 10:43:
Во-вторых я сторонник модульности.

+1 всеми руками за
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #48 - 12. Ноября 2007 :: 10:59
Печать  
Цитата:
ВК tabledoc никогда не была в составе 1с++ (и никто ее оттуда не выделял) и не будет в ее составе.

Ну, тебе видней. Это не страшно.

Пока ты не исправил предыдущий пост, я успел попробовать ПриАктивизацииЯчейки(Менеджер,Значение,ФСО,Строчка,Колонка)

Работает, но не совсем. При активации ячейки эта процедура срабатывает сначала для предыдущей активной ячейки, а потом еще и для той, которая стала текущей. И при первой отрисовке таблицы срабатывает несколько раз подряд. А событие богатое, хорошо, если будет доведено до рабочего состояния.
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #49 - 12. Ноября 2007 :: 11:08
Печать  
И Значение в ПриАктивизацииЯчейки(Менеджер,Значение,ФСО,Строчка,Колонка) все время возвращает "Таблица"
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #50 - 12. Ноября 2007 :: 11:26
Печать  
vip писал(а) 12. Ноября 2007 :: 11:08:
И Значение в ПриАктивизацииЯчейки(Менеджер,Значение,ФСО,Строчка,Колонка) все время возвращает "Таблица"
я такие формальные параметры не давал Улыбка

из описания выше:
ПриАктивизацииЯчейки/OnActivateCell(Таб, Действие, Строка, Колонка)
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #51 - 12. Ноября 2007 :: 11:31
Печать  
vip писал(а) 12. Ноября 2007 :: 10:59:
Работает, но не совсем. При активации ячейки эта процедура срабатывает сначала для предыдущей активной ячейки, а потом еще и для той, которая стала текущей.
так и задумано. См. параметр "Действие"

vip писал(а) 12. Ноября 2007 :: 10:59:
И при первой отрисовке таблицы срабатывает несколько раз подряд.
при первом показе она на самом деле "движком" активизируется/деактивизируется по 2 раза. Не уверен что с этим есть необходимость бороться Озадачен
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #52 - 12. Ноября 2007 :: 11:38
Печать  
Если пересоздать новое ТП на месте предудыщего - все ок.
Если пересоздать активикс на том же атрибуте - все ок за редким исключением.
Если вместо ТД делаю например ТП (том же атрибуте), то вылет в космос.

Это лечится?

У меня много закладок, атрибут один. С другими объектами вроде не вылетает...
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #53 - 12. Ноября 2007 :: 11:39
Печать  
trad писал(а) 12. Ноября 2007 :: 11:26:
vip писал(а) 12. Ноября 2007 :: 11:08:
И Значение в ПриАктивизацииЯчейки(Менеджер,Значение,ФСО,Строчка,Колонка) все время возвращает "Таблица"
я такие формальные параметры не давал Улыбка

из описания выше:
ПриАктивизацииЯчейки/OnActivateCell(Таб, Действие, Строка, Колонка)

Не давал. Но я успел выхватить, пока ты не исправил, так
ПриАктивизацииЯчейки(Менеджер,Значение,ФСО,Таб.Адрес) Очень довольный
Строчка и Колонка я сам приписал, т.к. они возвращают действительно текущую строку и колонку.

Соответственно
Менеджер="МенеджерТабличногоДокумента"
Значение="Таблица"
ФСО=1
Строчка=текущая строка
Колонка=текущая колонка

Так как все таки правильно?
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #54 - 12. Ноября 2007 :: 11:46
Печать  
Цитата:
при первом показе она на самом деле "движком" активизируется/деактивизируется по 2 раза. Не уверен что с этим есть необходимость бороться

А у меня почему-то аж 9 раз.
Пробовал создавать и в ПослеСозданияФормы и в ПослеОткрытия.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #55 - 12. Ноября 2007 :: 11:50
Печать  
vip писал(а) 12. Ноября 2007 :: 11:39:
Не давал. Но я успел выхватить, пока ты не исправил, так
ПриАктивизацииЯчейки(Менеджер,Значение,ФСО,Таб.Адрес) Очень довольный

хм.странно Озадачен
я вроде копи-пастил из (см.аттач)
хотя может и я что то напутал Нерешительный

А, правильно - как в описании:
Менеджер="МенеджерТабличногоДокумента"
Таб="Таблица"
Действие=0/1
Строчка=текущая строка
Колонка=текущая колонка
  

1_006.rar ( 2 KB | Загрузки )

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #56 - 12. Ноября 2007 :: 11:56
Печать  
vip писал(а) 12. Ноября 2007 :: 11:46:
Цитата:
при первом показе она на самом деле "движком" активизируется/деактивизируется по 2 раза. Не уверен что с этим есть необходимость бороться

А у меня почему-то аж 9 раз.
Пробовал создавать и в ПослеСозданияФормы и в ПослеОткрытия.

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

1&&2&&3
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #57 - 12. Ноября 2007 :: 16:00
Печать  
Содержимое данного сообщения было перенесено СЮДА.
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #58 - 15. Ноября 2007 :: 15:24
Печать  
Автор, а как насчет свертки?
Я тут подумал, ведь наверное можно сделать, ...теоретически.
Подложить контрол на еще одно окошко, а на нем уже фигачить свертку пряча и показывая строки..
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #59 - 17. Ноября 2007 :: 15:59
Печать  
А вот мне кажется что было бы неплохо сделать возможность рулить видимостью строк и колонок, тогда вполне возможно будет и сворачивание в будущем сделать... по крайней мере будем уже на шаг ближе.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #60 - 18. Ноября 2007 :: 06:29
Печать  
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #61 - 18. Ноября 2007 :: 21:51
Печать  
trad писал(а) 18. Ноября 2007 :: 06:29:
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.


Ну еще не вечер  Подмигивание. Хотя так хочется чтобы этот "вечер" настал побыстрее.
Что-то сдается мне что мой переход работы в 8-ке был лишь временным.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mihast
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 18. Октября 2007
Re: Новинка - TableDoc
Ответ #62 - 01. Декабря 2007 :: 15:56
Печать  
trad писал(а) 18. Ноября 2007 :: 06:29:
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.


А может быть можно их (строки/столбцы) просто удалять ?
Для свертки этого достаточно. А для разворачивания отдельно хранить полностью развернутую таблицу и после "раздвинуть" вставлять из нее куски ?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #63 - 01. Декабря 2007 :: 19:27
Печать  
mihast писал(а) 01. Декабря 2007 :: 15:56:
trad писал(а) 18. Ноября 2007 :: 06:29:
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.


А может быть можно их (строки/столбцы) просто удалять ?
Для свертки этого достаточно. А для разворачивания отдельно хранить полностью развернутую таблицу и после "раздвинуть" вставлять из нее куски ?


насколько мне понимается данная таблица практически и есть стандартная таблица в 7.7. помоему она не самостоятельный объект и те ограничения которые имеет таблица в движке автоматом накладываются и на нее.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mihast
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 18. Октября 2007
Re: Новинка - TableDoc
Ответ #64 - 03. Декабря 2007 :: 04:53
Печать  
vandalsvq писал(а) 01. Декабря 2007 :: 19:27:
mihast писал(а) 01. Декабря 2007 :: 15:56:
trad писал(а) 18. Ноября 2007 :: 06:29:
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.


А может быть можно их (строки/столбцы) просто удалять ?
Для свертки этого достаточно. А для разворачивания отдельно хранить полностью развернутую таблицу и после "раздвинуть" вставлять из нее куски ?


насколько мне понимается данная таблица практически и есть стандартная таблица в 7.7. помоему она не самостоятельный объект и те ограничения которые имеет таблица в движке автоматом накладываются и на нее.


Но у стандартной таблицы 1с7.7 (через "Действия") есть возможность удалить строки/столбцы и "Раздвинуть"
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #65 - 03. Декабря 2007 :: 06:08
Печать  
вот прийдет trad и все я думаю объяснит
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #66 - 03. Декабря 2007 :: 06:21
Печать  
mihast писал(а) 01. Декабря 2007 :: 15:56:
trad писал(а) 18. Ноября 2007 :: 06:29:
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.


А может быть можно их (строки/столбцы) просто удалять ?
Для свертки этого достаточно. А для разворачивания отдельно хранить полностью развернутую таблицу и после "раздвинуть" вставлять из нее куски ?

думаю это вполне реально
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #67 - 03. Декабря 2007 :: 06:42
Печать  
trad писал(а) 03. Декабря 2007 :: 06:21:
mihast писал(а) 01. Декабря 2007 :: 15:56:
trad писал(а) 18. Ноября 2007 :: 06:29:
to #58, #59
К сожалению я не нашел способа сделать колонки/строки скрытыми.


А может быть можно их (строки/столбцы) просто удалять ?
Для свертки этого достаточно. А для разворачивания отдельно хранить полностью развернутую таблицу и после "раздвинуть" вставлять из нее куски ?

думаю это вполне реально


а отрисовку границы свертки и "+ -" сделаешь?  Круглые глаза
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #68 - 03. Декабря 2007 :: 07:48
Печать  
Думаю системную поддержку "+/-" логично делать только при возможности реализовать именно свертку (сокрытие) строк/колонок.
Но удаление/вставка это несколько другое. И как к этому логически "притянуть" +/- я не знаю.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #69 - 04. Декабря 2007 :: 19:14
Печать  
Дим, достучаться до тебя не могу, выкладываю тут.
Для гарантированного вылета нужно сделать активным ТД и перейти пару раз со вкладки на вкладку.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #70 - 05. Декабря 2007 :: 06:13
Печать  
Arta писал(а) 04. Декабря 2007 :: 19:14:
Дим, достучаться до тебя не могу, выкладываю тут.

для начала OFF
Если Значение = "ТабличноеПоле" Тогда
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #71 - 05. Декабря 2007 :: 06:57
Печать  
Arta писал(а) 04. Декабря 2007 :: 19:14:
Для гарантированного вылета нужно сделать активным ТД и перейти пару раз со вкладки на вкладку.

не повторяется
использовал:
1с++ 2.5.0.5
FormEx 2.0.5.79
tabledoc из http://dev.citykirov.ru/tabledoc_for_arta.zip
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #72 - 05. Декабря 2007 :: 09:18
Печать  
trad писал(а) 05. Декабря 2007 :: 06:13:
для начала OFF
Если Значение = "ТабличноеПоле" Тогда

Да конечно Улыбка



А по косяку, он действительно пропал Улыбка Необъяснимо, но факт. tabledoc использовал новый, таже конфа, ну ночник сменился, но там изменений связанных с этим я не увидел.

Звиняй панове тогда Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #73 - 05. Декабря 2007 :: 09:54
Печать  
trad

trad писал(а) 05. Декабря 2007 :: 06:57:
Arta писал(а) 04. Декабря 2007 :: 19:14:
Для гарантированного вылета нужно сделать активным ТД и перейти пару раз со вкладки на вкладку.

не повторяется
использовал:
1с++ 2.5.0.5
FormEx 2.0.5.79
tabledoc из http://dev.citykirov.ru/tabledoc_for_arta.zip


Дима, ты это просто где-то починил, проблема была на предыдущей версии http://www.1cpp.ru/forum/YaBB.pl?num=1193728890/24#24

Было бы здорово, если бы мы
1. осознали, с чем это было связано (ибо я тогда уже махнул рукой и решил, что это внутренняя проблема создания контролов в событии 1С)
2. пометили ссылки на предыдущие билды, как устаревшие и опубликовали бы не только для Артема, но и для остальных грешных текущий "официальный" билд.
3. а может стоит багтракер завести или хистори какой-нибудь?

Хорошо я здесь применил слово "мы"? Подмигивание
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #74 - 05. Декабря 2007 :: 09:57
Печать  
kms писал(а) 05. Декабря 2007 :: 09:54:
Было бы здорово, если бы мы
1. осознали, с чем это было связано (ибо я тогда уже махнул рукой и решил, что это внутренняя проблема создания контролов в событии 1С)
2. пометили ссылки на предыдущие билды, как устаревшие и опубликовали бы не только для Артема, но и для остальных грешных текущий "официальный" билд.
3. а может стоит багтракер завести или хистори какой-нибудь?

+1 по всем пунктам, особенно п.1 Улыбка
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #75 - 05. Декабря 2007 :: 10:30
Печать  
kms писал(а) 05. Декабря 2007 :: 09:54:
trad
Дима, ты это просто где-то починил, проблема была на предыдущей версии http://www.1cpp.ru/forum/YaBB.pl?num=1193728890/24#24

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

Именно, ошибка была в версии по ссылке.
Падение было связана с ошибкой в tabledoc. Поправленная сборка (без смены версии) была предоставлена Артему для тестирования. Теперь, когда все разрешилось, будет обнародован новый релиз с новым номером версии и с хистори

kms писал(а) 05. Декабря 2007 :: 09:54:
2. пометили ссылки на предыдущие билды, как устаревшие и опубликовали бы не только для Артема, но и для остальных грешных текущий "официальный" билд.
3. а может стоит багтракер завести или хистори какой-нибудь?

2. ссылки почищу
3. багтрекер - это хорошо, но возиться с ним мне лень.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #76 - 05. Декабря 2007 :: 14:18
Печать  
Итак, последняя версия компоненты с документацией по ссылкам из топикстартера
  

1&&2&&3
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #77 - 05. Декабря 2007 :: 15:33
Печать  
Дима, а примерный код для исправления подобного бага с АктивИкс дашь?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #78 - 06. Декабря 2007 :: 06:07
Печать  
artbear писал(а) 05. Декабря 2007 :: 15:33:
Дима, а примерный код для исправления подобного бага с АктивИкс дашь?

А кода для исправления AX у меня нет  Озадачен
В tabledoc была моя ошибка в OnKillFocus
Могу только предполагать что и в AX проблема связано тоже с фокусом, т.к. есть особенность при работе с закладками - они не принимают фокус. И не факт, что проблема именно в CAXControlWnd. Она может быть и в реализации самого AX (косвенно это подтверждается тем, что не на всех AX проблема).
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #79 - 08. Декабря 2007 :: 23:37
Печать  
Дим, а как ты делаешь контекстное меню по правой кнопке для tabledoc?
У меня локальная ПриНажатии и ПриОтжатииПравойКнопки не отрабатывают когда фокус на ТД. При этом родное контекстное меню появляется.
А в глобальнике не получается распознать что клик был на ТД (АктивныйКонтекст в данном случае не поможет).

P.S. ТД классом, а не в модуле формы.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #80 - 10. Декабря 2007 :: 05:31
Печать  
Контекстное меню я не делаю. Его делает сама таблица, а точнее CSheetView
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #81 - 10. Декабря 2007 :: 08:47
Печать  
trad писал(а) 10. Декабря 2007 :: 05:31:
Контекстное меню я не делаю. Его делает сама таблица, а точнее CSheetView

Ясно, тогда вопрос будет к Альфу.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #82 - 10. Декабря 2007 :: 12:48
Печать  
Есть одна небольшая просьба?

Когда в таблице делаешь
Таб.Область(1,1).Текст = "Первый текст"
а потом переписываешь
Таб.Область(1,1).Текст = "Второй текст"
соответственно пока не сыграешь Видимость = 0, Видимость = 1 таблица не обновляется.
Это можно исправить? Можно ли в сам объект добавить "Обновить()"?

Или я что-то не так делаю?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #83 - 10. Декабря 2007 :: 13:17
Печать  
штатно это делается Таб.Показать()
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #84 - 13. Декабря 2007 :: 11:57
Печать  
А можно как-нибудь убирать полоски вертикальной и горизонтальной прокрутки при использовании TableDoc в качестве ЭУ?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #85 - 13. Декабря 2007 :: 11:59
Печать  
JohnyDeath писал(а) 13. Декабря 2007 :: 11:57:
А можно как-нибудь убирать полоски вертикальной и горизонтальной прокрутки при использовании TableDoc в качестве ЭУ?

Ты меня опередил, я залез написать тот же вопрос Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #86 - 13. Декабря 2007 :: 12:48
Печать  
JohnyDeath писал(а) 13. Декабря 2007 :: 11:57:
А можно как-нибудь убирать полоски вертикальной и горизонтальной прокрутки при использовании TableDoc в качестве ЭУ?

ок, посмотрю
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Новинка - TableDoc
Ответ #87 - 16. Декабря 2007 :: 20:54
Печать  
Дмитрий, отписал тебе в аське, но потом подумал вдруг ты в нее не часто ходишь в общем вот какую ошибку я словил:

в форме элемента справочника я пытаюсь создать данный ЭУ

На старой версии (от 11 месяца, число не помню) ошибка выглядит так
"Инструкция по адресу 0х00000000 обратилась к памяти по адресу "0х00000000". Память не может быть read
В новой версии компоненты (06.12.07) ошибка выглядит иначе
"Исключение unknown software exception (0xc0000096) в приложении по адресу 0х0064007c"

... ну и собственно ОК и все... 1С закрывается со всеми неприятными последствиями (необходимость переиндексации и т.д.)

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

(архив со всеми компонентами которыми я пользуюсь)
  

Tabl_error.rar ( 624 KB | Загрузки )

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #88 - 17. Декабря 2007 :: 08:43
Печать  
исправлено
см. там же
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #89 - 17. Декабря 2007 :: 11:50
Печать  
Я правильно понимаю, что интерактивно "Файл" - "Сохранить как" с таблицей ТаблеДок никогда работать не будет?

И еще. Если в конце делаю так:
Код
Выбрать все
_Таблица.Показать("Многофакторный анализ прибыльности реализации");
_Таблица.Записать("d:\Анализ.XLS","XLS"); 


то при открытии такого файла в ёкселе 2003 последний на каждую безнадежно выводимою строку ругается: No more custom number formats can be added. При более чем 4000 строк в таблице радикально лечится только удалением процесса ёкселя из менеджера задач.
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #90 - 19. Декабря 2007 :: 09:46
Печать  
И еще. У меня почему-то если в ТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес) передаю Значение как СписокЗначений, то 1С77 сплетает лапти  Печаль

Сейчас проверил: аналогично слетает семерка и при МенеджерТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФлСО,Таб,Адрес) если Значение (т.е. расшифровка) это СписокЗначений

1с++ и формекс последние стабильные.

Как жить после этого?  Плачущий
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #91 - 19. Декабря 2007 :: 11:28
Печать  
Kapet писал(а) 19. Декабря 2007 :: 09:46:
И еще. У меня почему-то если в ТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес) передаю Значение как СписокЗначений, то 1С77 сплетает лапти  Печаль

Сейчас проверил: аналогично слетает семерка и при МенеджерТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФлСО,Таб,Адрес) если Значение (т.е. расшифровка) это СписокЗначений

1с++ и формекс последние стабильные.

Как жить после этого?  Плачущий

не могу повторить  Печаль
можно тест?

ага, поймал
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #92 - 19. Декабря 2007 :: 11:48
Печать  
Что интересно, если в качестве Значения/расшифровки подсунуть в процедуру обработки ячейки таблицы встроенный класс / объект "Структура", который из 1с++ 2.5.0.5, то вылета не происходит. Пока баг отрехтуется можно пожить и так  Улыбка

Procedure Сформировать()
.....
Расшифровка=СоздатьОбъект("Структура");
Расшифровка.Вставить("Объект",РасположениеФайла());
...
EndProcedure


Процедура МенеджерТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес)
     ФСО=0;
     Сообщить(Расшифровка.Получить(1));
КонецПроцедуры

Ессно при этом надо всегда делать ФСО=0 т.к. для 1С ТипЗначенияСтр(Расшифровка) = "НеизвестныйОбъект"
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #93 - 19. Декабря 2007 :: 12:26
Печать  
поправил
вер 0.1.0.9
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #94 - 19. Декабря 2007 :: 12:30
Печать  
Спасибо камрад! Работает!


ЗЫ. А ты случаем не проверял, это ошибка только для списка значений? Для остальных типов всё работает?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #95 - 20. Декабря 2007 :: 05:46
Печать  
Kapet писал(а) 19. Декабря 2007 :: 12:30:
Спасибо камрад! Работает!


ЗЫ. А ты случаем не проверял, это ошибка только для списка значений? Для остальных типов всё работает?

проблемы были с СЗ и ТЗ
+проверял простые типы и ссылки
  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #96 - 17. Января 2008 :: 04:07
Печать  
1С все равно вываливается - случай, когда форма и таблица объединены (Действия -> Свойства формы -> Использовать таблицу -> пустую
версия tabledoc.dll 0.1.0.9
  

я прав или я прав?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #97 - 17. Января 2008 :: 08:24
Печать  
А причем тут таблица на форме и tabledoc?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #98 - 17. Января 2008 :: 09:05
Печать  
Arta писал(а) 17. Января 2008 :: 08:24:
А причем тут таблица на форме и tabledoc?

видимо речь идет об использовании менеджера связанного с таблицей на форме
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #99 - 17. Января 2008 :: 09:06
Печать  
1S писал(а) 17. Января 2008 :: 04:07:
1С все равно вываливается - случай, когда форма и таблица объединены (Действия -> Свойства формы -> Использовать таблицу -> пустую
версия tabledoc.dll 0.1.0.9

если не сложно - оформи тестовый пример
  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #100 - 17. Января 2008 :: 10:02
Печать  
пример я сделаю чуть попозже, вылет 1с происходит, когда несколько раз открываешь-закрываешь форму, причем надо использовать менеджер.

1. Открыли форму
2. выполнили процедуру, связанную с ВК
3. Закрыли форму

если так проделать несколько раз, падение, причем я не усмотрел системы - т.е. как-то случайно

приеду домой - подготовлю файл
  

я прав или я прав?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #101 - 17. Января 2008 :: 13:02
Печать  
попробуй тестовую версию из аттача
по крайней мере одну ошибку с таблицей на форме обнаружил и поправил
  

tabledoc.zip ( 25 KB | Загрузки )

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #102 - 17. Января 2008 :: 13:59
Печать  
...хм, нашел-таки почему вылетает? Улыбка
я сделал 2 копии тестов, разница в них как объявляется переменная МТабДок.
Похоже что именно из-за этого и вылетала 1с-ка

ну и помечтаем Круглые глаза
вот если бы в процедуру ОбработкаЯчейкиТаблицы добавить адрес Выделенной области, а то адрес ячейки недостаточно.....
Либо написать ОбработкаЯчеекТаблицы (....и Адр в таком случае - ВыделеннаяОбласть)
  

tests-t.rar ( 5 KB | Загрузки )

я прав или я прав?
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #103 - 17. Января 2008 :: 15:00
Печать  
Цитата:
ну и помечтаем 
вот если бы в процедуру ОбработкаЯчейкиТаблицы добавить адрес Выделенной области, а то адрес ячейки недостаточно.....
Либо написать ОбработкаЯчеекТаблицы (....и Адр в таком случае - ВыделеннаяОбласть)

А ПолучитьВыделенные() не спасет отца русской демократии?
  
Наверх
ICQ  
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #104 - 17. Января 2008 :: 16:12
Печать  
так этим и пользуюсь...
хотелось бы "всё в одном"
в 1С мне именно этого функционала не хватает
  

я прав или я прав?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #105 - 18. Января 2008 :: 06:00
Печать  
1S писал(а) 17. Января 2008 :: 16:12:
хотелось бы "всё в одном"
этого скорей всего не будет.
делай как говорит vip
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #106 - 18. Января 2008 :: 06:03
Печать  
1S писал(а) 17. Января 2008 :: 13:59:
...хм, нашел-таки почему вылетает? Улыбка
я сделал 2 копии тестов, разница в них как объявляется переменная МТабДок.
Похоже что именно из-за этого и вылетала 1с-ка

да, ты сделал правильный вывод
как раз это я и поправил
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #107 - 18. Января 2008 :: 11:23
Печать  
Только что заметил.
При размещении TableDoc на форме недоступны пункты меню "Сохранить" и "Сохранить как".
Это так и задумано?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #108 - 18. Января 2008 :: 11:36
Печать  
Да сделай свои кнопки или меню. Не проблема вроде...
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Новинка - TableDoc
Ответ #109 - 18. Января 2008 :: 11:38
Печать  
Arta писал(а) 18. Января 2008 :: 11:36:
Да сделай свои кнопки или меню. Не проблема вроде...

Для меня вообще мало что проблема Очень довольный
Просто интересно, почему так.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #110 - 18. Января 2008 :: 12:12
Печать  
vip писал(а) 18. Января 2008 :: 11:23:
Только что заметил.
При размещении TableDoc на форме недоступны пункты меню "Сохранить" и "Сохранить как".
Это так и задумано?
Да, этот артефакт уже был обнаружен http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/89#89
конечно, хотелось бы от этого избавиться, но пока не занимался
  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #111 - 18. Января 2008 :: 16:49
Печать  
если можно, еще одна просьба - напишите пожалуйста *.als файл.
Спасибо
  

я прав или я прав?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #112 - 21. Января 2008 :: 06:04
Печать  
1S писал(а) 18. Января 2008 :: 16:49:
если можно, еще одна просьба - напишите пожалуйста *.als файл.
Спасибо

может быть ты мне поможешь  Нерешительный
  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #113 - 23. Января 2008 :: 13:15
Печать  
Если будет полное описание функций (+небольшие примеры) обязательно сделаю
  

я прав или я прав?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #114 - 23. Января 2008 :: 13:25
Печать  
1S писал(а) 23. Января 2008 :: 13:15:
Если будет полное описание функций (+небольшие примеры) обязательно сделаю

есть только это
полнее ничего нету, но этого имхо достаточно для als
  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #115 - 25. Января 2008 :: 16:43
Печать  
скоро будет.................
  

я прав или я прав?
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #116 - 27. Января 2008 :: 16:16
Печать  
Информация автору по поводу функции ПолучитьВыделенные().
Если мы начали выделять диапазон ячеек снизу вверх и(или) справа налево, то функция вернет в качестве первой строки самую нижнюю строку выделения и в качестве первого столбца крайний правый столбец выделения. Было бы хорошо, чтобы из функции возвращались данные независимо от "направления" выделения. Приходится в программе писать доп.строчки типа: x1=Мин(...); x2=Макс(...); и т.д.
Также дело обстоит и с областями. Если мы последовательно выделяем несколько областей, функция вернет в ТЗ в первой строке "последнее" выделение, в последней строке - соответственно первое, хотя логичнее наоборот: выделили область W первой - пусть она и будет в первой строке ТЗ. Область Z у нас последняя - в ТЗ она должна быть в последней строке.
Очень надеюсь .....
  

я прав или я прав?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #117 - 28. Января 2008 :: 08:19
Печать  
1S писал(а) 27. Января 2008 :: 16:16:
Информация автору по поводу функции ПолучитьВыделенные().Было бы хорошо, чтобы из функции возвращались данные независимо от "направления" выделения. Приходится в программе писать доп.строчки типа: x1=Мин(...); x2=Макс(...); и т.д.
Задача не имеет однозначного (или лучше сказать общего) решения. Можно привести массу примеров. Например самый простой. В какой последовательности выдавать области (ячейки) выделенные в таком порядке:
R2C1
R1C2
?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #118 - 28. Января 2008 :: 08:22
Печать  
боюсь что без этого Цитата:
Приходится в программе писать доп.строчки типа: x1=Мин(...); x2=Макс(...); и т.д.
в прикладном решении не обойтись т.к. оно частное.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #119 - 28. Января 2008 :: 08:28
Печать  
хинт.
для твоего частного решения достаточно такого кода:
Код
Выбрать все
тзВыделенные = Менеджер.ПолучитьВыделенные();
тзВыделенные.Сортировать("R1");
//или тзВыделенные.Сортировать("C1"); 

  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #120 - 28. Января 2008 :: 13:32
Печать  
trad писал(а) 28. Января 2008 :: 08:19:
Задача не имеет однозначного (или лучше сказать общего) решения. Можно привести массу примеров. Например самый простой. В какой последовательности выдавать области (ячейки) выделенные в таком порядке:
R2C1
R1C2
?


Имелось ввиду следующее:
внутри одной области координаты ячеек должны выдаваться слева направо и сверху вниз, т.е. R1 всегда <= R2    и   C1 <= C2
А сами области в порядке, обратном их выделению.
в вышеприведенном примере:
в 1 строке ТЗ должна быть область R1C2, по колонкам - R1=1, C1=2, R2=1, C2=2
во 2 строке ТЗ должна быть область R2C1, по колонкам - R1=2, C1=1, R2=2, C2=1
Почему мне важен порядок областей? Потому что, выделив несколько и нажав Enter, выпадает меню именно на последнем выделении, а оно должно быть в первой строке в ТЗ.
  

я прав или я прав?
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #121 - 04. Февраля 2008 :: 08:23
Печать  
trdm, а ReadMe.txt - это единственный формат доки по TableDoc?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #122 - 04. Февраля 2008 :: 08:52
Печать  
dnp писал(а) 04. Февраля 2008 :: 08:23:
trdm, а ReadMe.txt - это единственный формат доки по TableDoc?
Ником не ошибся?  Озадачен

Думаю что вопрос все же ко мне. Отвечаю: да, единственная дока по TableDoc это ReadMe.txt
  

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


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #123 - 04. Февраля 2008 :: 09:03
Печать  
trad писал(а) 04. Февраля 2008 :: 08:52:
Ником не ошибся?  Озадачен

Именно!
Извиняюсь  Смущённый
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #124 - 04. Февраля 2008 :: 09:10
Печать  
1S писал(а) 28. Января 2008 :: 13:32:
Имелось ввиду следующее:
внутри одной области координаты ячеек должны выдаваться слева направо и сверху вниз, т.е. R1 всегда <= R2    и   C1 <= C2

С этим все понятно. Будет такое решение: возврашаемая таблица будет имет колонки: R1,C1,R2,C2,Лево,Верх,Право,Низ,ТипОбласти.
Где Лево = Мин(R1,R2), Право = Макс(R1,R2), Верх = Мин(C1,C2), Низ = Макс(C1,C2)

1S писал(а) 28. Января 2008 :: 13:32:
А сами области в порядке, обратном их выделению.
в вышеприведенном примере:
в 1 строке ТЗ должна быть область R1C2, по колонкам - R1=1, C1=2, R2=1, C2=2
во 2 строке ТЗ должна быть область R2C1, по колонкам - R1=2, C1=1, R2=2, C2=1

А вот с этим не ясно. Почему, в общем случае, первой строкой строкой должна идти самая верхняя, а не самая левая область?
Еще раз повторю: получение твоего частного случая достигается сортировкой ТЗ по колонке R1 (или Верх)
  

1&&2&&3
Наверх
 
IP записан
 
1S
YaBB Newbies
*
Отсутствует



Сообщений: 10
Зарегистрирован: 17. Января 2008
Пол: Мужской
Re: Новинка - TableDoc
Ответ #125 - 04. Февраля 2008 :: 13:48
Печать  
Насчет als файла: еще пару-тройку дней и будет готов, на работе завалили, не было времени.

Не надо доп.колонок, просто выведи в R1 мин(r1,r2), в С1 мин(c1,c2) и т.д.

области на то и области, что их можно выделить по всякому - и где-то справа в таблице, и где-то снизу. И ячейки у них будут совершенно разные. Сортировка строк в ТЗ в этом случае ничего не дает. Я считаю, что строки в ТЗ должны следовать обратно порядку выделения областей. Это было бы логичнее. Если оставишь порядок строк без изменения, в принципе ничего страшного, главное чтобы этот порядок оставался.

ps. области, которые ты привел в пример, я так и расписал.
если бы была: первая выделенная область r1c1, вторая выделенная область r100c100, то тогда бы r100c100 и должна быть в первой строке в ТЗ

pps. и еще: все эти изменения надо вводить в алс, напишешь текстовку для функции?
  

я прав или я прав?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #126 - 04. Февраля 2008 :: 14:02
Печать  
1S писал(а) 04. Февраля 2008 :: 13:48:
Не надо доп.колонок, просто выведи в R1 мин(r1,r2), в С1 мин(c1,c2) и т.д.

Я пытаюсь донести что могут быть задачи в которых необходимо знать не только положение области, но и ячейку с которой было начато выделение области (или направление выделения). Поэтому производить какую-либо логическую интерпретацию "сырых" данных внутри ВК для меня крайне не желательно. А вот дополнительная информация предложенная мной - это пожалуйста.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #127 - 04. Февраля 2008 :: 14:05
Печать  
1S писал(а) 04. Февраля 2008 :: 13:48:
pps. и еще: все эти изменения надо вводить в алс, напишешь текстовку для функции?

когда реализую, тогда напишу
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #128 - 05. Февраля 2008 :: 08:29
Печать  
готово
Цитата:
0.1.0.12 (05.02.2008)
  МенеджерТабличногоДокумента
     Добавлен параметр <ОбратныйПорядок> метода ПолучитьВыделенные/GetSelected
     В результат метода ПолучитьВыделенные добавлены колонки: Верх, Лево, Низ, Право
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #129 - 05. Февраля 2008 :: 08:35
Печать  
еще раз проверил это:1S писал(а) 27. Января 2008 :: 16:16:
Если мы последовательно выделяем несколько областей, функция вернет в ТЗ в первой строке "последнее" выделение, в последней строке - соответственно первое

Не подтверждается. В первой строке - первая выделенная область. В последней - последняя.
Проверь у себя это еще раз. Не думаю что это поведение может быть "плавающим"
  

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


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #130 - 05. Февраля 2008 :: 10:51
Печать  
1S писал(а) 04. Февраля 2008 :: 13:48:
Насчет als файла: еще пару-тройку дней и будет готов, на работе завалили, не было времени.

Посмотри на файлец? Сгенерён полу-автоматически на основании свежего ReadMe.txt, может поможет?
Кстати - думал, что РидМи генерится автоматом, но видимо ошибся. Новое свойство в Хистори есть, а в соответствующем разделе нет.
« Последняя редакция: 06. Февраля 2008 :: 09:48 - dnp »  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #131 - 05. Февраля 2008 :: 11:23
Печать  
dnp писал(а) 05. Февраля 2008 :: 10:51:
Кстати - думал, что РидМи генерится автоматом, но видимо ошибся.
да, ридми пушу руками  Печаль
dnp писал(а) 05. Февраля 2008 :: 10:51:
Новое свойство в Хистори есть, а в соответствующем разделе нет.
что я упустил?
  

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


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #132 - 05. Февраля 2008 :: 12:38
Печать  
trad писал(а) 05. Февраля 2008 :: 11:23:
dnp писал(а) 05. Февраля 2008 :: 10:51:
Новое свойство в Хистори есть, а в соответствующем разделе нет.
что я упустил?

Извиняюсь, всё на месте, просто не туда посмотрел в спешке -- как раз рабочий день закончился к моменту готовности файлика.
  
Наверх
ICQ  
IP записан
 
Melifaro
Junior Member
**
Отсутствует


in beer we trust!

Сообщений: 58
Местоположение: г. Ижевск
Зарегистрирован: 05. Февраля 2008
Пол: Мужской
Re: TableDoc
Ответ #133 - 06. Февраля 2008 :: 12:13
Печать  
а от полос прокруток получилось избавиьтся?
  

...and nothing else matters...
Наверх
wwwICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #134 - 06. Февраля 2008 :: 12:33
Печать  
Melifaro писал(а) 06. Февраля 2008 :: 12:13:
а от полос прокруток получилось избавиьтся?

не пытался
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #135 - 07. Февраля 2008 :: 06:38
Печать  
А как можно обновить таблицу? т.е. чтоб она перерисовалась?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #136 - 07. Февраля 2008 :: 06:51
Печать  
штатный метод - Показать
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #137 - 07. Февраля 2008 :: 07:05
Печать  
trad писал(а) 07. Февраля 2008 :: 06:51:
штатный метод - Показать

Спасиба
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #138 - 08. Февраля 2008 :: 09:05
Печать  
trad писал(а) 07. Февраля 2008 :: 06:51:
штатный метод - Показать


Для большой таблицы заметно подтормаживает Печаль. Пожно перерисовать заданный диапазон?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #139 - 08. Февраля 2008 :: 09:15
Печать  
Nick писал(а) 08. Февраля 2008 :: 09:05:
Для большой таблицы заметно подтормаживает Печаль. Пожно перерисовать заданный диапазон?

Попробуй недокументированный метод менеджера Udpate/Обновить
Работает нормально, но его нельзя вызывать когда таблица после показа закрыта.

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

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #140 - 08. Февраля 2008 :: 09:21
Печать  
Цитата:
его нельзя вызывать когда таблица после показа закрыта.


Что это значит?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #141 - 08. Февраля 2008 :: 09:35
Печать  
trad писал(а) 08. Февраля 2008 :: 09:15:
Nick писал(а) 08. Февраля 2008 :: 09:05:
Для большой таблицы заметно подтормаживает Печаль. Пожно перерисовать заданный диапазон?

Попробуй недокументированный метод менеджера Udpate/Обновить
Работает нормально, но его нельзя вызывать когда таблица после показа закрыта.

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


Тоже тормозит Печаль
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc - обновление
Ответ #142 - 23. Февраля 2008 :: 10:07
Печать  
Цитата:
0.1.0.13 (23.02.2008)

  ПолеТабличногоДокумента
    Добавлена обработка команд FILE_SAVE и FILE_SAVE_AS, что позволяет сохронять таблицу отображаемую в элементе управления.

  МенеджерТабличногоДокумента
     Добавлен метод ВидимостьПолосПрокрутки/ScrollBarsVisible


ps
метод Udpate/Обновить - работоспособен, но пока недокументирован
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #143 - 23. Февраля 2008 :: 16:53
Печать  
Цитата:
ps
метод Udpate/Обновить - работоспособен, но пока недокументирован


Чем отличается от Показать()?
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: TableDoc - обновление
Ответ #144 - 25. Февраля 2008 :: 08:29
Печать  
trad писал(а) 23. Февраля 2008 :: 10:07:
Цитата:
0.1.0.13 (23.02.2008)

 ПолеТабличногоДокумента
   Добавлена обработка команд FILE_SAVE и FILE_SAVE_AS, что позволяет сохронять таблицу отображаемую в элементе управления.

 МенеджерТабличногоДокумента
     Добавлен метод ВидимостьПолосПрокрутки/ScrollBarsVisible


ps
метод Udpate/Обновить - работоспособен, но пока недокументирован

Автору доработки большой респект!
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc - обновление
Ответ #145 - 25. Февраля 2008 :: 15:49
Печать  
Kapet писал(а) 25. Февраля 2008 :: 08:29:
Автору доработки большой респект!

Эээ... А что, автор доработки отличается от автора компонентыУжас  Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #146 - 26. Февраля 2008 :: 08:25
Печать  
Nick писал(а) 23. Февраля 2008 :: 16:53:
Цитата:
ps
метод Udpate/Обновить - работоспособен, но пока недокументирован


Чем отличается от Показать()?

Метод Обновить был затеян для возможности обновления таблицы в процедурах-формулах флажков и переключателей.
см. пример во вложении.
  

__1.ert ( 9 KB | Загрузки )

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #147 - 26. Февраля 2008 :: 09:09
Печать  
Nick писал(а) 08. Февраля 2008 :: 09:05:
trad писал(а) 07. Февраля 2008 :: 06:51:
штатный метод - Показать


Для большой таблицы заметно подтормаживает Печаль. Пожно перерисовать заданный диапазон?

Проверил на таблице размером 1000х1000 ячеек.
Метод Показать() отрабатывает мгновенно - 0-1 ms (по _GetPerformanceCounter).
Метод таблицы Показать() как и метод менеджера Обновить() перерисовывают только видимую часть таблицы.

Хотелось бы получить пример в подтверждение твоих слов.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #148 - 26. Февраля 2008 :: 10:08
Печать  
Цитата:
Проверил на таблице размером 1000х1000 ячеек.
Метод Показать() отрабатывает мгновенно - 0-1 ms (по _GetPerformanceCounter).
Метод таблицы Показать() как и метод менеджера Обновить() перерисовывают только видимую часть таблицы.

Хотелось бы получить пример в подтверждение твоих слов.


Да, действительно метеод Показать отрабатывает быстро Улыбка
Проблема с методом ЦветФона, хотя опять же в твоей демке он работает быстро.
Вот только у меня таблица не пустая может в этом проблема, на 500 строках раскрашивает больше секунды Печаль
т.е  вот такая команда работает больше секунды:

ОбъектТаблица.Таблица.Область(чНачСтр,,чКонСтр).ЦветФона(255);

  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: TableDoc
Ответ #149 - 26. Февраля 2008 :: 10:41
Печать  
trad писал(а) 26. Февраля 2008 :: 09:09:
Nick писал(а) 08. Февраля 2008 :: 09:05:
trad писал(а) 07. Февраля 2008 :: 06:51:
штатный метод - Показать


Для большой таблицы заметно подтормаживает Печаль. Пожно перерисовать заданный диапазон?

Проверил на таблице размером 1000х1000 ячеек.
Метод Показать() отрабатывает мгновенно - 0-1 ms (по _GetPerformanceCounter).
Метод таблицы Показать() как и метод менеджера Обновить() перерисовывают только видимую часть таблицы.

Хотелось бы получить пример в подтверждение твоих слов.


!!!
Тогда значит можно эмулировать свертку/развертку группировок (строк) а-ля 8.0 без тормозов?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #150 - 26. Февраля 2008 :: 11:19
Печать  
Nick писал(а) 26. Февраля 2008 :: 10:08:
Вот только у меня таблица не пустая может в этом проблема, на 500 строках раскрашивает больше секунды Печаль
т.е  вот такая команда работает больше секунды:

ОбъектТаблица.Таблица.Область(чНачСтр,,чКонСтр).ЦветФона(255);


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

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #151 - 26. Февраля 2008 :: 11:23
Печать  
kiruha писал(а) 26. Февраля 2008 :: 10:41:
!!!
Тогда значит можно эмулировать свертку/развертку группировок (строк) а-ля 8.0 без тормозов?

если я правильно понял твой вопрос...
Из всего что для этого нужно, увы, моментально работает только метод Показать.
Работа методов по модификации самого документа - не велика.
  

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



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: TableDoc
Ответ #152 - 26. Февраля 2008 :: 14:36
Печать  
trad писал(а) 26. Февраля 2008 :: 11:23:
kiruha писал(а) 26. Февраля 2008 :: 10:41:
!!!
Тогда значит можно эмулировать свертку/развертку группировок (строк) а-ля 8.0 без тормозов?

если я правильно понял твой вопрос...
Из всего что для этого нужно, увы, моментально работает только метод Показать.
Работа методов по модификации самого документа - не велика.


А что то типа ВставитьСекцию в уже сформированный табличный документ - это уже невозможно реализовать ?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #153 - 26. Февраля 2008 :: 14:49
Печать  
kiruha писал(а) 26. Февраля 2008 :: 14:36:
А что то типа ВставитьСекцию в уже сформированный табличный документ - это уже невозможно реализовать ?

этот вопрос пока не прорабатывал
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #154 - 31. Марта 2008 :: 07:49
Печать  
0.1.0.14 (31.03.2008)

  ПолеТабличногоДокумента
    Поддержка интерфейса IV7ControlContext для совместимости с методом icpp/3.0 Форма::ПолучитьЭлементУправления(ЭлементДиалога)
  

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


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #155 - 31. Марта 2008 :: 09:00
Печать  
trad писал(а) 31. Марта 2008 :: 07:49:
0.1.0.14 (31.03.2008)

 ПолеТабличногоДокумента
   Поддержка интерфейса IV7ControlContext для совместимости с методом icpp/3.0 Форма::ПолучитьЭлементУправления(ЭлементДиалога)

Вау, здорово.
Теперь и вправду можно в отпуск, и я тоже присоединюсь на недельку. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #156 - 06. Апреля 2008 :: 17:19
Печать  
От всей души благодарю!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #157 - 07. Мая 2008 :: 13:31
Печать  
0.1.0.15 (07.05.2008)

 МенеджерТабличногоДокумента
   Добавлен метод Обновить/Update
   Добавлено событие ПриИзмененииВыделения/OnSelectionChanged

ps возможно обновление части таблицы (минимум одна ячейка)
« Последняя редакция: 12. Мая 2008 :: 06:48 - trad »  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #158 - 07. Мая 2008 :: 15:09
Печать  
Цитата:
ps возможно обновление части таблицы (минимум одна ячейка)

А вот это здорово!
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #159 - 12. Мая 2008 :: 12:37
Печать  
небольшая демка
Код
Выбрать все
Перем гМенеджер;
Перем гСп;

Процедура Сформировать()
	гСп=СоздатьОбъект("СписокЗначений");
	Таб=СоздатьОбъект("Таблица");
	Таб.ТолькоПросмотр(1);
	гМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
	гМенеджер.УстановитьТаблицу(Таб,Форма);
	гМенеджер.Область().ШиринаСтолбцаРасш(3);
	гМенеджер.Область().ВысотаСтрокиРасш(15);
	Таб.Показать();
КонецПроцедуры

Процедура МенеджерТаблДокПриИзмененииВыделения(Менеджер,Таб)
	ТЗ=Менеджер.ПолучитьВыделенные();
	Обл=Менеджер.Область(ТЗ.ПолучитьЗначение(1,3),ТЗ.ПолучитьЗначение(1,4));
	Обл.ЦветФонаРасш(44287);
	гСп.ДобавитьЗначение(Обл);
	Менеджер.Обновить(гСп);
	Если гСп.РазмерСписка()>40 Тогда
		Обл=гСп.ПолучитьЗначение(1);
		Обл.ЦветФонаРасш(-1);
		гСп.УдалитьЗначение(1);
	КонецЕсли;
	Менеджер.Выделить(ТЗ.ПолучитьЗначение(1,3),ТЗ.ПолучитьЗначение(1,4));
КонецПроцедуры 

  

1_003.ert ( 43 KB | Загрузки )

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #160 - 12. Мая 2008 :: 12:40
Печать  
и еще поделка Улыбка
« Последняя редакция: 02. Июня 2009 :: 08:43 - trad »  

tetris.ert ( 9 KB | Загрузки )

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #161 - 12. Мая 2008 :: 14:23
Печать  
Контекстное меню бы. Ну или событие по райт-клику. Формекс не хотит работать на данном контроле Печаль
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #162 - 12. Мая 2008 :: 20:44
Печать  
Arta писал(а) 12. Мая 2008 :: 14:23:
Контекстное меню бы.
вместо штатного?
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #163 - 13. Мая 2008 :: 08:06
Печать  
Ну почему вместо. Хотелось бы иметь альтернативу. Если для ТЗ, ТП, обычной Таблицы и т.д. я имею возможность сделать свое контекстное меню, то тут событие формекса к сожалению не срабатывает.
  
Наверх
 
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #164 - 13. Мая 2008 :: 11:57
Печать  
trad писал(а) 12. Мая 2008 :: 12:37:
небольшая демка
1_003.ert


я немного поигрался с этой демкой и обнаружил следующие вещи:
1. При выделении мышкой (перетаскивание зверя с нажатой левой кнопкой) процедура
МенеджерТаблДокПриИзмененииВыделения отрабатывает дважды. При этом и каждая ячейка добавляется в список 2жды. Но вот неприятность, что метод гСп.НайтиЗначение(Обл) всегда возвращает 0, т.е. не находит уже добавленный объект в СЗ (также и метод Принадлежит возвращает 0).
При выделении клавиатурой метод МенеджерТаблДокПриИзмененииВыделения отрабатывает 1 раз.
2. Свойство гМенеджер.ВыводСетки(1) вызывает ошибку.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #165 - 13. Мая 2008 :: 12:27
Печать  
Arta писал(а) 13. Мая 2008 :: 08:06:
Ну почему вместо. Хотелось бы иметь альтернативу. Если для ТЗ, ТП, обычной Таблицы и т.д. я имею возможность сделать свое контекстное меню, то тут событие формекса к сожалению не срабатывает.

получите, распишитесь
Цитата:
0.1.0.17 (13.05.2008)

  МенеджерТабличногоДокумента
    Добавлено событие ПриКонтекстномМеню/OnContextMenu
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #166 - 13. Мая 2008 :: 12:40
Печать  
sml писал(а) 13. Мая 2008 :: 11:57:
1. При выделении мышкой (перетаскивание зверя с нажатой левой кнопкой) процедура
МенеджерТаблДокПриИзмененииВыделения отрабатывает дважды.
При выделении клавиатурой метод МенеджерТаблДокПриИзмененииВыделения отрабатывает 1 раз.

Да, так и есть. Я всего лишь "подцепился" к событию SetSelectionChanged. Движок v7 имеет такое поведение. Я как то хитро это обрабатывать не стал и сохранил нативное поведение. Т.е. на то, что один клик или одно движение мышкой с нажатой кнопкой - есть одно событие, закладываться не нужно.
Цитата:
Но вот неприятность, что метод гСп.НайтиЗначение(Обл) всегда возвращает 0, т.е. не находит уже добавленный объект в СЗ (также и метод Принадлежит возвращает 0).
Думаю это штатные проблемы отношений объектов СписокЗначений и ОбластьТаблицы. Я врядли тут смогу помочь.

Цитата:
2. Свойство гМенеджер.ВыводСетки(1) вызывает ошибку.

ВыводСетки - это свойство
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #167 - 13. Мая 2008 :: 12:46
Печать  
trad писал(а) 13. Мая 2008 :: 12:40:
Цитата:
Но вот неприятность, что метод гСп.НайтиЗначение(Обл) всегда возвращает 0, т.е. не находит уже добавленный объект в СЗ (также и метод Принадлежит возвращает 0).
Думаю это штатные проблемы отношений объектов СписокЗначений и ОбластьТаблицы. Я врядли тут смогу помочь.

Хотя нет. тут все логично. объект-область который сохранен в списке и объект по которому ищешь - это разные объекты и поэтому не равны. Т.е.
Обл1=Таб.Область(1,1)
Обл2=Таб.Область(1,1)
Обл1<>Обл2
  

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


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #168 - 13. Мая 2008 :: 13:02
Печать  
trad писал(а) 13. Мая 2008 :: 12:40:
[quote author=sml link=1177688915/150#164 date=1210679875]ВыводСетки - это свойство


Да, но в документации написано:
Цитата:
Свойства
   ВыводСетки / EnableGrid
     Доступ: чтение и запись.


или я че-то туплю?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #169 - 13. Мая 2008 :: 13:13
Печать  
Наверное так:
Код
Выбрать все
гМенеджер.ВыводСетки=1 

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


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #170 - 13. Мая 2008 :: 13:52
Печать  
trad писал(а) 13. Мая 2008 :: 12:46:
trad писал(а) 13. Мая 2008 :: 12:40:
Цитата:
Но вот неприятность, что метод гСп.НайтиЗначение(Обл) всегда возвращает 0, т.е. не находит уже добавленный объект в СЗ (также и метод Принадлежит возвращает 0).
Думаю это штатные проблемы отношений объектов СписокЗначений и ОбластьТаблицы. Я врядли тут смогу помочь.

Хотя нет. тут все логично. объект-область который сохранен в списке и объект по которому ищешь - это разные объекты и поэтому не равны. Т.е.
Обл1=Таб.Область(1,1)
Обл2=Таб.Область(1,1)
Обл1<>Обл2


эти грабли можно обойти так:
Код
Выбрать все
	стр=гСп.Получить(""+ТЗ.ПолучитьЗначение(1,3)+"#"+ТЗ.ПолучитьЗначение(1,4));
	Если ПустоеЗначение(стр)=1 Тогда
		));
	Иначе
		Сообщить("Значение выбранной ячейки уже в списке","!");
	КонецЕсли; 


  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #171 - 13. Мая 2008 :: 23:52
Печать  
trad писал(а) 13. Мая 2008 :: 12:27:
получите, распишитесь

Благодарствую!  Подмигивание
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #172 - 14. Мая 2008 :: 03:51
Печать  
Arta писал(а) 13. Мая 2008 :: 23:52:
trad писал(а) 13. Мая 2008 :: 12:27:
получите, распишитесь

Благодарствую!  Подмигивание

Присоединяюсь.
TableDoc нравится все больше и больше Улыбка
  
Наверх
ICQ  
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #173 - 14. Мая 2008 :: 04:59
Печать  
JohnyDeath писал(а) 13. Мая 2008 :: 13:13:
Наверное так:
Код
Выбрать все
гМенеджер.ВыводСетки=1 


так оно и есть.

trad,

а есть ли возможность программно задавать стиль рамки для ячейки?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #174 - 14. Мая 2008 :: 05:10
Печать  
sml писал(а) 14. Мая 2008 :: 04:59:
а есть ли возможность программно задавать стиль рамки для ячейки?

есть штатные методы Область.Рамка*(...)
  

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


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #175 - 14. Мая 2008 :: 05:16
Печать  
trad писал(а) 14. Мая 2008 :: 05:10:
sml писал(а) 14. Мая 2008 :: 04:59:
а есть ли возможность программно задавать стиль рамки для ячейки?

есть штатные методы Область.Рамка*(...)


Спасибо, а я на радостях про штатные методы и забыл
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #176 - 14. Мая 2008 :: 20:12
Печать  
trad писал(а) 13. Мая 2008 :: 12:27:
получите, распишитесь

Дим, ткнули на картинку (штатный объект в таблице, не оле) - вызвалось контекстное меню.
Как мне получить значение расшифровки для данной картинки? Доступных способов нет?


ТекущийОбъект
Назначение:
Атрибут (только для чтения) содержит значение встроенного объекта таблицы типа ''Картинка'', ''Диаграмма'' или ''OLE объект''. Он доступен только в выражении (и в теле процедур, которые вызываются в выражении), которое записывается в конфигураторе в свойствах встроенного объекта таблицы типа ''Картинка'', ''Диаграмма'' или ''OLE объект'' (''Свойства''-''Дополнительные''-''Текст'').


Может быть есть возможность в КонтекстномМеню сделать доступ к этому атрибуту?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #177 - 16. Мая 2008 :: 06:26
Печать  
Arta писал(а) 14. Мая 2008 :: 20:12:
Может быть есть возможность в КонтекстномМеню сделать доступ к этому атрибуту?

0.1.0.18 (16.05.2008)

  МенеджерТабличногоДокумента
    В событии ПриКонтекстномМеню добавлен параметр <ЭлементРисования> типа SheetDrawing
    Добавлено событие ПриАктивизацииЭлементаРисования/OnActivateDrawing
    Добавлен класс SheetDrawing

Класс SheetDrawing / SheetDrawing
Свойства
   Тип / Type
   Адрес / Address
   Индекс / Index
   Объект / Object
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #178 - 16. Мая 2008 :: 06:40
Печать  
trad
Класс!
Спасибо, что не бросаешь эту замечательную вещь. Очень помогает.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #179 - 16. Мая 2008 :: 07:10
Печать  
Еще есть, пока не документированные, штуки:

Методы менеджера:
Вставить/Insert(...) - вставляет строки, колонки, прямоугольные области
Удалить/Delete(...) - удаляет строки, колонки, прямоугольные области
Параметры как у метода Обновить + пятый параметр 0/1 - направление действия для прямоугольных (конечных) областей.


Событие
ПриУстановкеКурсора/OnSetCursor(CursorID, Table, Region, Row, Col, ViewNum)
Установка CursorID (Standard Cursor IDs) в значение отличное от нуля приводит к смене штатного курсора мыши
!Будет пересмотрено!
Standard Cursor IDs:
IDC_ARROW 32512
IDC_IBEAM 32513
IDC_WAIT 32514
IDC_CROSS 32515
IDC_UPARROW 32516
IDC_SIZENWSE 32642
IDC_SIZENESW 32643
IDC_SIZEWE 32644
IDC_SIZENS 32645
IDC_SIZEALL 32646
IDC_NO 32648
IDC_HAND 32649
IDC_APPSTARTING 32650
IDC_HELP 32651
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #180 - 16. Мая 2008 :: 07:54
Печать  
Большое спасибо!
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #181 - 16. Мая 2008 :: 08:12
Печать  
Цитата:
Еще есть, пока не документированные, штуки:

Акуеть! Мертвый моксель оживает Улыбка
  
Наверх
ICQ  
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: TableDoc
Ответ #182 - 16. Мая 2008 :: 11:20
Печать  
У кого есть возможность выложить какойто красивый примерчик  Поцелуй
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #183 - 16. Мая 2008 :: 11:32
Печать  
Zealot писал(а) 16. Мая 2008 :: 11:20:
У кого есть возможность выложить какойто красивый примерчик  Поцелуй

А чем тебя демоконфига не устраивает?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #184 - 17. Мая 2008 :: 22:05
Печать  
trad писал(а) 16. Мая 2008 :: 06:26:
Класс SheetDrawing / SheetDrawing
Свойства
  Тип / Type
  Адрес / Address
  Индекс / Index
  Объект / Object

Дим, а как же расшифровку для данного объекта получить? Расшифровка для адреса и для объекта - разные...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #185 - 18. Мая 2008 :: 10:27
Печать  
Arta писал(а) 17. Мая 2008 :: 22:05:
Расшифровка для адреса и для объекта - разные...
как это разные Озадачен ничего не путаешь?
Таб.Область(ЭлементРисования.Адрес).Расшифровка()
если что то не так - давай тест
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #186 - 18. Мая 2008 :: 10:39
Печать  
trad писал(а) 18. Мая 2008 :: 10:27:
Arta писал(а) 17. Мая 2008 :: 22:05:
Расшифровка для адреса и для объекта - разные...
как это разные Озадачен ничего не путаешь?
Таб.Область(ЭлементРисования.Адрес).Расшифровка()
если что то не так - давай тест

Нет конечно, Дим! У ячеек своя расшифровка, а у картинки своя! Тут и тест нечего делать, положи картинку на моксель, впиши расшифровку. Потом с клавы перейди на ячейки под картинкой и увидишь, что расшифровка срабатывать не будет.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #187 - 18. Мая 2008 :: 10:58
Печать  
Ты меня грузишь. Озадачен
Если мы говорим про получение расшифровки по адресу то, у ячейки свой адрес, у картинки свой - и получаем расшифровку картинку по адресу картинки.
Если мы говорим про отработку расшифровки по даблклику или ентеру, то при чем тут табледок.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #188 - 18. Мая 2008 :: 12:34
Печать  
trad писал(а) 18. Мая 2008 :: 10:58:
Ты меня грузишь. Озадачен
Если мы говорим про получение расшифровки по адресу то, у ячейки свой адрес, у картинки свой - и получаем расшифровку картинку по адресу картинки.
Если мы говорим про отработку расшифровки по даблклику или ентеру, то при чем тут табледок.



Хмм... Дим, изначально я спрашивал:
Arta писал(а) 14. Мая 2008 :: 20:12:
Дим, ткнули на картинку (штатный объект в таблице, не оле) - вызвалось контекстное меню.
Как мне получить значение расшифровки для данной картинки? Доступных способов нет?


Меня интересует именно возможность получения расшифровки для объектов мокселя в событии контекстного меню. Расшифровка для картинки и для ячеек на которых она лежит - точно никак не связаны.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #189 - 18. Мая 2008 :: 18:05
Печать  
Цитата:
Расшифровка для картинки и для ячеек на которых она лежит - точно никак не связаны.
никак не связаны - факт. никто не спорит.
Цитата:
Меня интересует именно возможность получения расшифровки для объектов мокселя в событии контекстного меню.
ответ я дал в 185

ps
попробуй увидеть свое утверждение "Расшифровка для адреса и для объекта - разные..." со стороны собеседника. А что у объекта нет адреса?..
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #190 - 19. Мая 2008 :: 05:22
Печать  
мдаа. чето я прогнал. Ужас
Оказывается, из всех объектов рисования, получить расшифровку можно только у объекта "Текст".
У всех остальных возвращает число 0.
Причем это штатное поведение, не соответствующее документации.
Прикольно что по СП : "Возвращает текущее значение расшифровки.", а по ЖКК "Возвращаемое значение: нет." Улыбка
Вот так вот я подставился Печаль
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #191 - 19. Мая 2008 :: 06:50
Печать  
0.1.0.19 (19.05.2008)

  SheetDrawing
    Добавлены свойства Text/Текст и Details/Расшифровка
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #192 - 19. Мая 2008 :: 09:54
Печать  
trad писал(а) 19. Мая 2008 :: 06:50:
 SheetDrawing
   Добавлены свойства Text/Текст и Details/Расшифровка

Сенкс! Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #193 - 19. Мая 2008 :: 10:24
Печать  
Arta - страшный человек. Подмигивание
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #194 - 19. Мая 2008 :: 13:21
Печать  
kms писал(а) 19. Мая 2008 :: 10:24:
Arta - страшный человек. Подмигивание

Я не зануда, не надо намеков  Смех
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #195 - 22. Мая 2008 :: 23:10
Печать  
trad писал(а) 31. Марта 2008 :: 07:49:
0.1.0.14 (31.03.2008)

 ПолеТабличногоДокумента
   Поддержка интерфейса IV7ControlContext для совместимости с методом icpp/3.0 Форма::ПолучитьЭлементУправления(ЭлементДиалога)

Поломалося? У меня сам объект возвращается, но метод класса наследника не выполняется. Тишина, даже ошибки не вылазит.

P.S.
Элемент = _Форма.ПолучитьЭлементУправления(Атрибут.Идентификатор)
Информатор.ПолучитьТаблицуСвойств(Элемент)
Информатор.ПолучитьТаблицуСвойств(Элемент)
ничего не возвращают.

и строка(Элемент) = "ПолеТабличногоДокумента" вместо название класса наследника. Похоже тот же случай, что и у Степана был с активиксом.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #196 - 23. Мая 2008 :: 03:15
Печать  
А ведь юнит-тесты это дело легко бы отследили Улыбка
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #197 - 24. Мая 2008 :: 05:37
Печать  
Arta писал(а) 22. Мая 2008 :: 23:10:
Поломалося?
нет не поломалось, а изначально было сделано так, что интерфейс возвращал базовый класс.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #198 - 24. Мая 2008 :: 05:38
Печать  
artbear писал(а) 23. Мая 2008 :: 03:15:
А ведь юнит-тесты это дело легко бы отследили Улыбка

каким образом, учитывая #197 ?

off
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #199 - 24. Мая 2008 :: 05:52
Печать  
0.1.0.20 (24.05.2008)

  Расширенная область таблицы
    Добавлены свойства: ТипОбласти, Лево, Право, Верх, Низ
 
  ПолеТабличногоДокумента
    Изменения в работе интерфейса IV7ControlContext.
     Форма::ПолучитьЭлементУправления(ЭлементДиалога) возвращает ссылку на КОП если создавался ЭУ-наследник от ПоляТабличногоДокумента.

  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #200 - 24. Мая 2008 :: 06:08
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?

гламурненько  Подмигивание
Код
Выбрать все
int  CComponentClass::IsPropReadable(int iPropNum)const
{
	return 1;
}

int  CComponentClass::IsPropWritable(int iPropNum)const
{
	return 1;
}
 


  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #201 - 24. Мая 2008 :: 22:56
Печать  
trad писал(а) 24. Мая 2008 :: 05:52:
0.1.0.20 (24.05.2008) 
    Изменения в работе интерфейса IV7ControlContext.
     Форма::ПолучитьЭлементУправления(ЭлементДиалога) возвращает ссылку на КОП если создавался ЭУ-наследник от ПоляТабличногоДокумента.

Большой сенкс, теперь все гуд!

kms писал(а) 28. Апреля 2007 :: 06:26:
trad писал(а) 28. Апреля 2007 :: 04:20:
каких например.

Например при начале редактирования ячейки (с возможностью запрета) и при окончании.

Дим, может глянешь в эту сторону? А то никак не могу решить сподручными средствами эту проблему.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #202 - 26. Мая 2008 :: 03:43
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
artbear писал(а) 23. Мая 2008 :: 03:15:
А ведь юнит-тесты это дело легко бы отследили Улыбка

каким образом, учитывая #197 ?

Когда я отвечал, 197 еще не было Улыбка и я посчитал подобное поведение ошибкой Улыбка
После 197 вопрос снят.

trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

Ну ты уже понял, что в классах все свойства по умолчанию и для записи, и для чтения Улыбка
Вопрос - нужно ли отслеживать подобное наследование от RO-свойств и соответственно делать, как у базовых классов ?
Тут ведь две ситуации -
1. Наследование и переопределение свойства базового класса со всеми ограничениями
2. Введение нового свойства (по ошибке или специально переопределяя свойство базового класса).
Лично я пока не знаю, как эти 2 случая отличить ?
Или мы решим, что переопределять свойства можно будет только как в п.1, т.е. с возможными ограничениями ?
ИМХО выполнить реализацию для п.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 записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #203 - 26. Мая 2008 :: 08:05
Печать  
artbear писал(а) 26. Мая 2008 :: 03:43:
Вопрос - нужно ли отслеживать подобное наследование от RO-свойств и соответственно делать, как у базовых классов ?

мне кажется нужно думать в направлении не "сделать как у базовых", а работать непосредственно с БЛ-интерфейсом базового.

Цитата:
1. Наследование и переопределение свойства базового класса со всеми ограничениями
2. Введение нового свойства (по ошибке или специально переопределяя свойство базового класса).

Попробую ответить, если я правильно понял твои мысли.

Наследование должно наследовать R/W ограничения (RO, WO, RW)
Переопределение свойств. В моей религии как бы нет такого понятия. Если КОП (наследник от ПоляТабличногоДокумента) например определяет свойство Таблица, то это его "параллельное" свойство никакого отношения не имеющее к RO свойству Таблица базового контекста. Отсюда следует, что одноименное свойство наследника не должно копировать R/W ограничения своего базового тезки, а определять свои (допустим для простоты это всегда будет RW)

Цитата:
Лично я пока не знаю, как эти 2 случая отличить ?
Или мы решим, что переопределять свойства можно будет только как в п.1, т.е. с возможными ограничениями ?
ИМХО выполнить реализацию для п.1 несложно.

ничего не могу сказать, т.к. очень плохо знаком с деталями реализации ООП в 1с++
  

1&&2&&3
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: TableDoc
Ответ #204 - 26. Мая 2008 :: 08:11
Печать  
artbear писал(а) 26. Мая 2008 :: 03:43:
trad писал(а) 24. Мая 2008 :: 05:38:
artbear писал(а) 23. Мая 2008 :: 03:15:
А ведь юнит-тесты это дело легко бы отследили Улыбка

каким образом, учитывая #197 ?

Когда я отвечал, 197 еще не было Улыбка и я посчитал подобное поведение ошибкой Улыбка
После 197 вопрос снят.

trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

Ну ты уже понял, что в классах все свойства по умолчанию и для записи, и для чтения Улыбка
Вопрос - нужно ли отслеживать подобное наследование от RO-свойств и соответственно делать, как у базовых классов ?
Тут ведь две ситуации -
1. Наследование и переопределение свойства базового класса со всеми ограничениями
2. Введение нового свойства (по ошибке или специально переопределяя свойство базового класса).
Лично я пока не знаю, как эти 2 случая отличить ?
Или мы решим, что переопределять свойства можно будет только как в п.1, т.е. с возможными ограничениями ?
ИМХО выполнить реализацию для п.1 несложно.
Жду ответа.

Не вижу никаких сложностей, ограничений, различных ситуаций и тп.
Если свойство найдено в самом классе - возвращай то, что укажет этот класс.
Если свойство найдено в базовом классе - изволь возращать то, что возвращает базовый класс.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #205 - 26. Мая 2008 :: 08:15
Печать  
+
Обращаясь к одноименного свойсву наследника мы безусловно и обращаемся к нему, т.е. пререопределяем обращение к свойству, но не переопределяем само свойство базового. Т.е. у базового свойства сохраняются тип, значение и атрибуты доступа.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #206 - 26. Мая 2008 :: 08:22
Печать  
orefkov писал(а) 26. Мая 2008 :: 08:11:
Если свойство найдено в самом классе - возвращай то, что укажет этот класс.
Если свойство найдено в базовом классе - изволь возращать то, что возвращает базовый класс.

вот, товарищ из первого ряда очень точно сагрегировал мои мысли
  

1&&2&&3
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #207 - 26. Мая 2008 :: 10:58
Печать  
orefkov писал(а) 26. Мая 2008 :: 08:11:
Если свойство найдено в самом классе - возвращай то, что укажет этот класс.
Если свойство найдено в базовом классе - изволь возращать то, что возвращает базовый класс.

Согласен. Сделаю.
  

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: TableDoc
Ответ #208 - 26. Мая 2008 :: 11:00
Печать  
Зарегил соответствующий баг.
http://www.1cpp.ru/bugs/show_bug.cgi?id=3871
  

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: TableDoc
Ответ #209 - 26. Мая 2008 :: 11:55
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

Потому что даже и не задумывался о подобном - значит, еще не стал отличным тестером Улыбка
Теперь напишу.
Нужно только придумать, от какого простого встроенного класса унаследоваться, чтобы написать тест - хотя это мелочь, конечно Улыбка
  

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: TableDoc
Ответ #210 - 26. Мая 2008 :: 13:23
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

Юнит-тест написан.
Баг исправлен.
Будет в очередной сборке icpp
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #211 - 27. Мая 2008 :: 09:10
Печать  
Я тут интс и алс чуть собрал... старался не сильно торопиться... как получилось... в общем вот
  

Doc_TableDoc_001.rar ( 1 KB | Загрузки )

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #212 - 27. Мая 2008 :: 09:28
Печать  
В первой сборке был слегка косячный на предмет группировки, и вроде 1С ругалась на нарушение структуры... в этом алс вроде все путем (у меня по крайней мере)
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #213 - 27. Мая 2008 :: 09:29
Печать  
vandalsvq писал(а) 27. Мая 2008 :: 09:10:
Я тут интс и алс чуть собрал... старался не сильно торопиться... как получилось... в общем вот

конфигуратор пишет: "Нарушена структура данных Синтакс-Помошника"
теперь все в порядке
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #214 - 27. Мая 2008 :: 09:32
Печать  
только заголовок "1C++ ТабличныйДокумент" - думаю неверен.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #215 - 27. Мая 2008 :: 09:37
Печать  
и содержания то совсем нет  Печаль
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #216 - 27. Мая 2008 :: 09:46
Печать  
trad писал(а) 27. Мая 2008 :: 09:37:
и содержания то совсем нет  Печаль


содержания? немного не понял о чем ты
все понял.... это один из редакторов все побил блин
я счас все исправлю... я понял кто это все рушит
а что касается "1С++" в начале... просто у меня многие "около 1С++ и 1С++ " описания начинаются с 1С++ так проще в синтаксис-помощнике смотреть Подмигивание
могу поменять при желании
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #217 - 27. Мая 2008 :: 12:19
Печать  
Arta писал(а) 24. Мая 2008 :: 22:56:
kms писал(а) 28. Апреля 2007 :: 06:26:
trad писал(а) 28. Апреля 2007 :: 04:20:
каких например.

Например при начале редактирования ячейки (с возможностью запрета) и при окончании.

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

Вставка из буфера обмена - это начало или окончание редактирования? И редактирование ли вообще в данном случае?
А ввод из панели или из диалога свойств?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #218 - 27. Мая 2008 :: 12:23
Печать  
vandalsvq писал(а) 27. Мая 2008 :: 09:46:
а что касается "1С++" в начале... просто у меня многие "около 1С++ и 1С++ " описания начинаются с 1С++ так проще в синтаксис-помощнике смотреть Подмигивание
могу поменять при желании

думаю заголовок нужно оставить прежний "tabledoc", а имя файла можно такое: "1c_tabledoc.als" - тогда он тоже будет вверху
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #219 - 28. Мая 2008 :: 05:05
Печать  
trad писал(а) 27. Мая 2008 :: 12:23:
vandalsvq писал(а) 27. Мая 2008 :: 09:46:
а что касается "1С++" в начале... просто у меня многие "около 1С++ и 1С++ " описания начинаются с 1С++ так проще в синтаксис-помощнике смотреть Подмигивание
могу поменять при желании

думаю заголовок нужно оставить прежний "tabledoc", а имя файла можно такое: "1c_tabledoc.als" - тогда он тоже будет вверху


Тогда я его назову 1С_TableDoc ты же не против...
кстати у меня есть просьбы на доп.функционал:
1. Возможность управления масштабом из кода
2. Возможность отменять объединение ячеек
есть еще пожелания, но пока промолчу  Подмигивание
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #220 - 28. Мая 2008 :: 08:27
Печать  
vandalsvq писал(а) 28. Мая 2008 :: 05:05:
кстати у меня есть просьбы на доп.функционал:
1. Возможность управления масштабом из кода
2. Возможность отменять объединение ячеек

0.1.0.21 (28.05.2008)

  Расширенная область таблицы
    Добавлен метод ОбъединитьРасш
 
  МенеджерТабличногоДокумента
    Добавлен метод Масштаб

ps
с тебя нормальная алска
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #221 - 28. Мая 2008 :: 08:49
Печать  
trad писал(а) 28. Мая 2008 :: 08:27:
vandalsvq писал(а) 28. Мая 2008 :: 05:05:
кстати у меня есть просьбы на доп.функционал:
1. Возможность управления масштабом из кода
2. Возможность отменять объединение ячеек

0.1.0.21 (28.05.2008)

 Расширенная область таблицы
   Добавлен метод ОбъединитьРасш
 
 МенеджерТабличногоДокумента
   Добавлен метод Масштаб

ps
с тебя нормальная алска


Я счас работу разгребу и обязательно сделаю... чет навалилось  Плачущий

А за функционал огромное спасибо  Подмигивание премного благодарен  Класс
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #222 - 28. Мая 2008 :: 10:06
Печать  
trad, а можно вопрос... вот если ставить вывод сетки то 1С показывает конец документа табличного (пунктирной черной линией), если сетку снять то не показывает. В связи с чем у меня есть две мысли:
1. А можно ее всегда показывать?
2. А можно получить адрес крайней правой нижней ячейки после которой как бы документ заканчивается?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #223 - 28. Мая 2008 :: 10:58
Печать  
vandalsvq писал(а) 28. Мая 2008 :: 10:06:
trad, а можно вопрос... вот если ставить вывод сетки то 1С показывает конец документа табличного (пунктирной черной линией), если сетку снять то не показывает. В связи с чем у меня есть две мысли:
1. А можно ее всегда показывать?
это мне слабо.
попытайся эмулировать установкой нижней рамки области последней строки.

Цитата:
2. А можно получить адрес крайней правой нижней ячейки после которой как бы документ заканчивается?

АдресКрайнейПравойНижнейЯчейки = "R"+Таб.ВысотаТаблицы()+"C"+Таб.ШиринаТаблицы();
ОбластьКрайнейПравойНижнейЯчейки = Таб.Область(Таб.ВысотаТаблицы(),Таб.ШиринаТаблицы());
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #224 - 28. Мая 2008 :: 11:45
Печать  
trad писал(а) 28. Мая 2008 :: 10:58:
vandalsvq писал(а) 28. Мая 2008 :: 10:06:
trad, а можно вопрос... вот если ставить вывод сетки то 1С показывает конец документа табличного (пунктирной черной линией), если сетку снять то не показывает. В связи с чем у меня есть две мысли:
1. А можно ее всегда показывать?
это мне слабо.
попытайся эмулировать установкой нижней рамки области последней строки.

Цитата:
2. А можно получить адрес крайней правой нижней ячейки после которой как бы документ заканчивается?

АдресКрайнейПравойНижнейЯчейки = "R"+Таб.ВысотаТаблицы()+"C"+Таб.ШиринаТаблицы();
ОбластьКрайнейПравойНижнейЯчейки = Таб.Область(Таб.ВысотаТаблицы(),Таб.ШиринаТаблицы());


Спасибо огромное  Подмигивание чет не заметил  Смех
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #225 - 28. Мая 2008 :: 12:05
Печать  
vandalsvq писал(а) 28. Мая 2008 :: 11:45:
Спасибо огромное  Подмигивание чет не заметил  Смех
ну вы блин даете.
штатный функционал нужно раскуривать полностью и не по разу. потом уже браться за расширения.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #226 - 28. Мая 2008 :: 12:29
Печать  
trad писал(а) 28. Мая 2008 :: 08:27:
 
 МенеджерТабличногоДокумента
   Добавлен метод Масштаб

Вау, давно ждал. А если еще этот метод возвращал текущий масштаб, то можно было бы сделать как в excel через ctrl-scroll изменение масштаба листа.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #227 - 28. Мая 2008 :: 12:32
Печать  
trad писал(а) 27. Мая 2008 :: 12:19:
Вставка из буфера обмена - это начало или окончание редактирования? И редактирование ли вообще в данном случае?
А ввод из панели или из диалога свойств?


С моей точки зрения, событие должно срабатывать при любом начале редактирования, которое может привести к изменению ячейки.
P.S. Про окончание редактирования тоже не хотелось бы забыть  Смех
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #228 - 28. Мая 2008 :: 12:32
Печать  
Arta писал(а) 28. Мая 2008 :: 12:29:
А если еще этот метод возвращал текущий масштаб, ...
блин а, че как дети то  Смех
в доке написано Цитата:
Возвращает: Текущее значение процена масштабирования.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #229 - 28. Мая 2008 :: 12:34
Печать  
trad писал(а) 28. Мая 2008 :: 12:32:
блин а, че как дети то  Смех


Да, есть такое дело, звиняй панове  Подмигивание
Древняя истина гласит "Если в итоге ничего не помогает, то в конце концов прочтите инструкцию".
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #230 - 28. Мая 2008 :: 13:12
Печать  
Arta писал(а) 28. Мая 2008 :: 12:32:
trad писал(а) 27. Мая 2008 :: 12:19:
Вставка из буфера обмена - это начало или окончание редактирования? И редактирование ли вообще в данном случае?
А ввод из панели или из диалога свойств?


С моей точки зрения, событие должно срабатывать при любом начале редактирования, которое может привести к изменению ячейки.
P.S. Про окончание редактирования тоже не хотелось бы забыть  Смех

Нет, все же такая событийная модель мне не нравиться (кажется не логичной). Интерактивное изменение ячейки не обязательно должно быть связано с началом редактирования.
Допустим, у нас есть события ПриНачале и ПриОкончании с возможностью ФСО.
Нажатие кнопки "ОК" в диалоге свойств ячейки - что это логически, начало или окончание или все сразу. Где из них логически верно делать ФСО=0 если изменения нельзя принимать.

Вобщем я не пришел пока к внутреннему согласию в этом вопросе. Буду думать. Может ктото предложит убедительные варианты.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #231 - 28. Мая 2008 :: 13:46
Печать  
Думаю так. Должно быть:

ПриНачалеРедактированияЯчейки(...,ФСО,...)
Вызывается только при попытке непосредственного интерактивного входа в режим редактирования.
ФСО=0 запрещает этот вход.

ПриИзмененииЯчейки(...,ФСО,НовоеЗначение,...)
Вызывается при попытке интерактивного изменения ячейки:
-выход из непосредственного редактирования (кроме ESC), при ФСО=0 - остаемся в режиме редактирования;
-ввод из панели формул (зеленая галка или попытка смены фокуса), при ФСО=0 - остаемся в строке формул;
-ввод из диалога (кнопка ОК, Обновить или попытка смены фокуса), при ФСО=0 - остаемся в диалоге;
-вставка из буфера обмена, драг&дроп, очистка из меню, при ФСО=0 - ничего не происходит.
-ничего не забыл?

Еще два аспекта:
НовоеЗначение - это только текст или совокупность всех свойств ячейки.
Как то нужно организовать доступ к совокупности изменяемых ячеек (при множественном изменении) или, что наверно правильней, для каждой ячейки изменяемого множества - свое событие.

Ой, не знаю, получится ли Озадачен

ps
критика принимается
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #232 - 28. Мая 2008 :: 15:52
Печать  
Дим, хотя бы ПриОкончанииРедактирования сделай пока, а... Там вроде все просто Улыбка
А между делом созреет решение для ПриНачале...
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #233 - 28. Мая 2008 :: 16:07
Печать  
Arta писал(а) 28. Мая 2008 :: 12:29:
Вау, давно ждал. А если еще этот метод возвращал текущий масштаб, то можно было бы сделать как в excel через ctrl-scroll изменение масштаба листа.


Не получилось Печаль
TableDoc перехватывает прокрутку колеса и до формексовского ПриПрокруткеКолеса не доходит Печаль
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #234 - 29. Мая 2008 :: 05:18
Печать  
Arta писал(а) 28. Мая 2008 :: 16:07:
TableDoc перехватывает прокрутку колеса и до формексовского ПриПрокруткеКолеса не доходит Печаль
Вывод не верный. TableDoc не перехватывает прокрутку колеса.
А из всего что перехватывает, после обработки, с чистой совестью передает управление дальше. (Кроме событий где ФСО=0)
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #235 - 29. Мая 2008 :: 05:24
Печать  
Arta писал(а) 28. Мая 2008 :: 15:52:
Дим, хотя бы ПриОкончанииРедактирования сделай пока, а... Там вроде все просто Улыбка
А между делом созреет решение для ПриНачале...

Дак я не планирую событие ПриОкончанииРедактирования. Планирую ПриИзмененииЯчейки. Но это не скоро ибо сложно.

Немного раскроюсь.
Тестовая версия события ПриНачалеРедактирования(ФСО,Таб,Стр,Кол,ЭлементРисования,НомерВида) есть в текущей (21) версии.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #236 - 29. Мая 2008 :: 05:28
Печать  
trad хотел спросить это бага или фича...
в коде
Код
Выбрать все
ТЗРамкиОбластей = Менеджер.ПолучитьВыделенные(); 


Я получаю таблицу выделенных областей.... однако после нескольких "столкновений" лбом я заметил что например я ткнул ячейку R1C1, а потом еще десять раз ее же ткнул... в итоге я получаю десять записей о выделенных областях, а выделенна то на самом деле всего одна.

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

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #237 - 29. Мая 2008 :: 06:53
Печать  
vandalsvq писал(а) 29. Мая 2008 :: 05:28:
я ткнул ячейку R1C1, а потом еще десять раз ее же ткнул...
с нажатым ctrl ?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #238 - 29. Мая 2008 :: 07:11
Печать  
trad писал(а) 29. Мая 2008 :: 06:53:
vandalsvq писал(а) 29. Мая 2008 :: 05:28:
я ткнул ячейку R1C1, а потом еще десять раз ее же ткнул...
с нажатым ctrl ?


Да... извини забыл уточнить  Нерешительный

В принципе я повторюсь что решается это циклом по столбцам, формированием строки свертки, и сворачивании ТЗ, так что в какой то мере это и фича
...

Кстати а клавиатурные события ПриОтжатииКлавиатуры можно?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #239 - 29. Мая 2008 :: 07:24
Печать  
vandalsvq писал(а) 29. Мая 2008 :: 07:11:
В принципе я повторюсь что решается это циклом по столбцам, формированием строки свертки, и сворачивании ТЗ, так что в какой то мере это и фича
это не просто фича, а нормальный порядок вещей.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #240 - 29. Мая 2008 :: 07:30
Печать  
trad писал(а) 29. Мая 2008 :: 05:18:
Arta писал(а) 28. Мая 2008 :: 16:07:
TableDoc перехватывает прокрутку колеса и до формексовского ПриПрокруткеКолеса не доходит Печаль
Вывод не верный. TableDoc не перехватывает прокрутку колеса.
А из всего что перехватывает, после обработки, с чистой совестью передает управление дальше. (Кроме событий где ФСО=0)

Колесо обрабатывает (перехватывает если угодно) сама таблица если она в фокусе. При этом не делается вызов DefWindowProc(). Поэтому сообщения не доходят до родительского окна.
Выход один - делать событие менеджера.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #241 - 29. Мая 2008 :: 10:39
Печать  
Дим, а почему тогда нажатие кнопок (ПриНажатииКлавиатуры) сперва обрабтываются родительской формой, а события мыши нет? Или это к Альфу?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #242 - 29. Мая 2008 :: 10:42
Печать  
А... вспомнил!

http://www.1cpp.ru/bugs/show_bug.cgi?id=3470

Хреново
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #243 - 29. Мая 2008 :: 11:06
Печать  
Мне одна мысль не дает покоя:
Когда формируется таблица то в ячейки я записываю числа, внешне же после Формат(.....) число становится текстом и когда я из области выхватываю Текст то и значение получаю строковое.
Например после преобразования числа 3000,00 скажем формулой СокрЛП(Формат(3000,"Ч19.2.,")) я получу текст = 3,000.00... а вот каким образом мне получить именно число.
Почему я  заговорил про числа то если дату еще можно не парясь преобразовать через Дата() то на такие строки код "Число" вернет не то значение. В моем примере он вернет значение = 3,00 (три).
Если мы сохраняем таблицу в формат экселя то эксель понимает что это число, а не текст. Собственно теперь вопрос: как можно получить именно значение ячейки, а не ее текстовое представление.

Пы.Сы. наверное нет, ведь мы имеем сформированный документ а значит все исходные данные потеряны... но как тогда безболезненно преобразовать обратно в число тоже самое?  Смущённый
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #244 - 29. Мая 2008 :: 11:11
Печать  
В восьмерке для этого придумали неразрывный пробел Улыбка
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #245 - 29. Мая 2008 :: 11:35
Печать  
vandalsvq писал(а) 29. Мая 2008 :: 11:06:
Пы.Сы. наверное нет, ведь мы имеем сформированный документ а значит все исходные данные потеряны...
все правильно понял Цитата:
но как тогда безболезненно преобразовать обратно в число тоже самое?  Смущённый
либо хранить первичное значение в расшифровке либо написать функцию "Деформат".
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #246 - 29. Мая 2008 :: 11:46
Печать  
или поинтересоваться у товарищей которые мечтали сделать ексель  Улыбка
http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/8#8
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #247 - 29. Мая 2008 :: 11:47
Печать  
trad писал(а) 29. Мая 2008 :: 11:35:
vandalsvq писал(а) 29. Мая 2008 :: 11:06:
Пы.Сы. наверное нет, ведь мы имеем сформированный документ а значит все исходные данные потеряны...
все правильно понял Цитата:
но как тогда безболезненно преобразовать обратно в число тоже самое?  Смущённый
либо хранить первичное значение в расшифровке либо написать функцию "Деформат".


Такую функцию я написал  Подмигивание. По другому никак не вышло.
Дима, а событий ПриОкончанииВыделения можно? т.е. тогда когда изменение выделения закончились и мышка отжата...  Подмигивание
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #248 - 29. Мая 2008 :: 11:59
Печать  
Цитата:
Дима, а событий ПриОкончанииВыделения можно? т.е. тогда когда изменение выделения закончились и мышка отжата...  Подмигивание

Это событие вырождается в событие OnLButtonUp, потому как любое отпускание левой кнопки есть окончание выделения. Не так ли?
  

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



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: TableDoc
Ответ #249 - 29. Мая 2008 :: 12:56
Печать  
vandalsvq писал(а) 29. Мая 2008 :: 11:06:
Мне одна мысль не дает покоя:
...
3,000.00...
как тогда безболезненно преобразовать обратно в число тоже самое?  Смущённый

Код
Выбрать все
тЗнач = "3,000.00";
тЗнач = СтрЗаменить(тЗнач,",","");
тЧисло = Число(тЗнач); 


  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #250 - 29. Мая 2008 :: 13:26
Печать  
Salimbek, разделители целой и дробной части могут быть любыми, также как и разделители триад. Так что твой код прокатит только здесь.
  
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #251 - 29. Мая 2008 :: 17:45
Печать  
Парень решил поучить отцов Смех
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #252 - 30. Мая 2008 :: 03:10
Печать  
trad писал(а) 29. Мая 2008 :: 11:59:
Цитата:
Дима, а событий ПриОкончанииВыделения можно? т.е. тогда когда изменение выделения закончились и мышка отжата...  Подмигивание

Это событие вырождается в событие OnLButtonUp, потому как любое отпускание левой кнопки есть окончание выделения. Не так ли?


Мне кажется не совсем... выделять можно ведь как?
1. Клавиатура: удержия Shift и тыкая кнопками "Вниз,Вверх,Вправо,Влево", а значит при отпускании одной из этих четырех кнопок выделение по идее закончилось
2. Клавиатура + мышь: если удерживать Ctrl + ПриОтжатииЛевойКнопки
3. Мышь: удерживая нажатой левую кнопку выделять область.
Тут мне видится вот какой способ:
Отлавливаем ПриОтжатииЛевойКнопкиМыши или ПриОтжатииКлавиатуры, только если в мышином отжатии в любом случае окончание выделения, то в клавиатурном только если отжаты клавиши направлений.

Я именно так в форме отлавливаю, но нехочу везде копипастить код, если бы было событие можно было бы его в КОП обрабатывать и все  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #253 - 30. Мая 2008 :: 03:32
Печать  
кстати я как бы не гадал над функцией "Деформат" а полноценного деформатирования не получилось, т.к. потенциально разделитель разрядов и целой и дробной части может быть один и тот же символ Улыбка
в итоге у меня деформатируется только если они отличаются друг от друга
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #254 - 30. Мая 2008 :: 05:20
Печать  
vandalsvq
событие ПриИзмененииВыделения не подойдет?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #255 - 30. Мая 2008 :: 05:34
Печать  
trad писал(а) 30. Мая 2008 :: 05:20:
vandalsvq
событие ПриИзмененииВыделения не подойдет?


Вообще почему я это просил:
у меня при изменении выделения идет счетчик "Сумма = " аналогично как в Эксель когда ты суммы выделяешь... каждый раз при изменении получаю таблицу данных приходится делать еще и "Деформат"... т.е. очень трудозатратно. Где-то после 100-й выделенной (подряд) ячейки обработка уже заметно дольше идет (что в принципе ожидаемо при увеличении)... ну собстно после подсчета сумма подсвечивается в статусной строке. Я подумал и решил что при изменении можно и не подсчитывать а при окончании не так сильно заметно будет... т.е. если он (юзверь) выделяет область то не считается, отпускает мышку посчиталось, через ктрл добавил еще мышкой или клавой область, опять пересчиталось... вот  Подмигивание
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #256 - 30. Мая 2008 :: 05:48
Печать  
а как ты решаешь задачу если выделенные области пересекаются?
  

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



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: TableDoc
Ответ #257 - 30. Мая 2008 :: 05:49
Печать  
ИМХО, здесь ошибка в дизайне, слишком много затрат на ненужный "Деформат", не проще ли хранить в памяти копию ТаблДока в виде Индексированной таблицы. При выделении - номера строк - в другую ИТЗ, затем строишь их пересечение и считаешь итог по нужной колонке. А с Деформатом - поймет ли он, что "3.156" - это 3156 формата "Ч10.0." или 3.156 формата "Ч5.3"?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #258 - 30. Мая 2008 :: 06:17
Печать  
alest писал(а) 29. Мая 2008 :: 17:45:
Парень решил поучить отцов Смех

Не обижайте маленьких детей.
Никогда не знаешь, кто из них вырастет. Подмигивание

(с)

Иногда и отцам можно поучиться умению смотреть на вроде бы знакомые вещи со стороны.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #259 - 30. Мая 2008 :: 06:18
Печать  
trad писал(а) 29. Мая 2008 :: 11:59:
Цитата:
Дима, а событий ПриОкончанииВыделения можно? т.е. тогда когда изменение выделения закончились и мышка отжата...  Подмигивание

Это событие вырождается в событие OnLButtonUp, потому как любое отпускание левой кнопки есть окончание выделения. Не так ли?

А потом захочется трекинг... Т.е. уже... Улыбка

P.S.
А, прочитал документацию и заценил, что это все возможно.
Классно. Пойду налью еще кофийку...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #260 - 30. Мая 2008 :: 06:32
Печать  
kms писал(а) 30. Мая 2008 :: 06:18:
А потом захочется трекинг...
что есть тут трекикинг?
если что, то все события мыши coming soon
  

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


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #261 - 30. Мая 2008 :: 06:49
Печать  
trad писал(а) 30. Мая 2008 :: 06:32:
kms писал(а) 30. Мая 2008 :: 06:18:
А потом захочется трекинг...
что есть тут трекикинг?
если что, то все события мыши coming soon


Цитата:
у меня при изменении выделения идет счетчик "Сумма = " аналогично как в Эксель когда ты суммы выделяешь...

Допустим, чтобы вывести сумму в строке состояния.

Я правильно понимаю, что сейчас это можно сделать путем ПриИзмененииВыделения() / ПолучитьВыделенные()?
Или ПриАктивизиацииЯчейки() / ПолучитьВыделенные()?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #262 - 30. Мая 2008 :: 06:54
Печать  
kms писал(а) 30. Мая 2008 :: 06:49:
Допустим, чтобы вывести сумму в строке состояния.

Я правильно понимаю, что сейчас это можно сделать путем ПриИзмененииВыделения() / ПолучитьВыделенные()?
Или ПриАктивизиацииЯчейки() / ПолучитьВыделенные()?

теоретически да
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #263 - 30. Мая 2008 :: 07:34
Печать  
Пока меня тут не было.... я все пропустил  Смех
В общем по очереди буду отвечать

Цитата:
а как ты решаешь задачу если выделенные области пересекаются?


Кстати о пересечении неодноячеейных областей я как то не подумал пока  Подмигивание спасибо за подсказку... счас буду думать, однако "дизайн страдает"  Смех
конечно мне бы хотелось через "ПолучитьВыделенные" иметь возможность достучаться только до уникальных выделенных ячеек... что можешь сказать? Ну скажем переметрезированный метод сделать и если  = 1 тогда таблица только из уникальных областей а не подряд выделенных.
Интересно твое мнение.

2 Salimbek
я об этом говорил ниже что Деформат не может быть 100% верным в принципе, поэтому сделал его с большим "но"  Круглые глаза .... а что касается индексированной таблицы, тут у меня мысль такая... вот открываю я в нем какой-нить отчет какого нить "программиста" и мне его загонять в ТЗ и пытаться деформатировать? дык я же тогда все от форматю... а мне бы наверное тогда и представление хранить надо. а если пользователь цифры поменят? отлавливать и пересобирать таблицу? а если 1000 строк? пользователь суммирует таким образом 5? .... не кажется мне это решением. Ну по крайней мере в той идеологии которую я преследую.

Цитата:
Иногда и отцам можно поучиться умению смотреть на вроде бы знакомые вещи со стороны.


Ну я то точно не отец  Смех я все еще подрастающее поколение  Класс

trad писал(а) 30. Мая 2008 :: 06:54:
kms писал(а) 30. Мая 2008 :: 06:49:
Допустим, чтобы вывести сумму в строке состояния.

Я правильно понимаю, что сейчас это можно сделать путем ПриИзмененииВыделения() / ПолучитьВыделенные()?
Или ПриАктивизиацииЯчейки() / ПолучитьВыделенные()?

теоретически да


Собственно все почти так и происходит...
Мне неохото выкладывать достаточно сыроватый материал, но итог того что получиться - это КОП позволяющий переданную таблицу отображать в отдельной форме с небольшими возможностями изменения: шрифт, размер шрифта, Ж, К, Ч, выравнивание, масштаб, заливка, объединение, границы, цвет текста и границ, выполнение неьбольшого количество формул (сум, среднее, макс,мин) + сортировка колонок и областей по отдельным колонкам...
Счас все сделано работает хорошо однако дорабатывю напильником и стараюсь чтобы все было хорошо и стабильно. Вот  Подмигивание
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #264 - 30. Мая 2008 :: 07:56
Печать  
Цитата:
Кстати о пересечении неодноячеейных областей я как то не подумал пока   спасибо за подсказку... счас буду думать, однако "дизайн страдает"  
конечно мне бы хотелось через "ПолучитьВыделенные" иметь возможность достучаться только до уникальных выделенных ячеек... что можешь сказать? Ну скажем переметрезированный метод сделать и если  = 1 тогда таблица только из уникальных областей а не подряд выделенных.
Интересно твое мнение.
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?
  

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



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #265 - 30. Мая 2008 :: 13:05
Печать  
trad писал(а) 30. Мая 2008 :: 07:56:
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?

Наверное, как в Excel, считается как одно выделение, только уникальные ячейки  Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #266 - 30. Мая 2008 :: 13:13
Печать  
PVR писал(а) 30. Мая 2008 :: 13:05:
trad писал(а) 30. Мая 2008 :: 07:56:
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?

Наверное, как в Excel, считается как одно выделение, только уникальные ячейки  Улыбка

Вопрос не в том КАК считать, а в том ЧТО считать.
Речь идет про метод ПолучитьВыделенные().
Ответь мне конкретно какой результат должен выдать этот метод если выделено две области: "R1" и "C1"
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #267 - 31. Мая 2008 :: 08:42
Печать  
trad писал(а) 30. Мая 2008 :: 13:13:
PVR писал(а) 30. Мая 2008 :: 13:05:
trad писал(а) 30. Мая 2008 :: 07:56:
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?

Наверное, как в Excel, считается как одно выделение, только уникальные ячейки  Улыбка

Вопрос не в том КАК считать, а в том ЧТО считать.
Речь идет про метод ПолучитьВыделенные().
Ответь мне конкретно какой результат должен выдать этот метод если выделено две области: "R1" и "C1"


Мне кажется он должен выдать результат (по строкам ТЗ)
1. Ячейка R1C1:R1C1
2. Область R1C2:R1C0
3. Область R2C1:R0C1

может быть такк?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #268 - 31. Мая 2008 :: 15:07
Печать  
vandalsvq писал(а) 31. Мая 2008 :: 08:42:
Мне кажется он должен выдать результат (по строкам ТЗ)
1. Ячейка R1C1:R1C1
2. Область R1C2:R1C0
3. Область R2C1:R0C1

может быть такк?

твое мнение совпало с моим Улыбка
но области из 2 и 3 - нестандартны и их невозможно описать объектом ОбластьТаблицы
  

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



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #269 - 01. Июня 2008 :: 08:14
Печать  
Возможно при ПолучитьВыделенные() надо возвращать только уникальные области(без пересечений)  разбивать 2 пересекающихся области на 3 или 4 уникальных.

Которые возможно описать объектом ОбластьТаблицы  Подмигивание
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #270 - 04. Июня 2008 :: 09:46
Печать  
0.1.0.22 (04.06.2008)

  МенеджерТабличногоДокумента
    Добавлены методы
     ПрокрутитьНа / ScrollBy
     ПроверкаПопадания / HitTest
     ЭкранныеВКлиентские / ScreenToClient
     КлиентскиеВЭкранные / ClientToScreen
    Добавлены события
     ПриДвойномНажатииЛевойКнопки / OnLButtonDblClk
     ПриНажатииЛевойКнопки / OnLButtonDown
     ПриОтжатииЛевойКнопки / OnLButtonUp
     ПриДвойномНажатииПравойКнопки / OnRButtonDblClk
     ПриНажатииПравойКнопки / OnRButtonDown /
     ПриОтжатииПравойКнопки / OnRButtonUp
     ПриДвойномНажатииСреднейКнопки / OnMButtonDblClk
     ПриНажатииСреднейКнопки / OnMButtonDown
     ПриОтжатииСреднейКнопки / OnMButtonUp
     ПриДвиженииМыши / OnMouseMove
     ПриДвиженииМышиНК / OnNcMouseMove
     ПриПрокруткеКолесаМыши / OnMouseWheel
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #271 - 04. Июня 2008 :: 09:53
Печать  
Красота! Улыбка
Спасибо.
Ну и клавиатурные события еще бы.
  
Наверх
ICQ  
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #272 - 04. Июня 2008 :: 09:59
Печать  
vip писал(а) 04. Июня 2008 :: 09:53:
Красота! Улыбка
Спасибо.
Ну и клавиатурные события еще бы.

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #273 - 04. Июня 2008 :: 10:04
Печать  
мини-демка
  

testTD.ert ( 8 KB | Загрузки )

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #274 - 04. Июня 2008 :: 10:12
Печать  
trad писал(а) 04. Июня 2008 :: 10:04:
мини-демка

Тов. Arta помрет от счастья Очень довольный
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #275 - 05. Июня 2008 :: 07:44
Печать  
Шизануться, такими темпами в tabledoc будет больше событий чем в 1cpp или формексе  Смех

Спасибо, Дим!


За перевод координат - отдельный сенкс!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #276 - 05. Июня 2008 :: 08:01
Печать  
Цитата:
За перевод координат - отдельный сенкс!
а вот зачем они тебе? мне они вообщето не потребны были. как то само получилось.
« Последняя редакция: 21. Мая 2009 :: 10:02 - trad »  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #277 - 05. Июня 2008 :: 08:08
Печать  
Цитата:
Процитировано сообщение: Arta от Сегодня :: 11:44:51:
в tabledoc будет больше событий чем в 1cpp или формексе   
дык а че там - практически копи-паст сплошной

Ну, а клавиш события скопипастить? Улыбка
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #278 - 05. Июня 2008 :: 08:12
Печать  
vip писал(а) 05. Июня 2008 :: 08:08:
Ну, а клавиш события скопипастить? Улыбка

напомни еще потом как-нибудь пару раз, для надежности, чтоб не забыть. Смех
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #279 - 05. Июня 2008 :: 08:15
Печать  
trad писал(а) 05. Июня 2008 :: 08:12:
vip писал(а) 05. Июня 2008 :: 08:08:
Ну, а клавиш события скопипастить? Улыбка

напомни еще потом как-нибудь пару раз, для надежности, чтоб не забыть. Смех

Это я от волнения. Очень довольный
Больно уж контрол нравится.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #280 - 05. Июня 2008 :: 08:38
Печать  
trad писал(а) 05. Июня 2008 :: 08:01:
а вот зачем они тебе? мне они вообщето не потребны были. как то само получилось.


меню svcsvc запускать по винкею или райтклику.

В родном СЗ, или формексовском нет возможности задать координаты.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #281 - 05. Июня 2008 :: 08:40
Печать  
vip писал(а) 05. Июня 2008 :: 08:08:
Ну, а клавиш события скопипастить? Улыбка


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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #282 - 05. Июня 2008 :: 08:42
Печать  
Arta писал(а) 05. Июня 2008 :: 08:40:
vip писал(а) 05. Июня 2008 :: 08:08:
Ну, а клавиш события скопипастить? Улыбка


Я уже неоднократно описывал схему запуска событий в контролах через Перехватчик. У меня клавиши давно работают.
Проблема была только с мышой, формекс не отрабатывал.

Да хочется и без Перехватчика.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #283 - 05. Июня 2008 :: 08:53
Печать  
vip писал(а) 05. Июня 2008 :: 08:42:
Да хочется и без Перехватчика.

Это конечно офтоп, но если ты его используешь и перехватываешь все формы, то используя всего одну функцию ты имеешь все события клавы, мыши и всего чего еще возможно в любом контроле. Всего одна функция, один раз ее написать и работает всегда и на всех контролах.

Ну не хотишь, как хотишь...


P.S. Но в этих событиях не будет ссылок на текущие объекты контрола, что иногда бывает неудобно. Но и это решается.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #284 - 05. Июня 2008 :: 09:19
Печать  
trad писал(а) 05. Июня 2008 :: 08:12:
vip писал(а) 05. Июня 2008 :: 08:08:
Ну, а клавиш события скопипастить? Улыбка

напомни еще потом как-нибудь пару раз, для надежности, чтоб не забыть. Смех

Можно попроситься к Федору в Багзиллу, он заведет новый раздел "TableDoc" и уже никогда не забудете.
Серьезно, багзилла очень помогает в работе над проектом Улыбка
  

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: TableDoc
Ответ #285 - 05. Июня 2008 :: 09:42
Печать  
Arta писал(а) 05. Июня 2008 :: 08:38:
trad писал(а) 05. Июня 2008 :: 08:01:
а вот зачем они тебе? мне они вообщето не потребны были. как то само получилось.


меню svcsvc запускать по винкею или райтклику.

В родном СЗ, или формексовском нет возможности задать координаты.

Артем, напиши в багзиллу для ФормЕкс, сделаем.
Кстати, а ведь там что-то подобное было?
или тебе удобно именно отдельные статические методы для перевода координат?
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #286 - 05. Июня 2008 :: 09:44
Печать  
artbear писал(а) 05. Июня 2008 :: 09:19:
Серьезно, багзилла очень помогает в работе над проектом Улыбка

Для этого еще должно быть желание у Димы ее использовать  Смех
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #287 - 05. Июня 2008 :: 09:45
Печать  
artbear писал(а) 05. Июня 2008 :: 09:42:
Артем, напиши в багзиллу для ФормЕкс, сделаем.
Кстати, а ведь там что-то подобное было?
или тебе удобно именно отдельные статические методы для перевода координат?


Напишу. Там ничего подобного нет. Только привязка к текущему атрибуту или мышке. И это жутко неудобно.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #288 - 05. Июня 2008 :: 09:47
Печать  
artbear писал(а) 05. Июня 2008 :: 09:19:
trad писал(а) 05. Июня 2008 :: 08:12:
напомни еще потом как-нибудь пару раз, для надежности, чтоб не забыть. Смех

Можно попроситься к Федору в Багзиллу, он заведет новый раздел "TableDoc" и уже никогда не забудете.

Артур, про "напомни еще" - это была шутка. Смех
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #289 - 05. Июня 2008 :: 09:48
Печать  
artbear писал(а) 05. Июня 2008 :: 09:42:
или тебе удобно именно отдельные статические методы для перевода координат?
если что, то у менеджераТД эти метода не статические!
  

1&&2&&3
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #290 - 05. Июня 2008 :: 09:49
Печать  
Насчет шутки я понял, но все равно считаю свое предложение логичным Улыбка
Удобно учитывать и хотелки, и баги.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #291 - 05. Июня 2008 :: 10:02
Печать  
artbear писал(а) 05. Июня 2008 :: 09:49:
Насчет шутки я понял, но все равно считаю свое предложение логичным Улыбка
Удобно учитывать и хотелки, и баги.

В логичности предложения не сомневаюсь. но у меня нет желания вести багзиллу по этому проекту.
Да и задачь там запланировано всего две и они у меня в голове.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #292 - 07. Июня 2008 :: 08:33
Печать  
0.1.0.23 (07.06.2008)

  МенеджерТабличногоДокумента
    Добавлен метод
     ПолучитьКлавиатуру / GetKeyboard
    Добавлены события
     ПриНажатииКлавиши / OnKeyDown
     ПриОтжатииКлавиши / OnKeyUp
     ПриНажатииСистемнойКлавиши / OnSysKeyDown
     ПриОтжатииСистемнойКлавиши / OnSysKeyUp
     ПриВводеСимвола / OnChar

  Добавлен класс Клавиатура
  

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


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: TableDoc
Ответ #293 - 07. Июня 2008 :: 11:22
Печать  
trad писал(а) 07. Июня 2008 :: 08:33:
0.1.0.23 (07.06.2008)

 МенеджерТабличногоДокумента
   Добавлен метод
     ПолучитьКлавиатуру / GetKeyboard
   Добавлены события
     ПриНажатииКлавиши / OnKeyDown
     ПриОтжатииКлавиши / OnKeyUp
     ПриНажатииСистемнойКлавиши / OnSysKeyDown
     ПриОтжатииСистемнойКлавиши / OnSysKeyUp
     ПриВводеСимвола / OnChar

 Добавлен класс Клавиатура

ура !!!
большое спасибо
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #294 - 07. Июня 2008 :: 12:40
Печать  
trad
Я весь одна большая благодарность Улыбка
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #295 - 10. Июня 2008 :: 20:00
Печать  
В ПриКонтекстномМеню, если оно вызвано мышой, то ЭлементРисования возвращается. Если win-кнопкой, то нет. Типа баг Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #296 - 11. Июня 2008 :: 13:29
Печать  
Arta писал(а) 10. Июня 2008 :: 20:00:
В ПриКонтекстномМеню, если оно вызвано мышой, то ЭлементРисования возвращается. Если win-кнопкой, то нет. Типа баг Улыбка

поправил
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #297 - 18. Июня 2008 :: 07:10
Печать  
trad
Не работает событие ПриНажатииКлавиши.
ПриОтжатииКлавиши и другие события работают нормально.
Пробовал на менеджере в составе ПолеТабличногоДокумента.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #298 - 18. Июня 2008 :: 08:32
Печать  
vip писал(а) 18. Июня 2008 :: 07:10:
trad
Не работает событие ПриНажатииКлавиши.
ПриОтжатииКлавиши и другие события работают нормально.
Пробовал на менеджере в составе ПолеТабличногоДокумента.

Подтвержадаю.
Не работает VK_TAB,VK_RETURN,VK_END,VK_HOME,VK_LEFT,VK_UP,VK_RIGHT,VK_DOWN в случае мнеджера поля.

мини тест во вложении
  

testTD2.ert ( 9 KB | Загрузки )

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #299 - 18. Июня 2008 :: 08:43
Печать  
trad писал(а) 18. Июня 2008 :: 08:32:
vip писал(а) 18. Июня 2008 :: 07:10:
trad
Не работает событие ПриНажатииКлавиши.
ПриОтжатииКлавиши и другие события работают нормально.
Пробовал на менеджере в составе ПолеТабличногоДокумента.

Подтвержадаю.
Не работает VK_TAB,VK_RETURN,VK_END,VK_HOME,VK_LEFT,VK_UP,VK_RIGHT,VK_DOWN в случае мнеджера поля.

мини тест во вложении

И? Оргвыводы последуют? Улыбка
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #300 - 18. Июня 2008 :: 09:03
Печать  
vip писал(а) 18. Июня 2008 :: 08:43:
И? Оргвыводы последуют? Улыбка

да
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #301 - 19. Июня 2008 :: 15:51
Печать  
vip писал(а) 18. Июня 2008 :: 07:10:
trad
Не работает событие ПриНажатииКлавиши.
ПриОтжатииКлавиши и другие события работают нормально.
Пробовал на менеджере в составе ПолеТабличногоДокумента.

исправлено
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #302 - 19. Июня 2008 :: 16:13
Печать  
Сенькс. Улыбка
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: TableDoc
Ответ #303 - 07. Июля 2008 :: 13:35
Печать  
Вопрос: А существует ли возможность автоматически назначать любому активному окну таблицы (например из глобального модуля) какой-либо менеджер табличного документа и обрабатывать его события из глобального модуля?
Вопрос обусловлен появлением нового функционала прокрутки и масштабирования таблиц, наличием большого количества слепых бухгалтеров, формированием таблиц как расшифровок с физическим закрытием формы отчета после формирования таблицы.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #304 - 07. Июля 2008 :: 13:43
Печать  
Щас придёт Arta и научит тебя делать это перехватчиком. Если не хочешь ждать - юзай поиск, он несколько раз уже постил подобный код (в том числе и для ТП)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #305 - 07. Июля 2008 :: 13:49
Печать  
Kapet писал(а) 07. Июля 2008 :: 13:35:
Вопрос: А существует ли возможность автоматически назначать любому активному окну таблицы (например из глобального модуля) какой-либо менеджер табличного документа и обрабатывать его события из глобального модуля?
в tabledoc.dll этого нет.
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: TableDoc
Ответ #306 - 07. Июля 2008 :: 15:15
Печать  
trad писал(а) 07. Июля 2008 :: 13:49:
Kapet писал(а) 07. Июля 2008 :: 13:35:
Вопрос: А существует ли возможность автоматически назначать любому активному окну таблицы (например из глобального модуля) какой-либо менеджер табличного документа и обрабатывать его события из глобального модуля?
в tabledoc.dll этого нет.
... возможно объединенными усилиями c 1СРР и Formex...?
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #307 - 08. Июля 2008 :: 04:02
Печать  
Kapet писал(а) 07. Июля 2008 :: 15:15:
trad писал(а) 07. Июля 2008 :: 13:49:
Kapet писал(а) 07. Июля 2008 :: 13:35:
Вопрос: А существует ли возможность автоматически назначать любому активному окну таблицы (например из глобального модуля) какой-либо менеджер табличного документа и обрабатывать его события из глобального модуля?
в tabledoc.dll этого нет.
... возможно объединенными усилиями c 1СРР и Formex...?

Тебе и говорят про Перехватчик - это как раз объединение усилий с 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 записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #308 - 08. Июля 2008 :: 07:02
Печать  
JohnyDeath писал(а) 07. Июля 2008 :: 13:43:
Щас придёт Arta и научит тебя делать это перехватчиком.

Очень довольный


Это делается просто.
Как делается увеличение во множестве программ - через контрол и прокрутку колеса мыши.
Делаем в перехватчике любой формы:
Код
Выбрать все
Функция ПолучитьЭлементУправленияИмеющийМетод(ИмяАтрибутаФормы, Метод)
  Если ПустоеЗначение(ИмяАтрибутаФормы) = 0 Тогда
    _Форма = СоздатьОбъект("Форма");
    _Форма.УстановитьФорму(Конт.Форма);
    Попытка
	Элемент = _Форма.ПолучитьЭлементУправления(ИмяАтрибутаФормы);
	  Если ПустоеЗначение(Элемент) = 0 Тогда
	    Если Информатор.МетодСуществует(Элемент, Метод) = 1 Тогда
		Возврат Элемент;
	    КонецЕсли;
	  КонецЕсли;
    Исключение
	Ошибка = ОписаниеОшибки();
	Если (Ошибка <> "Окно атрибута формы не найдено!") И (Ошибка <> "Атрибут формы не найден!") Тогда
	  Сообщить("Атрибут: " + ИмяАтрибутаФормы + " " + ОписаниеОшибки(), "!");
	КонецЕсли;
    КонецПопытки;
  КонецЕсли;
КонецФункции

Процедура ПриПрокруткеКолесаМыши(Сост, Лево, Верх, ФСО, Градусы) Экспорт
  Перехватчик.ВыполнитьОригинальноеСобытиеГК(Конт, "ПриПрокруткеКолесаМыши", Сост, Лево, Верх, ФСО, Градусы);
  Если ФСО <> 0 Тогда
    Элемент = ПолучитьЭлементУправленияИмеющийМетод(Конт.Форма.АктивныйЭлемент(), "ПриПрокруткеКолесаМыши");
	Если ПустоеЗначение(Элемент) = 0 Тогда
	  Элемент.ПриПрокруткеКолесаМыши(Сост, Лево, Верх, ФСО, Градусы);
	КонецЕсли;
    КонецЕсли;
КонецПроцедуры
 



В коде класса-наследника Tabledcoc делаем:
Код
Выбрать все
Процедура ПриПрокруткеКолесаМыши(Сост, Градусы, Лево, Верх, ФСО, Таблица, НомерВида) Экспорт
  Если Сост = 8 Тогда
    Масштаб = Сам().Менеджер.Масштаб();
    Если Градусы < 0 Тогда
	Если Масштаб > 10 Тогда
	  Сам().Менеджер.Масштаб(Масштаб - 10);
	КонецЕсли;
    Иначе
	Сам().Менеджер.Масштаб(Масштаб + 10);
    КонецЕсли;
    ФСО = 0;
  КонецЕсли;
КонецПроцедуры 



P.S. Подобный код универсален для любых контролов (ТП, активиксов и т.д.)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #309 - 15. Июля 2008 :: 06:01
Печать  
обновления в ints файлах по TableDoc
руки до als к сожалению не доходят  Плачущий
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #310 - 29. Июля 2008 :: 07:53
Печать  
А что, уже готовую "Таблицу" нельзя передать в ТаблДок?
Делаю:
Код
Выбрать все
Процедура Сформировать()
	Таб=СоздатьОбъект("Таблица");
	Для й=1 По 100 Цикл
		НомерСтроки=й;
		Таб.ВывестиСекцию("Строка");
	КонецЦикла;
	ТаблДок.Менеджер.УстановитьТаблицу(Таб, Форма);
	ТаблДок.Таблица.ТолькоПросмотр(1);
	ТаблДок.Таблица.Показать();
	//ТаблДок.Менеджер.Обновить();
КонецПроцедуры	// Сформировать 


Никаких эффектов  Печаль
Подозреваю, что можно, но как чё-т не пойму. Помогите.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #311 - 29. Июля 2008 :: 08:10
Печать  
ТаблДок.Менеджер.УстановитьТаблицу
Нет, этот фокус не пройдет.

У поля табличного документа есть свой агрегированный табличный документ. Назовем его Т. Его и только его оно [поле] и отображает.
Кроме того поле имеет своего агрегированного менеджера (М).
При создании ЭУ ПТД, как раз происходит неявный вызов: М.УстановитьТаблицу(Т).

Поэтому выполняя код ТаблДок.Менеджер.УстановитьТаблицу(Таб), ты не только потеряешь контроль над таблицей (и события) которую отображает поле, но и поле не будет отображать твою Таб.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #312 - 29. Июля 2008 :: 08:12
Печать  
Код
Выбрать все
Процедура Сформировать()
	Таб=ТаблДок.Таблица;
	Для й=1 По 100 Цикл
		НомерСтроки=й;
		Таб.ВывестиСекцию("Строка");
	КонецЦикла;
	Таб.ТолькоПросмотр(1);
	Таб.Показать();
КонецПроцедуры
 

так задачу не решить?
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #313 - 29. Июля 2008 :: 08:14
Печать  
У меня есть класс, который формирует и возвращает таблицу. Поэтому так не пойдёт.
Значит действительно нельзя?

П.С. Да, конечно можно немного подрихтовать класс и дать ему на вход таблицу от ТаблДока, но, как всегда, хотелось малой кровью.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #314 - 28. Мая 2009 :: 14:31
Печать  
немного нового функционала:

0.1.0.29 (28.05.2009)
  МенеджерТабличногоДокумента
    Добавлены свойства
     ПараметрыСтраницы - коллекция параметров страницы
     Ид - уникальный в рамках сессии идентификатор экземпляра табличного документа

0.1.0.28 (21.05.2009)
  Расширенная область таблицы
  Добавлен метод РазмерШрифтаРасш

0.1.0.27 (20.06.2008)
  ПолеТабличногоДокумента
  Добавлено свойство ПлоскийСтиль / FlatStyle

http://infostart.ru/projects/4198/
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #315 - 28. Мая 2009 :: 14:45
Печать  
скоро.
Код
Выбрать все
Таб = СоздатьОбъект("Таблица");
Мен = СоздатьОбъект("МенеджерТабличногоДокумента");
Мен.УстановитьТаблицу(Таб);

СекцияМакета = Мен.ПолучитьСекциюМакета("Секция_1|Секция_6"); //секция макета без расчета формул
Область = СекцияМакета.Область(1,1);
Область.ФорматДанных(3);
Область.Текст = "[2*2]";
Таб.ВывестиСекцию(СекцияМакета.ПолучитьСекцию());  //вывод не рассчитанной области
Таб.ВывестиСекцию(СекцияМакета.ВычислитьСекцию()); //вывод рассчитанной области
Таб.Показать();
 

  

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


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #316 - 29. Мая 2009 :: 09:47
Печать  
Это интересно....

А как на счет сравнения скорости работы стандартного Таблица.ПолучитьСекцию() и
СекцияМакета.ВычислитьСекцию()?

Ибо стандартная очень торомозит вывод отчета. 50% с лишним  времени выполнения отчета занимат именно эти методы.

И еще вопрос: именованные области поддерживаются?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #317 - 29. Мая 2009 :: 10:09
Печать  
чуда не ожидается Улыбка
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #318 - 29. Мая 2009 :: 10:16
Печать  
Со сжатыми губами в текущей 29 версии этот функционал, кстати, есть. Так что можешь проверить. В этой версии только не работает свойство ТекущийОбъект при вызове ВычислитьСекцию() и несколько не оптимален сам алгоритм.
В следующей 30 версии (уже готова) это поправлено. Выложу когда будет готова дока.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #319 - 29. Мая 2009 :: 10:24
Печать  
одно могу сказать определенно:
время выполнения Таблица.ПолучитьСекцию()
<
времени выполнения Менеджер.ПолучитьСекциюМакета() + СекцияМакета.ВычислитьСекцию()
Печаль
ибо делается тоже самое только в 2 этапа + доп затраты
  

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


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #320 - 29. Мая 2009 :: 12:05
Печать  
Эх... Жалько..... (что чуда не будет)...
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #321 - 02. Июня 2009 :: 10:27
Печать  
Обновление

Цитата:
0.1.0.30 (01.06.2009)
  МенеджерТабличногоДокумента
    Добавлены методы: ПолучитьСекциюМакета, ВысотаМакета, ШиринаМакета

  Расширенная область таблицы
    Добавлены методы: ФорматДанных, Защита, ТекстРасшифровки

  Добавлен класс СекцияМакета

  Новая документация в chm

http://infostart.ru/projects/4198/
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #322 - 16. Июня 2009 :: 08:22
Печать  
Люди подскажите чайнику, хочу при использовании tabledok объединить ячейки в таблице, но ничего не выходить
Если можно пример кода
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #323 - 16. Июня 2009 :: 09:09
Печать  
AllAG писал(а) 16. Июня 2009 :: 08:22:
Люди подскажите чайнику, хочу при использовании tabledok объединить ячейки в таблице, но ничего не выходить
Если можно пример кода

а чем штатный метод области Объединить() не устраивает?
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #324 - 16. Июня 2009 :: 10:15
Печать  
Смысл такой, при выделении области, нужно чтобы она выделялась цветом и объединялась, разве штатный метод Объединить() может так?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #325 - 16. Июня 2009 :: 10:21
Печать  
не штатный метод ОбъединитьРасш([Режим]) отличается от штатного Объединить() только тем что он умеет "разъединять"
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #326 - 16. Июня 2009 :: 10:23
Печать  
Понятно, спс
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #327 - 16. Июня 2009 :: 10:23
Печать  
тебе нужно непосредственно (т.е. сразу) при выделении группы ячеек что бы объединялось и раскрашивалось?
или при какой-либо доп команде (нажатие клавиши, клик мыши и т.п.)?
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #328 - 16. Июня 2009 :: 10:25
Печать  
Да, если это возможно, т.е я выделяю мышкой столбцы и они должны объединять
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #329 - 16. Июня 2009 :: 10:28
Печать  
я не пробовал. попробуй.
тебе понадобится событие менеджера ПриИзмененииВыделения
метод менеджера ПолучитьВыделенные для получения выделенных областей
ну и собственно методы области Объединить и ЦветФона/ЦветФонаРасш
ps только не знаю что за чудо получиться Улыбка
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #330 - 16. Июня 2009 :: 10:29
Печать  
Ок, попробую, если получиться отпишусь, спс
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #331 - 16. Июня 2009 :: 10:31
Печать  
AllAG писал(а) 16. Июня 2009 :: 10:25:
... т.е я выделяю мышкой столбцы и они должны объединять

эээ, объединение стольбцов (равно и строк) в табличном документе семерки в принципе не возможно.
или я не понял что тебе нужно
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #332 - 16. Июня 2009 :: 10:32
Печать  
возможно оъединение только прямоугольных областей
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #333 - 16. Июня 2009 :: 10:36
Печать  
Мне нужно выделить,Объединить например в строке 1   второй и третий столбец, насколько я понимаю это и есть прямоугольная область
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #334 - 16. Июня 2009 :: 10:44
Печать  
да
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #335 - 16. Июня 2009 :: 10:53
Печать  
не уверен это ли тебе нужно, но вот пример:
Код
Выбрать все
Перем гМенеджер;

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

Процедура МенеджерТаблДокПриИзмененииВыделения(Менеджер, Таб)
	ТЗ = Менеджер.ПолучитьВыделенные();
	ТЗ.ВыбратьСтроки();
	Пока ТЗ.ПолучитьСтроку() = 1 Цикл
		Если ТЗ.ТипОбласти = 3 Тогда
			Обл = Таб.Область(ТЗ.R1, ТЗ.C1, ТЗ.R2, ТЗ.C2);
			Обл.Объединить();
			Обл.ЦветФона(255);
			Менеджер.Обновить(Обл);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
 

  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #336 - 16. Июня 2009 :: 10:58
Печать  
Оно, большое спасибо Очень довольный
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #337 - 17. Июня 2009 :: 04:50
Печать  
Было бы здорово (ИХМО) добавить возможность делать
программно в Таблице  высоту строки равной нулю ( и потом возвращать обратно в нужное значение )
аналогично с шириной столбца задать 0 и потом вернуть обратно.
Если делать итерактивно через задать значение то нельзя
т.к число должно быть больше 0.
Если сдвинуть колонку или  строчку до нуля мышью то все
работает но обратно уже раздвинуть не удается.
Причем такие таблицы корректно сохраняются в mxl
и востанавливаются из mxl.Также эти файлы
правильно отображаются просмотршиком таблиц v8.

Тогда в таких невидимых колонках(строках) можно будет хранить служебные данные таблицы.
Конкретно сейчас мне такая возможность не нужна но для какой-то задачи это было очень-очень актуально.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #338 - 17. Июня 2009 :: 05:04
Печать  
Сделать ширину колонки или высоту строки равной 0 невозможно ни программно ни интерактивно. Таково ограничение платформы.
Минимум что можно:
Код
Выбрать все
Менеджер.Область(,1,,20).ШиринаСтолбцаРасш(0.125);
Менеджер.Область(1,,20,).ВысотаСтрокиРасш(0.25);
Менеджер.Обновить();
 

  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #339 - 17. Июня 2009 :: 05:06
Печать  
дело в том, что значение ширины/высоты равное 0 во внутренних данных таблицы воспринимается как авто-ширина/высота
  

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


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #340 - 17. Июня 2009 :: 05:08
Печать  
спасибо понятно но все равно хорошо.
Визуально это воспринимается как 0
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #341 - 17. Июня 2009 :: 05:18
Печать  
Z1 писал(а) 17. Июня 2009 :: 05:08:
Визуально это воспринимается как 0

при масштабе 100% высота - возможно да, но ширина - нет
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #342 - 17. Июня 2009 :: 05:21
Печать  
попробуй изменить масштаб, "побегать" курсором через эти области.
имхо, очень некрасиво
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #343 - 18. Июня 2009 :: 09:07
Печать  
Обновление

Цитата:
0.1.0.32 (17.06.2009)
  МенеджерТабличногоДокумента
    Добавлены методы
     СоздатьЭлементРисования
     ТабличныеВПиксельные
     ПиксельныеВТабличные
 
  Расширенная область таблицы
    Добавлены методы
     ВыводитьНаПечать
     СтильЛинии
     ТолщинаЛинии
     Границы
 
  SheetDrawing
    Добавлены методы
     ПолучитьПозицию
     УстановитьПозицию
 
  Добавлены новые классы SheetRect, SheetPoint, Rect, Point

http://infostart.ru/projects/4198/
  

1&&2&&3
Наверх
 
IP записан
 
zzerf
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 30. Июня 2009
Re: TableDoc
Ответ #344 - 30. Июня 2009 :: 10:57
Печать  
Добрый день, в событии ПриАктивизацииЯчейки перекрашиваю фон строки, в которой находится активная ячейка, но метод Обновить верно работает только в том случае, если у таблицы нет закрепления областей. Если же области слева или сверху закреплены т.Опции(0, 0, 3, 4), то метод Обновить отрабатывает либо правую часть таблицы, либо левую, но всю строку не обновляет. Ячейки, граничащие с областью закрепления обновляет как попало.

Это нормальное поведение или глюк?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #345 - 30. Июня 2009 :: 11:29
Печать  
Таблица.Обновить() или Менеджер.Обновить() ?
если второе, то какие параметры?
  

1&&2&&3
Наверх
 
IP записан
 
zzerf
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 30. Июня 2009
Re: TableDoc
Ответ #346 - 30. Июня 2009 :: 11:50
Печать  
trad писал(а) 30. Июня 2009 :: 11:29:
Таблица.Обновить() или Менеджер.Обновить() ?
если второе, то какие параметры?


Второе. В параметрах стоит область строки, у которой менял фон.

Код
Выбрать все
Процедура МенеджерТаблДокПриАктивизацииЯчейки(Менеджер, Таблица, Действие, ТекСтрока, ТекСтолбец, НомерВида)
	о = тм.Область(ТекСтрока, 1, ТекСтрока, ШиринаТаблицы);
	Если Действие = 0
		Тогда о.ЦветФонаПоИндексу(-1);
		Иначе о.ЦветФонаПоИндексу(18);
	КонецЕсли;
	Менеджер.Обновить(о);
КонецПроцедуры
 

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #347 - 30. Июня 2009 :: 11:50
Печать  
глюк метода менеджер.обновить() в закрепленных областях подтверждаю. буду лечить.
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #348 - 06. Июля 2009 :: 08:33
Печать  
trad писал(а) 18. Июня 2009 :: 09:07:
Обновление

Цитата:
0.1.0.32 (17.06.2009)
 МенеджерТабличногоДокумента
   Добавлены методы
     СоздатьЭлементРисования
 
 SheetDrawing
   Добавлены методы
     ПолучитьПозицию
     УстановитьПозицию
 
 Добавлены новые классы SheetRect, SheetPoint, Rect, Point


День добрый!
trad, если не трудно, может есть примерчик с рисованием примитивов (линии, прямоугольник и пр.)?
Попробовал:
Код
Выбрать все
	Таб=СоздатьОбъект("Таблица");
	Таб.ТолькоПросмотр(1);
	гМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
	гМенеджер.УстановитьТаблицу(Таб);
	Координаты = СоздатьОбъект("SheetRect");
	Координаты.TopLeft.xCell = 2;
	Координаты.TopLeft.yCell = 2;
	Координаты.TopLeft.xOffset = 3;
	Координаты.TopLeft.yOffset = 0;
	Координаты.BottomRight.xCell = 2;
	Координаты.BottomRight.yCell = 2;
	Координаты.BottomRight.xOffset = 8;
	Координаты.BottomRight.yOffset = 10;
	гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
	гМенеджер.Обновить();
	Таб.Показать();
 


гМенеджер.СоздатьЭлементРисования возвращает пусто...
Естественно, никакую линию не выводит Печаль
Что не так делаю?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #349 - 06. Июля 2009 :: 08:58
Печать  
Таб=СоздатьОбъект("Таблица");
Таб.ТолькоПросмотр(1);
Таб.Показать();
гМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
гМенеджер.УстановитьТаблицу(Таб);
Координаты = СоздатьОбъект("SheetRect");
Координаты.TopLeft.xCell = 2;
Координаты.TopLeft.yCell = 2;
Координаты.TopLeft.xOffset = 3;
Координаты.TopLeft.yOffset = 0;
Координаты.BottomRight.xCell = 2;
Координаты.BottomRight.yCell = 2;
Координаты.BottomRight.xOffset = 8;
Координаты.BottomRight.yOffset = 10;
гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
гМенеджер.Обновить();
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #350 - 06. Июля 2009 :: 09:38
Печать  
Спасибо! Понял...
  
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #351 - 06. Июля 2009 :: 10:03
Печать  
trad, а можно привязывать таблицу к разработанному макету? Ну, как в стандарте Таб.ИходнаяТаблица()?
Объясню в чем проблема:
нужно в макете отчета некоторые ячеки перечеркивать крест на крест поверх имеющегося там текста.
Я долго искал ВК для такого извращения, пока не натолкнулся на твою. Спасибо огромное!
Но вот если бы можно было еще и на готовый макет все это изобразить, то... Очень довольный
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: TableDoc
Ответ #352 - 06. Июля 2009 :: 10:17
Печать  
ПростоБосс писал(а) 06. Июля 2009 :: 10:03:
trad, а можно привязывать таблицу к разработанному макету? Ну, как в стандарте Таб.ИходнаяТаблица()?
Объясню в чем проблема:
нужно в макете отчета некоторые ячеки перечеркивать крест на крест поверх имеющегося там текста.
Я долго искал ВК для такого извращения, пока не натолкнулся на твою. Спасибо огромное!
Но вот если бы можно было еще и на готовый макет все это изобразить, то... Очень довольный

А в чем проблема? Вроде бы в приведенных выше примерах и так рисовалась обычная Таблица, и только потом ее допиливали Менеджером.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #353 - 06. Июля 2009 :: 10:19
Печать  
с трудом понимаю что нужно Нерешительный
хочется рисовать не в выходной таблице, а в макете? так?
чем не подходит рисование (перечеркивание) в выходной таблице?
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #354 - 06. Июля 2009 :: 14:01
Печать  
Еще раз код:
[code]      Таб=СоздатьОбъект("Таблица");
     Таб.ИсходнаяТаблица("Проба");
     Таб.ТолькоПросмотр(1);
     Таб.Показать();
     гМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
     гМенеджер.УстановитьТаблицу(Таб);
     гМенеджер.ВыводСетки = 1;
     Координаты = СоздатьОбъект("SheetRect");
     Координаты.TopLeft.xCell = 2;
     Координаты.TopLeft.yCell = 2;
     Координаты.TopLeft.xOffset = 0;
     Координаты.TopLeft.yOffset = 0;
     Координаты.BottomRight.xCell = 3;
     Координаты.BottomRight.yCell = 3;
     Координаты.BottomRight.xOffset = 0;
     Координаты.BottomRight.yOffset = 0;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     гМенеджер.Обновить();
[/code]
В таблице "Проба" установлен текст в ячейке, границы и пр...
При прорисовке линии все это благополучно пропадает.

Блин! Дурак... Сам же секцию не вывел и сам же еще и туплю >:(
Все понял. Всем спб!
Автору - всех благ и большого благополучия!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #355 - 07. Июля 2009 :: 04:34
Печать  
[quote author=EasyBoss link=1177688915/345#354 date=1246888892]Автору - всех благ и большого благополучия![/quote]спасибо
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #356 - 07. Июля 2009 :: 07:13
Печать  
trad писал(а) 30. Июня 2009 :: 11:50:
глюк метода менеджер.обновить() в закрепленных областях подтверждаю. буду лечить.
исправлено.

Цитата:
0.1.0.34 (07.07.2009)
- Исправлена работа метода МенеджерТабличногоДокумента::Обновить в зафиксированных областях таблицы

http://infostart.ru/projects/4198/
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #357 - 07. Июля 2009 :: 07:20
Печать  
zzerf писал(а) 30. Июня 2009 :: 11:50:
Второе. В параметрах стоит область строки, у которой менял фон.

Обрати внимание:
Если подсветка текущей строки делается её подкрашиванием, то это приводит к увеличению размерности таблицы при навигации ниже/правее ВысотыТаблицы/ШириныТаблицы.
Если это делать на событии ПриАктивизацииЯчейки а не на ПриИзмененииВыделения, то "интересно" работает множественное выделение.

Пример:
  

__0.ert ( 8 KB | Загрузки )

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #358 - 07. Июля 2009 :: 11:17
Печать  
trad, а не подскажешь, установить тип линии примитива, толщину и цвет - возможно? По доке я не нашел Плачущий
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #359 - 07. Июля 2009 :: 11:47
Печать  
ПростоБосс писал(а) 07. Июля 2009 :: 11:17:
trad, а не подскажешь, установить тип линии примитива, толщину и цвет - возможно? По доке я не нашел Плачущий

Получаешь элемент рисования как расш.область
+ методы
Расширенная область таблицы :: СтильЛинии/LineStyle
Расширенная область таблицы :: ТолщинаЛинии/LineWeight
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #360 - 07. Июля 2009 :: 11:54
Печать  
trad писал(а) 07. Июля 2009 :: 11:47:
ПростоБосс писал(а) 07. Июля 2009 :: 11:17:
trad, а не подскажешь, установить тип линии примитива, толщину и цвет - возможно? По доке я не нашел Плачущий

Получаешь элемент рисования как расш.область
+ методы
Расширенная область таблицы :: СтильЛинии/LineStyle
Расширенная область таблицы :: ТолщинаЛинии/LineWeight

Я пробовал: он изменяет толщину и цвет бордюрных линий ячейки
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #361 - 07. Июля 2009 :: 12:13
Печать  
код покажи
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #362 - 07. Июля 2009 :: 12:22
Печать  
[code]      Таб=СоздатьОбъект("Таблица");
     Таб.ИсходнаяТаблица("Проба2");
     Таб.ВывестиСекцию("Карта");
     Таб.ТолькоПросмотр(1);
     Таб.Опции(0,0,0,0);
     Таб.ПараметрыСтраницы(1,,,,,8,8,,8,8);
     Таб.Показать("Пробная таблица");
     гМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
     гМенеджер.УстановитьТаблицу(Таб);
     Координаты = СоздатьОбъект("SheetRect");
     Координаты.TopLeft.xCell = 72;
     Координаты.TopLeft.yCell = 6;
     Координаты.TopLeft.xOffset = 0;
     Координаты.TopLeft.yOffset = 0;
     Координаты.BottomRight.xCell = 80;
     Координаты.BottomRight.yCell = 8;
     Координаты.BottomRight.xOffset = 0;
     Координаты.BottomRight.yOffset = 0;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     Координаты.TopLeft.xCell = 72;
     Координаты.TopLeft.yCell = 8;
     Координаты.TopLeft.xOffset = 0;
     Координаты.TopLeft.yOffset = 0;
     Координаты.BottomRight.xCell = 80;
     Координаты.BottomRight.yCell = 6;
     Координаты.BottomRight.xOffset = 0;
     Координаты.BottomRight.yOffset = 0;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     //Обл1 = гМенеджер.Область("R6C72:R7C79");
     //Обл1.ВыводитьНапечать(0);
     //Обл1.ТолщинаЛинии(4);
     Координаты.TopLeft.xCell = 37;
     Координаты.TopLeft.yCell = 68;
     Координаты.TopLeft.xOffset = -3;
     Координаты.TopLeft.yOffset = 2;
     Координаты.BottomRight.xCell = 39;
     Координаты.BottomRight.yCell = 69;
     Координаты.BottomRight.xOffset = 3;
     Координаты.BottomRight.yOffset = 0;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     Координаты.TopLeft.xCell = 37;
     Координаты.TopLeft.yCell = 69;
     Координаты.TopLeft.xOffset = -3;
     Координаты.TopLeft.yOffset = 0;
     Координаты.BottomRight.xCell = 39;
     Координаты.BottomRight.yCell = 68;
     Координаты.BottomRight.xOffset = 3;
     Координаты.BottomRight.yOffset = 2;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     Координаты.TopLeft.xCell = 73;
     Координаты.TopLeft.yCell = 67;
     Координаты.TopLeft.xOffset = -3;
     Координаты.TopLeft.yOffset = 0;
     Координаты.BottomRight.xCell = 75;
     Координаты.BottomRight.yCell = 68;
     Координаты.BottomRight.xOffset = 3;
     Координаты.BottomRight.yOffset = 0;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     Координаты.TopLeft.xCell = 73;
     Координаты.TopLeft.yCell = 68;
     Координаты.TopLeft.xOffset = -3;
     Координаты.TopLeft.yOffset = 0;
     Координаты.BottomRight.xCell = 75;
     Координаты.BottomRight.yCell = 67;
     Координаты.BottomRight.xOffset = 3;
     Координаты.BottomRight.yOffset = 0;
     гРис = гМенеджер.СоздатьЭлементРисования(1,Координаты);
     гМенеджер.Обновить();
[/code]
Задокументированные строки. На макете там объединенные ячейки с рамкой. Результат - верхняя линия рамки стала толстая.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #363 - 07. Июля 2009 :: 12:32
Печать  
гМенеджер.Область("R6C72:R7C79"); - тут ты получаешь область грида, а тебе нужна область элемента рисования:
гМенеджер.Область("D"+гРис.Индекс);
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #364 - 07. Июля 2009 :: 13:09
Печать  
Понял! Спасибо!
  
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #365 - 07. Июля 2009 :: 16:45
Печать  
trad!
Слушай, а таблица так и должна мигать при выводе каждого рисунка?
Мне кажется, что обновление таблицы должно происходить после метода Обновить(), а происходит после каждого применения метода СоздатьЭлементРисования()
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #366 - 07. Июля 2009 :: 17:44
Печать  
попробую что-нибудь сделать
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #367 - 08. Июля 2009 :: 08:00
Печать  
ПростоБосс писал(а) 07. Июля 2009 :: 16:45:
trad!
Слушай, а таблица так и должна мигать при выводе каждого рисунка?
Мне кажется, что обновление таблицы должно происходить после метода Обновить(), а происходит после каждого применения метода СоздатьЭлементРисования()

попробуй
Цитата:
0.1.0.35
(08.07.2009)
Расширен синтаксис метода МенеджерТабличногоДокумента::СоздатьЭлементРисования

два новых параметра:

Обновить - тип: Число. 1 - автообновления таблицы после создания элемента рисования. 0 - автообновления нет. Необязателный. Значение по-умолчанию 1.
Выделить - тип: Число. 1 - выделить элемента рисования после создания. 0 - не выделять. Необязателный. Значение по-умолчанию 1.

http://infostart.ru/projects/4198/
  

1&&2&&3
Наверх
 
IP записан
 
ПростоБосс
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Местоположение: г.Родники
Зарегистрирован: 06. Июля 2009
Пол: Мужской
Re: TableDoc
Ответ #368 - 08. Июля 2009 :: 09:06
Печать  
trad писал(а) 08. Июля 2009 :: 08:00:
попробуй
Цитата:
0.1.0.35
(08.07.2009)
Расширен синтаксис метода МенеджерТабличногоДокумента::СоздатьЭлементРисования

два новых параметра:

Обновить - тип: Число. 1 - автообновления таблицы после создания элемента рисования. 0 - автообновления нет. Необязателный. Значение по-умолчанию 1.
Выделить - тип: Число. 1 - выделить элемента рисования после создания. 0 - не выделять. Необязателный. Значение по-умолчанию 1.

http://infostart.ru/projects/4198/

Дмитрий, отлично! Большое тебе человеческое спасибо!
  
Наверх
 
IP записан
 
AllAG
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #369 - 16. Июля 2009 :: 06:15
Печать  
Здраствуй ,trad, подскажи пожалуйста, можно ли в таблице ограничить область выделения, например мне нужно что бы в строке 2 не выделялись 2 и 3 столбец?  
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #370 - 16. Июля 2009 :: 06:40
Печать  
Можно попробовать в событии ПриИзмененииВыделения получить ТЗ выделенных областей методом ПолучитьВыделенные.
Обработать ТЗ исключив из нее ненужные области и ВыделитьПоТЗ.

ps
сам не пробовал
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #371 - 16. Июля 2009 :: 06:47
Печать  
второй способ
Использовать клавиатурные и мышиные события. Сбросом ФСО - не допускать ненужной навигации.
Но не понятно какое тебе нужно поведение например при выделении всей строки 2 или всей колонки 3.
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #372 - 16. Июля 2009 :: 06:54
Печать  
Всю колонку выделять точно не прийдется, да и строку пока нет.
Первый метод у меня примерно работает, но не совсем устраевать, т.к. юзеры могут захватить не нужную область.
При втором способе прийдется отслеживать координаты курсора?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #373 - 16. Июля 2009 :: 07:33
Печать  
AllAG писал(а) 16. Июля 2009 :: 06:54:
При втором способе прийдется отслеживать координаты курсора?

непосредственно в обработчике можно поиметь
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #374 - 16. Июля 2009 :: 07:43
Печать  
Для ограничения прийдется писать Х и У ограничения? Или как-то иначе?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #375 - 16. Июля 2009 :: 08:31
Печать  
AllAG писал(а) 16. Июля 2009 :: 07:43:
Для ограничения прийдется писать Х и У ограничения? Или как-то иначе?

не нужно отслеживать движение мыши. нужно только нажатия кнопок мыши и нажатия клавишь клавиатуры.
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #376 - 16. Июля 2009 :: 08:52
Печать  
Например, ПриОтжатииЛевойКнопки, не совсем подойдет, т.к. юзер опять же сможет выделить запретные ячейки, или я не прав?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #377 - 16. Июля 2009 :: 09:30
Печать  
пример
  

1_004.ert ( 10 KB | Загрузки )

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #378 - 16. Июля 2009 :: 09:58
Печать  
Ок, спасибо
  
Наверх
 
IP записан
 
AllAG
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #379 - 17. Августа 2009 :: 08:54
Печать  
Здраствуй, Trad.
У меня при печати и  работе с печатными формами документов,  вылетает 1с с ошибкой на tabledoc, причем в этих документах он не используеться, что может быть?
p.s. в журнале регистраций он ругаеться на таблицу получитьвыделенные().
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #380 - 17. Августа 2009 :: 10:29
Печать  
информации мало.
AllAG писал(а) 17. Августа 2009 :: 08:54:
в журнале регистраций он ругаеться на таблицу получитьвыделенные().

приведи хотябы текст ошибки.
где вызывается этот метод? в обработчике события или нет?
падает сразу после ошибки?
падает всегда или иногда?
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #381 - 17. Августа 2009 :: 10:47
Печать  
Ошибка:
тз.ВыбратьСТроки(); значение не представляет агрегатный объект.
Событие:
Ошибка времени выполнения.

Строки находяться в обработке,причем сама обработка работает нормально, а вылет происходит при печати табличной части документа, в котором это вообще не используется. Вылетает очень часто и сразу , но не всегда.
А как сам код вставить?
« Последняя редакция: 17. Августа 2009 :: 11:52 - AllAG »  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #382 - 17. Августа 2009 :: 11:58
Печать  
так все таки ошибка на получитьвыделенные() или тз.ВыбратьСТроки()?
и версия какая?
  

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


1C++ rocks!

Сообщений: 15
Зарегистрирован: 16. Июня 2009
Re: TableDoc
Ответ #383 - 17. Августа 2009 :: 12:02
Печать  
Версию последнюю ставил(начало июля).
Ошибка тз.ВыбратьСТроки(), но тз=менеджер.ПолучитьВыделенные(), в процедуре менеджерТаблДокПриИзмененииВыделения()
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #384 - 17. Августа 2009 :: 12:13
Печать  
AllAG писал(а) 17. Августа 2009 :: 12:02:
Версию последнюю ставил(начало июля).
ну неужели так трудно посмотреть? Улыбка в июле было два релиза и оба в начале.
0.1.0.35
=====================================================================
(08.07.2009)
     - Расширен синтаксис метода `МенеджерТабличногоДокумента::СоздатьЭлементРисования`_

0.1.0.34
=====================================================================
(07.07.2009)
     - Исправлена работа метода МенеджерТабличногоДокумента::Обновить в зафиксированных областях таблицы


Цитата:
Ошибка тз.ВыбратьСТроки(), но тз=менеджер.ПолучитьВыделенные()
Озадачен это как?
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #385 - 17. Августа 2009 :: 12:25
Печать  
загрузи дебаг-сборку после падения посмотри и сообщи мне адрес ошибки.
  

TableDoc.rar ( 78 KB | Загрузки )

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Колонтитулы
Ответ #386 - 02. Октября 2009 :: 05:57
Печать  
Вопрос к автору компоненты - возможно-ли как-то с ее помощью добраться до колонтитулов Таблицы (чтение/запись)? Первично вопрос задал не я, это вот отсюда http://www.1cpp.ru/forum/YaBB.pl?num=1252575303 но меня эта проблема так-же давно интересует...
Если это невозможно в текущей версии, то насколько сложно добавить в будущем? Просто мне показалось что это наиболее близкая к данной проблеме компонента  Улыбка
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Колонтитулы
Ответ #387 - 02. Октября 2009 :: 06:32
Печать  
avgreen писал(а) 02. Октября 2009 :: 05:57:
Вопрос к автору компоненты - возможно-ли как-то с ее помощью добраться до колонтитулов Таблицы (чтение/запись)?
Теоретически да. Я как то проходил мимо них в структуре данных таблицы. Посмотрю что можно будет сделать.
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Колонтитулы
Ответ #388 - 05. Октября 2009 :: 05:36
Печать  
trad писал(а) 02. Октября 2009 :: 06:32:
avgreen писал(а) 02. Октября 2009 :: 05:57:
Вопрос к автору компоненты - возможно-ли как-то с ее помощью добраться до колонтитулов Таблицы (чтение/запись)?
Теоретически да. Я как то проходил мимо них в структуре данных таблицы. Посмотрю что можно будет сделать.

Это было-бы просто чудесно!  Очень довольный Ждем с нетерпением!!!
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #389 - 28. Октября 2009 :: 10:22
Печать  
ну вот и колонтитулы подвластны нам Улыбка

0.1.0.36 (28.10.2009)
  • МенеджерТабличногоДокумента - Добавлен метод Колонтитул
  • Добавлен класс Колонтитул

TableDoc
« Последняя редакция: 28. Октября 2009 :: 11:34 - trad »  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: TableDoc
Ответ #390 - 27. Ноября 2009 :: 14:20
Печать  
trad писал(а) 28. Октября 2009 :: 10:22:
ну вот и колонтитулы подвластны нам Улыбка

0.1.0.36 (28.10.2009)
  • МенеджерТабличногоДокумента - Добавлен метод Колонтитул
  • Добавлен класс Колонтитул

TableDoc

Почему-то не сработало Печаль
Пишу следующее ....
Код
Выбрать все
	МенеджерТД = СоздатьОбъект("МенеджерТабличногоДокумента");
	МенеджерТД.УстановитьТаблицу(ТаблицаПечати);
	ВерхнийКолонтитул = МенеджерТД.Колонтитул(0);
	ВерхнийКолонтитул.Текст = "Всяка фигня!!!!";
	Сообщить(ВерхнийКолонтитул.Текст);
	ВерхнийКолонтитул.Выводить = 1;
	ВерхнийКолонтитул.НачальнаяСтраница = 1;
	ТаблицаПечати.ПараметрыСтраницы(,,,,,5,5,5,5);
 


Нигде не ругается, Сообщить() соответсвенное сообщает то что было присвоено, но на печать колонтитулы не выводятся и в Таблица->Колонтитул->Верхний пусто!
Что я делаю не так?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #391 - 28. Ноября 2009 :: 07:06
Печать  
avgreen писал(а) 27. Ноября 2009 :: 14:20:
Нигде не ругается, Сообщить() соответсвенное сообщает то что было присвоено, но на печать колонтитулы не выводятся и в Таблица->Колонтитул->Верхний пусто!

подтверждаю.
буду посмотреть.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #392 - 28. Ноября 2009 :: 08:17
Печать  
Работать с колонтитулом выходной таблицы имеет смысл только после метода Таблица.Показать().
Т.к. при выполнении именно этого метода происходит вывод колонтитула из макета в выходную таблицу. Тем самым заменяется колонтитул который сформирован программно тобой до вызова метода Показать().

ps
Видимо необходим метод МенеджерТД.КолонтитулМакета()
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #393 - 28. Ноября 2009 :: 09:39
Печать  
trad писал(а) 28. Ноября 2009 :: 08:17:
Видимо необходим метод МенеджерТД.КолонтитулМакета()
сделано

0.1.0.37 (28.11.2009)
  • МенеджерТабличногоДокумента - Добавлен метод КолонтитулМакета

TableDoc
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: TableDoc
Ответ #394 - 28. Ноября 2009 :: 21:30
Печать  
trad писал(а) 28. Ноября 2009 :: 09:39:
trad писал(а) 28. Ноября 2009 :: 08:17:
Видимо необходим метод МенеджерТД.КолонтитулМакета()
сделано

0.1.0.37 (28.11.2009)
  • МенеджерТабличногоДокумента - Добавлен метод КолонтитулМакета

TableDoc

УРА!!! Заработало!!!! (С) Кот Матроскин......   Улыбка
Пасиб огромный!!!! Очень довольный
  
Наверх
ICQ  
IP записан
 
merdam
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 01. Декабря 2009
Re: TableDoc
Ответ #395 - 01. Декабря 2009 :: 19:21
Печать  
каким образом можно задать пояснение к ячейке и выводить это пояснение в всплывающем окошке как в excel?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #396 - 02. Декабря 2009 :: 05:32
Печать  
merdam писал(а) 01. Декабря 2009 :: 19:21:
каким образом можно задать пояснение к ячейке и выводить это пояснение в всплывающем окошке как в excel?
Такого функционала в tabledoc нет.
Посмотри в сторону проекта йоксель. Может быть там есть.
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: TableDoc
Ответ #397 - 02. Декабря 2009 :: 19:39
Печать  
merdam писал(а) 01. Декабря 2009 :: 19:21:
каким образом можно задать пояснение к ячейке и выводить это пояснение в всплывающем окошке как в excel?

Это не сюда, это вот сюда RToolTips.dll http://www.1cpp.ru/forum/YaBB.pl?num=1193602020/38#38
Жаль она уже давно не развивается Печаль
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: TableDoc
Ответ #398 - 05. Марта 2010 :: 17:52
Печать  
Маленький вопросик. Хотел в элемент управления на форме загрузить уже заполненную другой обработкой таблицу через "УстановитьТаблицу". Чёт не выходит каменный цветок. Таблица большая, поэтому через сохранение не хотелось делать.
Код
Выбрать все
табл=СоздатьОбъект("Таблица");
табл.Вывести();
_Форма= СоздатьОбъект("Форма");
_Форма.УстановитьФорму(Форма);
ЭкрТаблица= _Форма.СоздатьЭлементУправления("ПолеТабличногоДокумента",Форма.рЭкрТаблица);
ЭкрТаблица.Менеджер.УстановитьТаблицу(табл);
ЭкрТаблица.Менеджер.Обновить(); 


  
Наверх
ICQ  
IP записан
 
Boog
Junior Member
**
Отсутствует



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc
Ответ #399 - 11. Марта 2010 :: 10:31
Печать  
Эта тема живая? Не получается прочитать страницы после 22-й.
Уважаемые админы, восстановите пожалуйста тему. Если это невозможно, то как-то реанимируйте её.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #400 - 16. Марта 2010 :: 12:02
Печать  
починил
  
Наверх
www  
IP записан
 
Kondarat
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: TableDoc
Ответ #401 - 20. Мая 2010 :: 11:16
Печать  
И всетаки есть ли возможность в ПолеТабличногоДокумента отобразить уже подготовленную и заполненную таблицу?
Если есть, то как?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #402 - 20. Мая 2010 :: 11:55
Печать  
Kondarat писал(а) 20. Мая 2010 :: 11:16:
И всетаки есть ли возможность в ПолеТабличногоДокумента отобразить уже подготовленную и заполненную таблицу?
Если есть, то как?

по моему можно сделать так (сам так всю цепочку не делал )

объектТаблица -->  ТабличныйДокумент(Йоксел) --> ТаблицаЗначений --> Отобразить в табличном поле.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #403 - 20. Мая 2010 :: 12:20
Печать  
Kondarat писал(а) 20. Мая 2010 :: 11:16:
И всетаки есть ли возможность в ПолеТабличногоДокумента отобразить уже подготовленную и заполненную таблицу?
Если есть, то как?

попробуй
Цитата:
Из последнего:
0.1.0.38 (11.03.2010)
МенеджерТабличногоДокумента :: Таблица - r/w

http://infostart.ru/public/20089/
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #404 - 20. Мая 2010 :: 12:24
Печать  
Z1
ПолеТабличногоДокумента и ТабличноеПоле - разные вещи.
  

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


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #405 - 20. Мая 2010 :: 12:41
Печать  
trad писал(а) 20. Мая 2010 :: 12:24:
Z1
ПолеТабличногоДокумента и ТабличноеПоле - разные вещи.

понял.
как-то не так прочитал вопрос.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #406 - 20. Мая 2010 :: 12:44
Печать  
Z1 писал(а) 20. Мая 2010 :: 11:55:
Kondarat писал(а) 20. Мая 2010 :: 11:16:
И всетаки есть ли возможность в ПолеТабличногоДокумента отобразить уже подготовленную и заполненную таблицу?
Если есть, то как?

по моему можно сделать так (сам так всю цепочку не делал )

объектТаблица -->  ТабличныйДокумент(Йоксел) --> ТаблицаЗначений --> Отобразить в табличном поле.


объектТаблица -->  ТабличныйДокумент(Йоксел) --> ТабличныйДокумент.ЭлементУправления(Йоксел)

не знаю насколько  корректно предлагать такой вариант в этой ветке.
  
Наверх
 
IP записан
 
Kondarat
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: TableDoc
Ответ #407 - 20. Мая 2010 :: 14:50
Печать  
А как получить координаты текущей ячейки, чтобы вписать туда картинку?

Ну никак не получается.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #408 - 20. Мая 2010 :: 16:30
Печать  
Если быть точными, то нет текущей ячейки. Есть текущая (выделенная) область. Такой областью могут быть: ячейка, строка, колонка, таблица.
Для получения выделенной/выделенных областей есть метод МенеджерТабличногоДокумента::ПолучитьВыделенные
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #409 - 20. Мая 2010 :: 16:34
Печать  
Код
Выбрать все
Выделенные = Менеджер.ПолучитьВыделенные(1);
Выделенные.ПолучитьСтрокуПоНомеру(1);
Если Выделенные.ТипОбласти = 3 Тогда
  //координаты "текущей" ячейки
  ТекСтр = Выделенные.R1;
  ТекКол = Выделенные.C1;
КонецЕсли
 

  

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: TableDoc
Ответ #410 - 25. Мая 2010 :: 05:01
Печать  
trad, а нельзя ли докопаться до системных #P, #Q  и т.д., чтоб подменить их на свои ?
Т.е чтоб #P был с параметром, например - с какого нумера начинать нумерацию...

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #411 - 25. Мая 2010 :: 05:17
Печать  
Eprst писал(а) 25. Мая 2010 :: 05:01:
trad, а нельзя ли докопаться до системных #P, #Q  и т.д., чтоб подменить их на свои ?
Т.е чтоб #P был с параметром, например - с какого нумера начинать нумерацию...

Вчера смотрел. Процедура, в которой #P, #Q и т.п. заменяются на значения, не является экспортной. Если ее подменять то решение будет релизозависимым.
Можно попробовать перехватить другую процедуру (экспортную) из которой вызывается первая и там что-нибудь придумать. Но не вижу пока большого смысла тратить время.
  

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


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: TableDoc
Ответ #412 - 31. Мая 2010 :: 12:45
Печать  
А как вывести в отдельном окне на печать таблицу заполненную в поле табличного документа на форме.
Код
Выбрать все
		Таб = ПТД.Таблица;
		Таб.ТолькоПросмотр(1);
		Таб.Показать();
 



Так не выходит...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #413 - 31. Мая 2010 :: 13:14
Печать  
Kondarat писал(а) 31. Мая 2010 :: 12:45:
А как вывести в отдельном окне на печать таблицу заполненную в поле табличного документа на форме.

Один экземпляр объекта "Таблица" может отображаться только в одном окне.
Поэтому, чтобы сделать то что тебе нужно, нужно сделать копию экземпляра. Например через файл (записать/открыть)
  

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


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: TableDoc
Ответ #414 - 31. Мая 2010 :: 13:29
Печать  
trad писал(а) 31. Мая 2010 :: 13:14:
Kondarat писал(а) 31. Мая 2010 :: 12:45:
А как вывести в отдельном окне на печать таблицу заполненную в поле табличного документа на форме.

Один экземпляр объекта "Таблица" может отображаться только в одном окне.
Поэтому, чтобы сделать то что тебе нужно, нужно сделать копию экземпляра. Например через файл (записать/открыть)


Спасибо за скорый ответ. В принципе просмотр печати и печать стандартными кнопками работает.
А вот Сохранить/Сохранить как стандартно нет. Или так и должно быть?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #415 - 31. Мая 2010 :: 14:03
Печать  
Kondarat писал(а) 31. Мая 2010 :: 13:29:
А вот Сохранить/Сохранить как стандартно нет. Или так и должно быть?

эта возможность появилась в версии 0.1.0.13 (23.02.2008)

ps
Напомню, текущая версия уже 0.1.0.38 (11.03.2010)
  

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


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: TableDoc
Ответ #416 - 10. Августа 2010 :: 09:56
Печать  
стесняюсь спросить.
а ссылок для скачивания (последнего релиза, алс-а, демки) НЕ на инфостарте - не найдётся?..
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #417 - 10. Августа 2010 :: 10:32
Печать  
dll и документация chm только на ИС
als - нет
несколько демок тут:
змейка http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/159#159
тетрис http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/160#160
маус-колесо http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/273#273
клава http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/298#298
если какие то проблемы со скачиванием с ИС могу выложить разово в другое место
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #418 - 26. Октября 2010 :: 12:33
Печать  
Поймал глюк непонятный с обработкой событий..

Сначала думал, что я обработчик неправильно прописал, потом удалось поймать..

В тестовой конфе при старте открывается внешняя обработка, в ней нужно щелкнуть на ячейке "Меню", выбрать единственный пункт, откроется другая внешняя обработка, в ней нужно щелкнуть в ячейке, сработает обработчик события "ОбработкаЯчейкиТаблицы" от tabledoc, затем закрыть обработку и снова через выбор из меню по щелчку на ячейке "Меню" открыть.
Теперь при щелчке на ячейке срабатывает стандартный обработчик..
Что то не пойму - что я сделал не так?

Уважаемый trad, если будет время, может глянешь?
Заранее спасибо.

Сори, забыл указать:
icpp.dll (3.0.1.25)
formex.dll (2.0.5.93 beta)
tabledoc.dll (0.1.1.38)
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #419 - 26. Октября 2010 :: 13:51
Печать  
CaBaT писал(а) 26. Октября 2010 :: 12:33:
Поймал глюк непонятный с обработкой событий..

исправил
http://infostart.ru/public/20089/
  

1&&2&&3
Наверх
 
IP записан
 
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 записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #435 - 12. Мая 2011 :: 03:26
Печать  
Можно и забить.

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #436 - 12. Мая 2011 :: 04:42
Печать  
я вот обратил внимание на то, что штатная таблица на форме в модальном режиме вообще не отображается.
мэйби, ОНИ, тоже решили "забить" на что то ?..
  

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


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #437 - 12. Мая 2011 :: 05:05
Печать  
Штатная прицепленная к форме?
да, есть такая фигня (собственно, потому в TableDoc и полез).

1Ска вообще себя не слишком адекватно ведет при модальных формах...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #438 - 12. Мая 2011 :: 05:44
Печать  
Satans Claws писал(а) 12. Мая 2011 :: 05:05:
1Ска вообще себя не слишком адекватно ведет при модальных формах...

Как мне кажется это от того, что форма обычная построена на mfc-шном фрейме, а форма модальная на mfc-шном диалоге.
Отличие в поведение этих классов достаточное, что бы это проявилось.

+
И отображение вью (коим является таблица) на диалоге, дело не благодарное.
  

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



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc
Ответ #439 - 25. Мая 2011 :: 22:56
Печать  
Уважаемый trad, можно ли переопределить исходную таблицу для таблицы, живущей внутри ПоляТабличногоДокумента? 1С не находит таблицу в обработке и пытается искать файл.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #440 - 25. Мая 2011 :: 23:21
Печать  
версии библиотек:
1с++
formex?

если есть formex то попробуй его не загружать
если 1с++ 3.х, то попробуй сбросить настройку: EnableTableSourceTable
  

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



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc
Ответ #441 - 25. Мая 2011 :: 23:41
Печать  
1С++: 3.2.3.10
FromEx 2.0.5.101

EnableTableSourceTable отключил - не помогло.
FormEx отключить не могу - у меня без него система не стартанёт.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #442 - 26. Мая 2011 :: 00:06
Печать  
хм Озадачен

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

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


- работает

Можно тестовый пример?
  

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



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc
Ответ #443 - 26. Мая 2011 :: 00:08
Печать  
Первый раз - работает! Нельзя именно переопределить! Второй раз дать этой же таблице другую исходную таблицу!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #444 - 26. Мая 2011 :: 00:14
Печать  
добавил кнопку и код:
Код
Выбрать все
Процедура Сформировать()
	гТД.Таблица.ИсходнаяТаблица("Таблица");
	гТД.Таблица.Вывести();
	гТД.Таблица.Показать();
КонецПроцедуры
 


- тоже работает
  

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


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Февраля 2010
Пол: Мужской
Re: TableDoc
Ответ #445 - 27. Мая 2011 :: 04:50
Печать  
Есть ли возможность перебрать коллекцию именованых областей таблице (или выгрузить их в список/таблицу) подобно Таблица.Выгрузить()
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #446 - 27. Мая 2011 :: 04:58
Печать  
Boog писал(а) 26. Мая 2011 :: 00:08:
Первый раз - работает! Нельзя именно переопределить! Второй раз дать этой же таблице другую исходную таблицу!

У меня было что то похожее, но так и не понял точно, в какой момент и что не нравится..
Но тоже при назначении исходной таблицы повторно ругался..
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #447 - 30. Мая 2011 :: 03:18
Печать  
У меня один объект использует 4 или 5 исходных таблиц - все ок.


Код
Выбрать все
оТабПоле.Таблица.Очистить(); 


перед
Код
Выбрать все
оТабПоле.Таблица.ИсходнаяТаблица("ИмяТаблицы"); 


не забываешь?


Хотя, если ругается именно на то, что "файл не найден"...
такое бывает даже без ТейблДока - с дефолтном объектом "Таблица".
Я знаю только один способ лечения - создать новый макет в обработке, копипастом перенести в него все из старого, а старый грохнуть.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #448 - 03. Июня 2011 :: 09:47
Печать  
sava писал(а) 27. Мая 2011 :: 04:50:
Есть ли возможность перебрать коллекцию именованых областей таблице (или выгрузить их в список/таблицу) подобно Таблица.Выгрузить()

пожелание еще в силе?
  

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


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #449 - 06. Июня 2011 :: 05:26
Печать  
trad писал(а) 03. Июня 2011 :: 09:47:
sava писал(а) 27. Мая 2011 :: 04:50:
Есть ли возможность перебрать коллекцию именованых областей таблице (или выгрузить их в список/таблицу) подобно Таблица.Выгрузить()

пожелание еще в силе?


На самом деле - да.
  
Наверх
 
IP записан
 
sava
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Февраля 2010
Пол: Мужской
Re: TableDoc
Ответ #450 - 07. Июня 2011 :: 04:46
Печать  
Двумя руками за - необходимость жестокая !!!!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #451 - 28. Июня 2011 :: 17:39
Печать  
Про доступ к именованным областям.
К сожалению у меня не получилось вскрыть ларец полностью Печаль

Проблема из этой оперы: http://www.1cpp.ru/forum/YaBB.pl?num=1174798085
  

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


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Февраля 2010
Пол: Мужской
Re: TableDoc
Ответ #452 - 29. Июня 2011 :: 10:57
Печать  
Жаль. Придется решать криво Смущённый
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #453 - 11. Августа 2011 :: 06:27
Печать  
А нет ли случайно способа изменить цвет фона таблицы по умолчанию?
У меня тут кое-какие интерфейсные задачи реализована на базе tabledoс, но все оформление выстроено из расчета серого цвета фона (не люблю белый фон - слишком контрастно)
Соответственно, когда пользователи запускают базу со своими настройками, выглядит все не совсем красиво..
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #454 - 11. Августа 2011 :: 06:28
Печать  
вариант с белым фоном
  

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


I Love YaBB 2!

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



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

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #457 - 11. Августа 2011 :: 07:06
Печать  
подходит, но вот незадача - используемого цвета нет в стандартной палитре..
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #458 - 11. Августа 2011 :: 07:34
Печать  
напрашивается метод ОбластьМакета()
я прав?
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #459 - 11. Августа 2011 :: 09:14
Печать  
да, наверное что то в этом духе..
тут главное что - что бы можно было переопределить дефолтные настройки не сбрасывая фон ячеек, установленный явно..
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #460 - 12. Августа 2011 :: 02:50
Печать  
Ммм... а тупо в лоб?

Для й = 1 По Таб.ВысотаТаблицы() Цикл
Для ц = 1 По Таб.ШиринаТаблицы() Цикл
Обл = Таб.Область(й, ц);
Если Обл.ЦветФона = ДефолтныйЦвет Тогда
Обл.ЦветФона = НужныйЦвет;
КонецЕсли;
КонецЦикла;
КонецЦикла;

В принципе, не так долго будет отрабатывать даже на крупных таблицах (>1000 строк).
Ну и попытаться как-нить оптимизировать... скажем, если по цвету первой ячейки можно определить - нужно ли перекрашивать строку (или столбец), или нет.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #461 - 12. Августа 2011 :: 03:15
Печать  
наверно не очень будет красиво когда высота/ширина меньше видимого размера
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #462 - 12. Августа 2011 :: 05:18
Печать  
Satans Claws писал(а) 12. Августа 2011 :: 02:50:
Ммм... а тупо в лоб?

Это первое что пришло в голову Улыбка
Пробовать не стал:
1. как то не "красиво"
2. скорее всего будет видно мелькание (наверное решаемо)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #463 - 12. Августа 2011 :: 05:49
Печать  
вариация на тему:
Код
Выбрать все
Процедура УстановитьЦветФонаТаблиц(Таб, ЦветФона)
	Менеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
	Менеджер.УстановитьТаблицу(Таб);

	//Запомним боевую раскрасу
	Сп=СоздатьОбъект("СписокЗначений");
	//..раскраску колонок
	Для Кол=1 По Таб.ШиринаТаблицы() Цикл
		Обл=Менеджер.Область(,Кол,,Кол);
		Цвет=Обл.ЦветФонаРасш();
		Если Цвет>-1 Тогда
			Сп.ДобавитьЗначение(Обл,Цвет);
		КонецЕсли;
	КонецЦикла;
	//..раскраску строк
	Для Стр=1 По Таб.ВысотаТаблицы() Цикл
		Обл=Менеджер.Область(Стр,,Стр,);
		Цвет=Обл.ЦветФонаРасш();
		Если Цвет>-1 Тогда
			Сп.ДобавитьЗначение(Обл,Цвет);
		КонецЕсли;
	КонецЦикла;
	//..раскраску ячеек
	Для Стр=1 По Таб.ВысотаТаблицы() Цикл
		Для Кол=1 По Таб.ШиринаТаблицы() Цикл
			Обл=Менеджер.Область(Стр,Кол);
			Цвет=Обл.ЦветФонаРасш();
			Если Цвет>-1 Тогда
				Сп.ДобавитьЗначение(Обл,Цвет);
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;

	//Установим цвет таблицы
	Обл=Менеджер.Область();
	Обл.ЦветФонаРасш(ЦветФона);

	//Восстановим раскраску
	Цвет="";
	Для Тек=1 По Сп.РазмерСписка() Цикл
		Обл=Сп.ПолучитьЗначение(Тек,Цвет);
		Обл.ЦветФонаРасш(Число(Цвет));
	КонецЦикла;

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

Процедура Сформировать()
	УстановитьЦветФонаТаблиц(гТД.Таблица, 7006664);
КонецПроцедуры
 



красиво
не мелькает
на большой таблице тормозит
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #464 - 12. Августа 2011 :: 06:19
Печать  
trad писал(а) 12. Августа 2011 :: 05:49:
вариация на тему:
...
красиво
не мелькает
на большой таблице тормозит

Спасибо, попробую - таблички не очень большие (где то 40*7), может и не будет особо тормозить Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #466 - 12. Августа 2011 :: 06:32
Печать  
CaBaT писал(а) 12. Августа 2011 :: 06:27:
С позволения автора добавлю в свою библиотечку сервисных классов?  Подмигивание
да, конечно
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #467 - 12. Августа 2011 :: 06:37
Печать  
Цвет таки правда все равно ставит не совсем такой, как у фона в системе..
Ну да ладно, хотя бы можно к единообразному виду привести на любой системе..
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #468 - 12. Августа 2011 :: 06:50
Печать  
CaBaT писал(а) 12. Августа 2011 :: 06:37:
Цвет таки правда все равно ставит не совсем такой, как у фона в системе..

Потому что:
Цитата:
Расширенная область таблицы :: ЦветФонаРасш/BackgroundColorExt

Идентичен штатному методу ОбластиТаблицы ЦветФона, за исключением того, что цвет устанавливается из палитры в 256 цветов.

Описание: Устанавливает и получает цвет фона из палитры в 256 цветов.

См.: Доступную палитру цветов.
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #469 - 12. Августа 2011 :: 06:52
Печать  
В общем вот что получается, в принципе годится
(остается небольшой артефакт в месте, где вставлен toolbar)
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #470 - 12. Августа 2011 :: 07:08
Печать  
По поводу изменения цвета фона по умолчанию.
Цвет фона таблицы задан в коде moxel.dll константой COLOR_WINDOW (номер системного цвета окна).
Лезть в память dll желания нет, т.к. релизозависимая корявка.
Меняй системный цвет окна в дополнительном оформлении винды.
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #471 - 12. Августа 2011 :: 07:18
Печать  
trad писал(а) 12. Августа 2011 :: 07:08:
Лезть в память dll желания нет, т.к. релизозависимая корявка.
Меняй системный цвет окна в дополнительном оформлении винды.

Это разумно..
А проблема по сути не такая уж критичная - просто люблю когда решение красиво как по содержанию, так и по внешнему виду..  Класс
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #472 - 17. Августа 2011 :: 09:36
Печать  
кстати, появилась одна идея...
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #473 - 17. Августа 2011 :: 09:47
Печать  
интересно!
(все таки красить из кода как то не комильфо)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #474 - 18. Августа 2011 :: 07:17
Печать  
сегодня постараюсь допилить:
TableDocManager :: DefaultBackColor / ЦветФонаПоУмолчанию
TableDocManager :: DefaultTextColor / ЦветТекстаПоУмолчанию
TableDocManager :: DefaultFrameColor / ЦветРамкиПоУмолчанию
  

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


I Love YaBB 2!

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #476 - 18. Августа 2011 :: 13:27
Печать  
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #477 - 19. Августа 2011 :: 05:38
Печать  
Вот класс! Пошел тестить  Улыбка

...
Черт, да что же за напасть..
Тестовый пример работает, а в вставленный тот же код в метод моего класса - нет..

...
А, понял, в чем загвоздка:

У меня есть класс-наследник от МенеджерТабличногоДокумента.
Он отвечает за все действия по отображению данных в таблице.
В его методе обновления данных вызывался метод "УстановитьЦветФона" сервисного класса "Система.Таблица", где создавался свой объект "МенеджерТабличногоДокумента" и с помощью него производилась установка цвета фона (раньше с помощью кода из http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/463#463, сегодня - с помощью нового атрибута "ЦветФонаПоУмолчанию"

После этого исходный объект сам себя обновлял, и видимо при этом настройка цвета фона слетает..

Перенес установку цвета фона в метод обновления исходного менеджера - вроде заработало  Улыбка

Кстати, для сравнения провел замер скорости - на самом деле не так уж много времени тартилось на раскраску - на таблице 10*200 строк всего порядка 100мс..
Попробую в терминале посмотреть - может там как то по другому получится
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #478 - 19. Августа 2011 :: 07:03
Печать  
Цитата:
Кстати, для сравнения провел замер скорости - на самом деле не так уж много времени тартилось на раскраску
в новом способе время на раскраску как бы совсем не тратится, там просто подменяется определение системного цвета
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #479 - 19. Августа 2011 :: 07:06
Печать  
Кстати, подменяется цвет только для экранного SheetGDI.
Для принтерного делать не стал, т.к. цвет фона почему то не срабатывает, хотя цвет текста и рамок - вполне. (разбираться не захотелось)
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #480 - 19. Августа 2011 :: 07:10
Печать  
Цитата:
У меня есть класс...
...где создавался свой объект "МенеджерТабличногоДокумента" и с помощью него производилась установка цвета фона
в том все и дело, что подмена цвета действует, пока Менеджер "жив". Твой временный менеджер "умирал" и забирал с собою перехват.
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #481 - 19. Августа 2011 :: 07:13
Печать  
Ага, поправил уже во всех классах Улыбка
Пока на терминале не протестировал - база в работе, не заменить компоненту..
Попробую на копии сравнить скорость.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #482 - 19. Августа 2011 :: 07:52
Печать  
Похоже, что по скорости работало все вполне неплохо, но в любом случае - большое спасибо, все таки это решение более правильное. Класс
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #483 - 05. Сентября 2011 :: 08:02
Печать  
Я туплю, или программное управление колонтитулами только через сабжевую компоненту?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #484 - 05. Сентября 2011 :: 08:34
Печать  
не тупишь
  

1&&2&&3
Наверх
 
IP записан
 
Отражение луны
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 7
Зарегистрирован: 11. Ноября 2011
Re: TableDoc
Ответ #485 - 11. Ноября 2011 :: 11:10
Печать  
http://www.1cpp.ru/forum/YaBB.pl?num=1321003926/0#4 - проблема с tabledoc. Сори что оздал отдельную так как еще не ориентируюсь на форуме. Был бы очень рад помощи.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #486 - 11. Ноября 2011 :: 11:34
Печать  
попробуй так:

Процедура ОбработкаЯчейкиТаблицы(ПЗначение)
    МенеджерТаблицы="";
    Таб.Показать(,,-1);
...
КонецПроцедуры
  

1&&2&&3
Наверх
 
IP записан
 
Отражение луны
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 7
Зарегистрирован: 11. Ноября 2011
Re: TableDoc
Ответ #487 - 11. Ноября 2011 :: 11:40
Печать  
Первое что попробовал. Так же пробовал создавать новую таблицу и прописывать её в менеджере.
  
Наверх
 
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: TableDoc
Ответ #488 - 28. Июня 2013 :: 11:09
Печать  
При редактиовании ячейки без защиты (т.е. когда после двойного клика текст в ячейке выделяется синеньким), при попытке "ткнуть" мышью в центр текста режим редактирования сбрасывается. Если двигаться стрелками - всё нормально.
Это нормально или я чего не так делаю?
  
Наверх
 
IP записан
 
tvt
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 22. Июля 2015
Re: TableDoc
Ответ #489 - 26. Августа 2015 :: 13:26
Печать  
Доброе время суток.

Вопрос очень древний: Есть несколько файлов *.mxl. Как их вывести в одну таблицу?

Неделю читаю инет, ответа не нашел.
Наиболее близкое предложение от "Uho" на "Волшебном Форуме" , но такое решение не учитывает объединение нескольких ячеек и наложенные объекты (Картинка, диаграмма и т.д.)

Есть три варианта добавления:
- добавление строк;
- добавление столбцов;
- добавление строк и столбцов.

Как можно данную задачу решить используя компоненту "TableDoc"?

P. S.: Найденное мною решение предполагает наличие секций в файле *.mxl на всю ширину и высоту таблицы. Но я не смог программно научить задавать секции и сохранять файлы с указанными секциями. Может в  "TableDoc" есть возможность таблице задавать секции для последующего их сохранения в файлы *.mxl?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #490 - 26. Августа 2015 :: 14:24
Печать  
TableDoc не умеет создавать секции
  

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


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #491 - 26. Августа 2015 :: 18:40
Печать  
tvt писал(а) 26. Августа 2015 :: 13:26:
Вопрос очень древний: Есть несколько файлов *.mxl. Как их вывести в одну таблицу?

Видимо надо описание секций засунуть в расшифроку и применить
http://yoksel.net.ru/Ob'ektyVstroennogoJazyka/TablichnyjjDokument/Vstavit'Oblast...
trad, извини что не по теме, но если не умеет, приходится перенаправить на другую вк.
  
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #492 - 27. Августа 2015 :: 06:10
Печать  
Djelf, никаких проблем
  

1&&2&&3
Наверх
 
IP записан
 
tvt
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 22. Июля 2015
Re: TableDoc
Ответ #493 - 27. Августа 2015 :: 06:49
Печать  
Спасибо, Djelf, почитаю дома  Печаль, так как на работе yoksel.net.ru зарезан. Плачущий
trad, а TableDoc умеет "добавлять строки и столбцы" в таблицаОбщ из ТаблНом?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #494 - 27. Августа 2015 :: 07:46
Печать  
у менеджера есть не документированные и не дотестированные методы:
Insert
Delete
- имеют по 5 параметров.
Первые 4 такие же как у метода Обновить.
А вот про пятый нет информации, скорее всего это направление сдвига при вставке/удалении ограниченной прямоугольной области.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #495 - 27. Августа 2015 :: 07:47
Печать  
последний релиз 0.1.1.46
  

TableDoc.dll ( 178 KB | Загрузки )

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


1C++ rocks!

Сообщений: 16
Зарегистрирован: 28. Сентября 2015
Re: TableDoc
Ответ #496 - 30. Сентября 2015 :: 08:46
Печать  
А можно ли как-то сбросить выделение?

К примеру выделил две ячейки.
Нажал на кнопку и ничего не выделено.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



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

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


1C++ rocks!

Сообщений: 16
Зарегистрирован: 28. Сентября 2015
Re: TableDoc
Ответ #498 - 30. Сентября 2015 :: 11:30
Печать  
Скажите а при открытии таблицы визуально ничего не выделено. Но на самом деле R1C1, можно ли так сделать.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #499 - 30. Сентября 2015 :: 11:45
Печать  
Менеджер.Выделить(1,1);
  

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


1C++ rocks!

Сообщений: 16
Зарегистрирован: 28. Сентября 2015
Re: TableDoc
Ответ #500 - 30. Сентября 2015 :: 11:46
Печать  
trad писал(а) 30. Сентября 2015 :: 11:45:
Менеджер.Выделить(1,1);


Я имел ввиду что бы и не видно было что выделил 1, 1.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #501 - 30. Сентября 2015 :: 11:49
Печать  
bernc писал(а) 30. Сентября 2015 :: 11:30:
Скажите а при открытии таблицы визуально ничего не выделено. Но на самом деле R1C1, можно ли так сделать.

Как это ничего не выделено? визуально ячейка 1,1 обведена.
Тоже самое будет и после Менеджер.Выделить(1,1);
  

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


1C++ rocks!

Сообщений: 16
Зарегистрирован: 28. Сентября 2015
Re: TableDoc
Ответ #502 - 30. Сентября 2015 :: 11:55
Печать  
trad писал(а) 30. Сентября 2015 :: 11:49:
bernc писал(а) 30. Сентября 2015 :: 11:30:
Скажите а при открытии таблицы визуально ничего не выделено. Но на самом деле R1C1, можно ли так сделать.

Как это ничего не выделено? визуально ячейка 1,1 обведена.
Тоже самое будет и после Менеджер.Выделить(1,1);


В любом случае обводка будет видна?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #503 - 30. Сентября 2015 :: 12:12
Печать  
да
  

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


1C++ rocks!

Сообщений: 16
Зарегистрирован: 28. Сентября 2015
Re: TableDoc
Ответ #504 - 30. Сентября 2015 :: 12:26
Печать  
Спасибо за помощь!
  
Наверх
 
IP записан
 
DmSk
Junior Member
**
Отсутствует



Сообщений: 56
Местоположение: Барнаул
Зарегистрирован: 28. Марта 2008
Пол: Мужской
Re: TableDoc
Ответ #505 - 11. Января 2017 :: 03:27
Печать  
Добрый день,
подскажите пож, можно ли использовать возможности компоненты для таблиц загруженных в табличный документа Йокселя ?

СоздатьОбъект("ТабличныйДокумент");
ВремДокумент.ЗагрузитьИзТаблицы(Табл); 

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


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #506 - 11. Января 2017 :: 21:49
Печать  
DmSk писал(а) 11. Января 2017 :: 03:27:
Добрый день,
подскажите пож, можно ли использовать возможности компоненты для таблиц загруженных в табличный документа Йокселя ?

Только через файл mxl. Напрямую не получится.
  
Наверх
www  
IP записан
 
DmSk
Junior Member
**
Отсутствует



Сообщений: 56
Местоположение: Барнаул
Зарегистрирован: 28. Марта 2008
Пол: Мужской
Re: TableDoc
Ответ #507 - 12. Января 2017 :: 03:03
Печать  
Спасибо !
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #508 - 06. Февраля 2017 :: 07:29
Печать  
tabledoc_0_1_1_47.7z
Новая версия.

0.1.0.47
=====================================================================
(25.01.2017)
     - МенеджерТабличногоДокумента

           - Добавлено свойство ВыводНаПечать


ВыводНаПечать / EnablePrinting
---------------------------------------------------------------------
     **Доступ:** Чтение и запись.

     **Тип:** Число.

     **Описание:** 0 - запрет вывода на печать, 1 - вывод на печать разрешен
  

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


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #509 - 25. Мая 2018 :: 13:31
Печать  
Обнаружил баг у менеджера табличного документа:

Если сначала вызвать
Код (C++)
Выбрать все
МенеджерТабДок.ПолучитьСекциюМакета("Секция_1").Область(1,1,1,1)
 


то потом получение области самой таблицы (т.е. МенеджерТабДок.Область(1,1,1,1))  будет возвращать пустое значение. В обратную сторону работает так же.

Ситуация сохраняется до перезагрузки процесса, т.е. уничтожение экземпляря менеджера ничего не меняет. Печаль

Проверил на старых версиях которые удалось достать.
0.1.1.35 - Тут все ок.
0.1.1.45 - а тут уже не работает
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #510 - 07. Июня 2018 :: 12:40
Печать  
мдя, неприятный баг  Печаль
но, увы, вряд ли смогу починить
могу исходниками поделится если интересно
  

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


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #511 - 07. Июня 2018 :: 13:35
Печать  
trad писал(а) 07. Июня 2018 :: 12:40:
мдя, неприятный баг  Печаль
но, увы, вряд ли смогу починить
могу исходниками поделится если интересно


Очень интересно! Я бы с радостью поковырял.

И, пользуясь случаем, - спасибо огромное за компоненту!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #512 - 07. Июня 2018 :: 13:54
Печать  
  

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


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #513 - 07. Июня 2018 :: 14:14
Печать  
Спасибо! О результатах отпишусь.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #514 - 07. Июня 2018 :: 17:11
Печать  
Ух ты... Спасибо!
Рассекречивание /*секретных*/ разработок для клюшек, это замечательно!
  
Наверх
www  
IP записан
 
MadDAD
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #515 - 25. Июня 2018 :: 14:33
Печать  
trad писал(а) 07. Июня 2018 :: 13:54:


Нашел корень зла. Печалька была в CV7TableDocManager::GetAreaExt()

Код (C++)
Выбрать все
		if(CV7TableDocManager::m_nMethArea == -2)
			m_nMethArea = pCont->FindMethod("Area");
 



m_nMethArea  - один раз перетиралась на 0, и проверка на -2 больше не срабатывала. Для всех видов секций вызывалась "Область" макета. Для обычной секции соответственно контекст не возвращался.

Убрал вообще m_nMethArea из класса, вызываю pCont->FindMethod("Area") при каждом вызове метода.

Вот новая версия - https://cloud.mail.ru/public/2mzW/cuTbLt98N
  
Наверх
 
IP записан
 
Volodja
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 19. Июля 2019
Re: TableDoc
Ответ #516 - 19. Июля 2019 :: 04:21
Печать  
Почему при перерисовке табличного документа индексы элементов рисования меняются (увеличиваются)? можно как-то  обнулить этот счетчик?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #517 - 19. Июля 2019 :: 07:58
Печать  
Могу только предложить вам воспользоваться исходниками выше, или скооперироваться, например, с MadDAD.
Думаю, найти этот счетчик внутрях семерки вполне реально.
  

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


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #518 - 25. Июля 2019 :: 09:49
Печать  
Параметр RepeatRowFrom почему-то выдает значение на 1 меньше, чем установлено.

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

Функция ПовторитьСтрокиТаблицы(Таб,От,До)
	Перем Ориентация,ПарамТаб;
	ПарамТаб=ПараметрыТаблицы(Таб);
	Если ПарамТаб="" Тогда Возврат 0;КонецЕсли;
	спПарам = СоздатьОбъект("СписокЗначений");
	От=ПарамТаб.RepeatRowFrom;
	До=ПарамТаб.RepeatRowTo;
	Сообщить("ПовторитьСтрокиТаблицы() От="+От+" До="+До);
	Возврат 1;
КонецФункции

	Таб=СоздатьОбъект("Таблица");
	Таб.ПовторятьПриПечатиСтроки(2,3);
	От=0;До=0;
	ПовторитьСтрокиТаблицы(Таб,От,До);
 

  

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


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #519 - 25. Июля 2019 :: 10:10
Печать  
Кстати, если поставить Таб.ПовторятьПриПечатиСтроки(0,0), то RepeatRowFrom выдаст -1!
  

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


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #520 - 25. Июля 2019 :: 15:19
Печать  
Вопрос не по адресу Улыбка
Это то что выдает сама 1С, а не TableDoc.
В TableDoc только проброс этих параметров на чтение/запись без какой то обработки.
  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #521 - 28. Ноября 2019 :: 12:22
Печать  
Что-то не нашел способа - как определить, что ячейки объединены?

Нужно для решения задачи суммирования выделенных ячеек.
Области получаю через ПолучитьВыделенные().
Но, если среди выделенных были объединенные, то при переборе значения ячеек дублируются.
Пока я выкрутился так:

Код
Выбрать все
Для СчСтрок = ТзВыделенных.Верх По ТзВыделенных.Низ Цикл
	Для СчСтолбцов = ТзВыделенных.Лево По ТзВыделенных.Лево Цикл //Право //+Al 2019-11-27 13:57:50 Убрал Право, чтобы не суммировал по объединенным ячейкам 



Там, где выделено - было Право.

Если выделить один столбец, то всё красиво, но если начать выделять в одной строке, то тут - схема ломается.
Поэтому пока предложил сотрудникам выделять по одной ячейке в строке. Тогда работает.

Вот если бы был способ определить, является ячейка объединенной - то вопрос можно было бы решить.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #522 - 29. Ноября 2019 :: 12:09
Печать  
//*******************************************
Функция ЭтоПерваяЯчейкаОбъединения(Менеджер, Стр, Кол)
     
     Обл = Менеджер.Область(Стр, Кол); //область автоматом расширяется до всего объединения
     Если (Обл.Верх = Стр) И (Обл.Лево = Кол) Тогда
           Возврат 1;
     Иначе
           Возврат 0;
     КонецЕсли;

КонецФункции
  

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


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #523 - 02. Декабря 2019 :: 09:44
Печать  
О! Супер! Получилось! Спасибо огромное!
  

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


1C++ rocks!

Сообщений: 1
Зарегистрирован: 22. Января 2020
Re: TableDoc
Ответ #524 - 22. Января 2020 :: 12:47
Печать  
Подскажите, есть такая проблема.
Есть объект типа "Таблица". В него подгружается уже готовая таблица из файла. В первой строке таблицы находится элемент "Рамка с текстом". Необходимо его удалить и закрыть таблицу без показа. Можно ли это следать как-нибудь посредством TableDoc?
Не нашла другого способа удалить элемент рисования, кроме как используя Excel. Но хотелось бы обойтись без него.
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #525 - 02. Августа 2021 :: 10:30
Печать  
MadDAD, в твоей патченной версии (48) перестал работать метод ОбъектФорма.СоздатьЭлементУправления("ПолеТабличногоДокумента","ТП");

1С на нём валится. На 47й версии работает корректно.

Причем, что забавно - в режиме отладки - всё проходит корректно. Только в отладчике убираю точку останова - всё - валится.
  

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



Сообщений: 56
Местоположение: Ростов-на-Дону
Зарегистрирован: 25. Июля 2006
Пол: Мужской
Re: TableDoc
Ответ #526 - 09. Марта 2022 :: 11:14
Печать  
Подниму тему. Возник вопрос сохранения полученного мокселя в графический файл, bmp, например. Пробовал Йоксель.ТабличныйДокумент, в полученном файле отсутствуют картинки, внедренные методом менеджера табличного документа СоздатьЭлементРисования(4,Координаты,"BMP1C.Bmp1cCtrl.1",0,0).
« Последняя редакция: 09. Марта 2022 :: 13:37 - Утюг »  
Наверх
 
IP записан
 
Утюг
Junior Member
**
Отсутствует



Сообщений: 56
Местоположение: Ростов-на-Дону
Зарегистрирован: 25. Июля 2006
Пол: Мужской
Re: TableDoc
Ответ #527 - 21. Марта 2022 :: 14:53
Печать  
Вопрос снят
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: TableDoc
Ответ #528 - 23. Мая 2023 :: 14:46
Печать  
Добрый день!
Подскажите, можно ли с помощью этого класса "прыгнуть" в конец таблицы, чтобы добавить факсимиле печати?
Таблицы ведь разные получаются по длине.
Как "динамично" рассчитать координаты места вставки картинки с факсимиле?
  
Наверх
ICQ  
IP записан
 
zar
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Местоположение: Киров
Зарегистрирован: 17. Августа 2009
Пол: Мужской
Re: TableDoc
Ответ #529 - 24. Мая 2023 :: 17:39
Печать  
Зная конец таблицы можно перевести табличные координаты в пиксельные через метод "ТабличныеВПиксельные".
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать