Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) TableDoc: загрузка из таблицы (число прочтений - 5747 )
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
TableDoc: загрузка из таблицы
05. Марта 2010 :: 20:56
Печать  
Продублирую вопрос, основная ветка что-то отвалилась.

Хотел в элемент управления на форме загрузить уже заполненную другой обработкой таблицу через УстановитьТаблицу. Чёт не выходит каменный цветок. Таблица большая, поэтому через сохранение не хотелось делать.
[code]табл=СоздатьОбъект(Таблица);
табл.Вывести();
_Форма= СоздатьОбъект(Форма);
_Форма.УстановитьФорму(Форма);
ЭкрТаблица= _Форма.СоздатьЭлементУправления(ПолеТабличногоДокумента,Форма.рЭкрТаблица);
ЭкрТаблица.Менеджер.УстановитьТаблицу(табл);
ЭкрТаблица.Менеджер.Обновить(); [code]
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #1 - 09. Марта 2010 :: 07:55
Печать  
Chieftain писал(а) 05. Марта 2010 :: 20:56:
Хотел в элемент управления на форме загрузить уже заполненную другой обработкой таблицу через УстановитьТаблицу. Чёт не выходит каменный цветок.

УстановитьТаблицу - это метод менеджера, а не ПТД.
У ПТД свой встроенный экземпляр ТД. И свойство ПолеТабличногоДокумента::Таблица реализован как RO.
По сути что бы решить твою задачу нужно переписать компоненту в этой части (сделать свойство R/W)
  

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


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #2 - 09. Марта 2010 :: 09:32
Печать  
В общем в контексте задачи проблему решил путем добавления в рантайме нужного количества кнопок и созданием на них ЭУ ПТД
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #3 - 11. Марта 2010 :: 15:14
Печать  
trad писал(а) 09. Марта 2010 :: 07:55:
По сути что бы решить твою задачу нужно переписать компоненту в этой части (сделать свойство R/W)

сделал
можно потестить TableDoc bild 38 rc1
  

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


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #4 - 11. Марта 2010 :: 15:27
Печать  
trad писал(а) 11. Марта 2010 :: 15:14:
trad писал(а) 09. Марта 2010 :: 07:55:
По сути что бы решить твою задачу нужно переписать компоненту в этой части (сделать свойство R/W)

сделал
можно потестить TableDoc bild 38 rc1


На первый взгляд используемый у меня функцинал работает (а его не так уж и много)
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #5 - 11. Марта 2010 :: 16:29
Печать  
Chieftain писал(а) 11. Марта 2010 :: 15:27:
На первый взгляд используемый у меня функцинал работает (а его не так уж и много)

а создание нескольких кнопок на установку свойства Таблица заменил?
  

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



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #6 - 12. Марта 2010 :: 08:11
Печать  
Почему-то не работает такая конструкция:
Код
Выбрать все
	МенеджерТаблицы = СоздатьОбъект("МенеджерТабличногоДокумента");
    Координаты = СоздатьОбъект("SheetRect");

	Таб = СоздатьОбъект("Таблица");
	МенеджерТаблицы.УстановитьТаблицу(Таб,Форма);
	Координаты.TopLeft.xCell = 1;
	Координаты.TopLeft.yCell = 1;
	Координаты.BottomRight.xCell = 2;
	Координаты.BottomRight.yCell = 2;
	Картинка.Загрузить("e:\!1C_Base\Pict\Чат.gif");
	Картинка.РежимРисования(2);
	МенеджерТаблицы.СоздатьЭлементРисования(5,Координаты,Картинка,0,0);
	МенеджерТаблицы.обновить();
	Таб.Показать("");
 


Картинка - элемент на форме (чтобы видеть, что она загрузилась).
Подскажите, что неправильно?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #7 - 12. Марта 2010 :: 08:53
Печать  
Boog писал(а) 12. Марта 2010 :: 08:11:
Подскажите, что неправильно?

Код
Выбрать все
Таб.Показать("");
МенеджерТаблицы.СоздатьЭлементРисования(5,Координаты,Картинка,0,0);
МенеджерТаблицы.Обновить();
 

  

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



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #8 - 12. Марта 2010 :: 10:02
Печать  
Спасибо, понял.
Ещё вопрос. Я добавляю картинку в левый верхний угол ячейки с несколькими строками текста. Высота ячейки соответственно больше высоты картинки. Но картинка почему-то не хочет занимать свое место в левом верхнем углу ячейки, а растягивается на всю высоту.
Координаты картинки задаю так:
Код
Выбрать все
Координаты.TopLeft.xCell = х;
Координаты.TopLeft.yCell = у;
Координаты.BottomRight.xCell = х;
Координаты.BottomRight.yCell = у;
Координаты.BottomRight.xOffset = 64;
Координаты.BottomRight.yOffset = 64;
 


Если Offset поставить 32, то нужный эффект будет, только картинка получится уж больно мелкая.
Как это решается?
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #9 - 12. Марта 2010 :: 10:20
Печать  
проверил. ничего не заметил.
выложи сюда mxl и исходную картинку
  

tab.mxl ( 2 KB | Загрузки )

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



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #10 - 12. Марта 2010 :: 10:30
Печать  
mxl
  

Tab.mxl ( 8 KB | Загрузки )
Наверх
 
IP записан
 
Boog
Junior Member
**
Отсутствует



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #11 - 12. Марта 2010 :: 10:31
Печать  
Картинка (похоже нельзя к одному сообщению прикрепить 2 файла)
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #12 - 12. Марта 2010 :: 11:47
Печать  
Все понятно - картинка "прилипает" к нижней границе ячейки (таково поведение mxl) и при переносе текста растягивается вслед за автовысотой строки.
Если картина нужна в верхнем левом углу ячейки, то нужно yOffset подобрать меньше высоты строки в макете либо строку в макете сделать выше.
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #13 - 12. Марта 2010 :: 11:56
Печать  
trad писал(а) 12. Марта 2010 :: 11:47:
Если картина нужна в верхнем левом углу ячейки, то нужно yOffset подобрать меньше высоты строки в макете либо строку в макете сделать выше.

хотя нет.
при yOffset >= 38 картинка все равно прилипает Печаль

надо будет поразбираться с этой ерундой Злой
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc: загрузка из таблицы
Ответ #14 - 12. Марта 2010 :: 12:10
Печать  
пока вижу только один способ решения - перед каждым созданием обновлять вывод:
Таб.ВывестиСекцию("Строка");
МенеджерТаблицы.Обновить();
МенеджерТаблицы.СоздатьЭлементРисования(5,Координаты,Картинка,0,0);

дело в том что когда секция выведена, но таблица не обновлена (не вызывались методы Показать или Обновить) то правильная высота строки видимо еще не установлена и она мала. Вследствие чего картинка при создании "прилипает"
  

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