Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений (число прочтений - 2737 )
SuperZveruga
YaBB Newbies
*
Отсутствует


2001

Сообщений: 5
Зарегистрирован: 23. Ноября 2013
Пол: Мужской
Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
18. Апреля 2014 :: 03:30
Печать  
В описании компоненты FormEx есть команда РодительскоеОкно. К этой команде приведён интересный пример якобы позволяющий редактировать значения в ТаблицеЗначений на Форме непосредственно в колонках.

Как это сделать? Попробовал написать этот пример выдаётся ошибка, неверный идентификатор атрибута.

Отладчик говорит, что в качестве идентификатора, команде УстановитьАтрибут, передаётся код колонки ТаблицыЗначений по которой я дважды кликнул левой клавишей мыши. Но как я понимаю, одного такого идентификатора явно недостаточно, нужно ведь ещё как-то указать, что он принадлежит определённой ТаблицеЗначений.

Пример с описания.

[code]Процедура ПриРедактированииСвойства()
       тс = ТаблСвойства.ТекущаяСтрока();
       Если тс = 0 Тогда
               Возврат;
       КонецЕсли;
       _тк = ТаблСвойства.ТекущаяКолонка();
       тк = ТаблСвойства.ПолучитьПараметрыКолонки(_тк);

       в = "";
       л = "";
       н = "";
       п = "";
       РФ.ПолучитьКоординатыЯчейки("ТаблСвойства",тс,тк,в,л,н,п);
       Атр.УстановитьАтрибут(Форма,_тк);
       Атр.УстановитьКоординаты(л,в,п-л,н-в);
       Атр.Рамка = 0;
       Атр.РодительскоеОкно = Форма.ТаблСвойства;
       Свойство = ТаблСвойства.ПолучитьЗначение(тс,"Свойство");
       Значение = ТаблСвойства.ПолучитьЗначение(тс,"Значение");
       Форма.ПолучитьАтрибут(_тк).Видимость(1);
       Активизировать(_тк,1);
КонецПроцедуры
[/code]
Вот эта строка Атр.УстановитьАтрибут(Форма,_тк) выдаёт ошибку о неверном идентификаторе.

Доктор, что я делаю не так?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #1 - 18. Апреля 2014 :: 04:50
Печать  
Сообщить(_тк) ?
  
Наверх
 
IP записан
 
SuperZveruga
YaBB Newbies
*
Отсутствует


2001

Сообщений: 5
Зарегистрирован: 23. Ноября 2013
Пол: Мужской
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #2 - 18. Апреля 2014 :: 05:07
Печать  
Eprst писал(а) 18. Апреля 2014 :: 04:50:
Сообщить(_тк) ?


Выдаёт "КварталПолучатель". У меня это идентификатор колонки в ТаблицеЗначений под названием "Перевезено", в момент когда я кликнул в эту колонку.

Т. е. в "_тк" хранится идентификатор колонки в которую я кликнул.

Весь этот код я поместил в обработчик двойного клика по таблице.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #3 - 18. Апреля 2014 :: 05:41
Печать  
Посмотрел код, всё делаешь не верно.
Тебе надо, получить координаты ячейки, далее подогнать атрибут формы (тот, в котором редактирование будет) под эту ячейку, установить этому атрибуту нужный тип. А ты поытаешься подогнать атрибут "колонку".. в общем, в топку.

ЗЫ: если не понял, смотри в готовых классах реализацию этого.
Или, что проще, используй ТабличноеПоле
  
Наверх
 
IP записан
 
SuperZveruga
YaBB Newbies
*
Отсутствует


2001

Сообщений: 5
Зарегистрирован: 23. Ноября 2013
Пол: Мужской
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #4 - 18. Апреля 2014 :: 06:45
Печать  
Eprst писал(а) 18. Апреля 2014 :: 05:41:
Посмотрел код, всё делаешь не верно.
Тебе надо, получить координаты ячейки, далее подогнать атрибут формы (тот, в котором редактирование будет) под эту ячейку, установить этому атрибуту нужный тип. А ты поытаешься подогнать атрибут "колонку".. в общем, в топку.

ЗЫ: если не понял, смотри в готовых классах реализацию этого.
Или, что проще, используй ТабличноеПоле


Этот пример со страницы описания команд FormEx. Так сказать с учебника.

Понял куда вы клоните. Т. е. получив координаты ячейки, я должен к этим координатам привязать какой-то атрибут формы, который должен быть предварительно создан на форме с известным мне идентификатором. Этот атрибут может быть невидим всё то время пока я не оперирую ТЗ, но как только я в неё кликаю, я делаю видимым это поле и подгоняю его под позицию ячейки в ТЗ, предварительно придав ему все необходимые свойства. Так? А какого типа должен быть атрибут изначально, текстовая строка?

Что касается ТабличногоПоля, то как я понял это класс из 1срр, за которую я пока не брался. Я использую только FormEx.

Задача у меня такая создать несколько документов в которых много таблиц.

Программа используется в УРИБ в нескольких организациях. Количество периферийных баз доходит до 10.

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

Народ жалуется, мол нужно кликать дважды мыхой в каждую клетку и потом вбивать число. В некоторых таблицах число колонок доходит до 55 (Табель). Думаю будет удобней, если я сделаю так, чтобы таблицы вели себя также как и МногострочнаяЧасть. Кликнул разок левой кнопой мыхи или нажал Таб, или Инсёрт и всё сработало.

Объект ТабличноеПоле похоже жутко интересная вещь делающая именно то, что мне нужно.

Можете совет дать в каком направлении лучше идти?
  
Наверх
 
IP записан
 
varelchik_f
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 36
Местоположение: Киев
Зарегистрирован: 10. Апреля 2014
Пол: Мужской
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #5 - 18. Апреля 2014 :: 07:39
Печать  
Расскажу страшную тайну.
Если ты начал редактировать значение, то попробуй в этот момент крутануть колесо мышки, получишь прикольный результат.
  
Наверх
 
IP записан
 
varelchik_f
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 36
Местоположение: Киев
Зарегистрирован: 10. Апреля 2014
Пол: Мужской
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #6 - 18. Апреля 2014 :: 07:40
Печать  
Смотри в сторону ПоставщикДанных
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Родительское окно, не могу красиво редактировать колонки ТаблицыЗначений
Ответ #7 - 18. Апреля 2014 :: 08:10
Печать  
SuperZveruga писал(а) 18. Апреля 2014 :: 06:45:
Понял куда вы клоните. Т. е. получив координаты ячейки, я должен к этим координатам привязать какой-то атрибут формы, который должен быть предварительно создан на форме с известным мне идентификатором. Этот атрибут может быть невидим всё то время пока я не оперирую ТЗ, но как только я в неё кликаю, я делаю видимым это поле и подгоняю его под позицию ячейки в ТЗ, предварительно придав ему все необходимые свойства. Так? А какого типа должен быть атрибут изначально, текстовая строка?



да, так и сделано в одном из классов

ЗЫ: атрибут с типом Неопределенный, потом ему назначать нужный тип
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать