|
Можно ли в табличное поле, добавить редактируемую колонку? | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
30.07.13
✎
13:06
|
Подскажите, возможно ли в "Табличное поле", связанное с "Табличной частью" добавить редактируемую колонку?
Программно. |
|||
1
cw014
30.07.13
✎
13:06
|
Не возражаю
|
|||
2
Галахад
гуру
30.07.13
✎
13:10
|
Гм. А как?
|
|||
3
Галахад
гуру
30.07.13
✎
13:12
|
Никак?
|
|||
4
Капитан О
30.07.13
✎
13:13
|
изменить реквизиты или тупо добавить
|
|||
5
Галахад
гуру
30.07.13
✎
13:14
|
Неохота менять структуру данных.
|
|||
6
hhhh
30.07.13
✎
13:15
|
(3) делаешь таблицу значений вспомогательную, в ней хранишь эту колонку. ПриПолученииДанных() выводишь в колонку табличного поля. Если щелкнули редактировать, то редактируешь поле в этой ТЗ.
|
|||
7
ИС-2
naïve
30.07.13
✎
13:16
|
(1) глупость. Иди учись.
Фактически нельзя т.к даже если указать элемент управления, то программно к информации не обратиться (специально проверил). Тут если только подменять свойство данные у элемента формы в голову лезет |
|||
8
Капитан О
30.07.13
✎
13:17
|
(7) а редактироваться будет?
|
|||
9
Галахад
гуру
30.07.13
✎
13:21
|
(6) А какое событие?
(7) Не понял. |
|||
10
mikecool
30.07.13
✎
13:22
|
(7) "Фактически нельзя т.к даже если указать элемент управления, то программно к информации не обратиться (специально проверил). " это как? оО
|
|||
11
Галахад
гуру
30.07.13
✎
13:46
|
Спасибо, получилось.
|
|||
12
ИС-2
naïve
30.07.13
✎
14:15
|
(10) добавил в таб. поле колонку, которая не связана с ТЧ. Указал элемент управления - поле ввода. Текст вводить можно, но он отображается только при входе элемент управления (думаю если ихменить режим редактирования, то будет виден).
Текст введенный в ячейку сохраняется. Но как и пытался найти в каком свойстве сохранились введеные мною данные так и не нашел (11) Теперь я удивляюсь - это как получилось. Поделись, пжс, опытом... |
|||
13
Галахад
гуру
30.07.13
✎
14:32
|
(12) Как-то так:
[форма правилась только программно] // Миста Перем тзМиста; // Миста // Миста Процедура МистаТаблицаОбработкиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) НайденнаяСтрока = тзМиста.Найти(ДанныеСтроки.Сотрудник, "Сотрудник"); Если НайденнаяСтрока = Неопределено Тогда Возврат КонецЕсли; ОформлениеСтроки.Ячейки.ПроцентВхождения.УстановитьТекст(Формат(НайденнаяСтрока.Процент,"ЧДЦ=2")); КонецПроцедуры Процедура МистаТаблицаОбработкиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) Перем ВыбЗнач; Если Колонка.Имя = "ПроцентВхождения" Тогда Массив = Новый Массив; Массив.Добавить(Тип("Число")); КЧ = Новый КвалификаторыЧисла(12); ОписаниеТипов = Новый ОписаниеТипов(Массив, КЧ); Если ВвестиЗначение(ВыбЗнач, "Введите значение", ОписаниеТипов) Тогда НайденнаяСтрока = тзМиста.Найти(ВыбраннаяСтрока.Сотрудник, "Сотрудник"); Если НайденнаяСтрока = Неопределено Тогда НовСтр = тзМиста.Добавить(); НовСтр.Сотрудник = ВыбраннаяСтрока.Сотрудник; НовСтр.Процент = ВыбЗнач; Иначе НайденнаяСтрока.Процент = ВыбЗнач; КонецЕсли; РассчитатьСтроку(ВыбраннаяСтрока); КонецЕсли; КонецЕсли; КонецПроцедуры тзМиста = Новый ТаблицаЗначений; тзМиста.Колонки.Добавить("Сотрудник"); тзМиста.Колонки.Добавить("Процент"); МистаДействиеПриВыводеСтроки = Новый Действие("МистаТаблицаОбработкиПриВыводеСтроки"); ЭлементыФормы.ТаблицаОбработки.УстановитьДействие("ПриВыводеСтроки", МистаДействиеПриВыводеСтроки); МистаТаблицаОбработкиВыбор = Новый Действие("МистаТаблицаОбработкиВыбор"); ЭлементыФормы.ТаблицаОбработки.УстановитьДействие("Выбор", МистаТаблицаОбработкиВыбор); МистаКолонкаНовая = ЭлементыФормы.ТаблицаОбработки.Колонки.Добавить("ПроцентВхождения","Размер премии"); ЭлементыФормы.ТаблицаОбработки.Колонки.ПроцентВхождения.ГоризонтальноеПоложениеВКолонке = ГоризонтальноеПоложение.Право; МистаДействиеВыбор = Новый Действие("МистаДействиеВыбор"); МистаКолонкаЭталон = ЭлементыФормы.ТаблицаОбработки.Колонки.Найти("Процент"); МистаКоличествоКолонок = ЭлементыФормы.ТаблицаОбработки.Колонки.Индекс(МистаКолонкаНовая); МистаИндексКолонкаНовая = ЭлементыФормы.ТаблицаОбработки.Колонки.Индекс(МистаКолонкаЭталон); ЭлементыФормы.ТаблицаОбработки.Колонки.Сдвинуть(МистаКолонкаНовая, -(МистаКоличествоКолонок - МистаИндексКолонкаНовая - 1)); // Миста |
|||
14
Галахад
гуру
30.07.13
✎
14:33
|
Гм. Эта строка лишняя.
МистаДействиеВыбор = Новый Действие("МистаДействиеВыбор"); |
|||
15
ИС-2
naïve
30.07.13
✎
14:42
|
ТаблицаОбработки - это табличная часть
тзМиста - таблица, где хранятся значения доп. колонок. При изменении как бы таб. части данные новой колонки сохраняются в ТЗ. Т.е идет связь между 2 таблицами. Верно понял? |
|||
16
Галахад
гуру
30.07.13
✎
14:45
|
(15) Да. Алгоритм в (6).
|
|||
17
cw014
30.07.13
✎
15:02
|
(15) Двоечник
(14)(16) Молорик |
|||
18
User_Agronom
30.07.13
✎
15:03
|
Можно. Добавить табличное поле. И не у всех колонок указать ТолькоЧтение.
Я думаю этот реквизит можно и программно менять. У меня была задача: формировалась некая таблица и в ней должен быть только один редактируемый столбец. Собственно, всё несложно. |
|||
19
cw014
30.07.13
✎
15:03
|
(15) Если ты не можешь представить алгоритм, не значит что его не существует
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |