|
Вопрос по чекбоксам на таблице значений. | ☑ | ||
---|---|---|---|---|
0
memogolik
19.04.12
✎
10:28
|
Добавил в таблицу значений чекбокс. (взял из отчет ГрупповаяОбработкаДокументовСправочников.)
МассивТипов = Новый Массив; МассивТипов.Добавить(Тип("Булево")); МассивТипов.Добавить(Тип("Null")); ОписаниеТипаБулево = Новый ОписаниеТипов(МассивТипов); // МояТЗ.Колонки.Вставить(0,"Пометка",ОписаниеТипаБулево); МояТЗ.Индексы.Добавить("Пометка"); МояТЗ.ЗаполнитьЗначения(Истина, "Пометка"); Но он отображается как то странно: обычной "галочки" нет. Вместо нее сначала "Т" , а потом "нет" или пусто. Подскажите где это поправить. Вроде уже все свойства ТЗ излазил. Заранее спасибо за ответ. |
|||
1
Wobland
19.04.12
✎
10:28
|
зачем там NULL?
|
|||
2
vicof
19.04.12
✎
10:29
|
ключевые слова: Данные и ДанныеФлажка
|
|||
3
Юрий Юрьевич
19.04.12
✎
10:33
|
ЗначениеТабПоля = ЭлФормыТабличноеПоле.Значение;
Если ЗначениеТабПоля.Колонки.Найти("Фл")=Неопределено Тогда ОписаниеТипа = Новый ОписаниеТипов("Булево"); ЗначениеТабПоля.Колонки.Добавить("Фл", ОписаниеТипа); ЗначениеТабПоля.Колонки.Сдвинуть(ЗначениеТабПоля.Колонки["Фл"], -(ЗначениеТабПоля.Колонки.Количество() - 1)); КонецЕсли; Если ЭлФормыТабличноеПоле.Колонки.Найти("Фл")=Неопределено Тогда ЭлФормыТабличноеПоле.Колонки.Добавить("Фл", ""); ЭлФормыТабличноеПоле.Колонки.Сдвинуть(ЭлФормыТабличноеПоле.Колонки["Фл"], -(ЭлФормыТабличноеПоле.Колонки.Количество() - 1)); ЭлФормыТабличноеПоле.Колонки["Фл"].Положение = ?(ПоложениеНовойКолонки=Неопределено, ПоложениеКолонки.НоваяКолонка, ПоложениеНовойКолонки);; ЭлФормыТабличноеПоле.Колонки["Фл"].Ширина = 3; ЭлФормыТабличноеПоле.Колонки["Фл"].ТекстШапки = ""; ЭлФормыТабличноеПоле.Колонки["Фл"].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; ЭлФормыТабличноеПоле.Колонки["Фл"].ДанныеФлажка = "Фл"; ЭлФормыТабличноеПоле.Колонки["Фл"].Данные = ""; ЭлФормыТабличноеПоле.Колонки["Фл"].Видимость = Истина; КонецЕсли; |
|||
4
memogolik
19.04.12
✎
10:51
|
(3) Большое спасибо - буду пробовать
|
|||
5
memogolik
19.04.12
✎
11:25
|
Все как бы работает, только теперь этот чекбокс переключается между "да" и "нет". "Галочки" так и нет (
|
|||
6
memogolik
19.04.12
✎
11:37
|
ап
|
|||
7
Wobland
19.04.12
✎
11:37
|
(5) данные флажка?
|
|||
8
memogolik
19.04.12
✎
11:45
|
У меня вообще "ТаблицаЗначений", а тут пример для ТабличногоПоля ...
В отладчике у моей колонки нет такого реквизита. И что не нашел "ТабличногоПоля" чтобы вставить его в форму, вроде такой тип нельзя туда воткнуть( |
|||
9
Wobland
19.04.12
✎
11:46
|
(8) у формы нет ТЗ, у формы есть ТП
|
|||
10
memogolik
19.04.12
✎
11:50
|
что я запутался окончательно.
Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. Запрос = Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | Ссылка КАК Док |ИЗ | КритерийОтбора.ДокументыПоДоговоруКонтрагента(&Договор) КАК ДокументыПоДоговоруКонтрагента |"; Запрос.УстановитьПараметр("Договор",ИсходныйДоговор); МояТЗ = ЭлементыФормы.ТЗ.Значение; МояТЗ.Очистить(); ПоложениеНовойКолонки=0; //ЭлементыФормы.ТЗ.Значение=Запрос.Выполнить().Выгрузить(); //пометочки Если МояТЗ.Колонки.Найти("Пометка") = Неопределено Тогда ОписаниеТипа = Новый ОписаниеТипов("Булево"); МояТЗ.Колонки.Добавить("Пометка", ОписаниеТипа); МояТЗ.Колонки.Сдвинуть(МояТЗ.Колонки["Пометка"],1-МояТЗ.Колонки.Количество() ); КонецЕсли; Если ЭлементыФормы.ТЗ.Значение.Колонки.Найти("Пометка")=Неопределено Тогда ЭлементыФормы.ТЗ.Значение.Колонки.Добавить("Пометка", ""); ЭлементыФормы.ТЗ.Значение.Колонки.Сдвинуть( ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"], -( ЭлементыФормы.ТЗ.Значение.Колонки.Количество() - 1)); ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].Положение = ?(ПоложениеНовойКолонки=Неопределено, ПоложениеКолонки.НоваяКолонка, ПоложениеНовойКолонки);; ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].Ширина = 3; ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].ТекстШапки = ""; ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].ДанныеФлажка = "Пометка"; ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].Данные = Истина; ЭлементыФормы.ТЗ.Значение.Колонки["Пометка"].Видимость = Истина; КонецЕсли; МояТЗ.Колонки.Добавить("Документ"); МояТЗ.Колонки.Добавить("Проведен",Новый ОписаниеТипов("Булево")); МояТЗ.Колонки.Добавить("ПометкаУдаления",Новый ОписаниеТипов("Булево")); МояТЗ.Колонки["Пометка"].ДанныеФлажка="Пометка"; ЭлементыФормы.ТЗ.СоздатьКолонки(); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрочка = МояТЗ.Добавить(); НоваяСтрочка.Пометка = Истина; НоваяСтрочка.Документ = Выборка.Док; НоваяСтрочка.Проведен = Выборка.Док.Проведен; НоваяСтрочка.ПометкаУдаления = Выборка.Док.ПометкаУдаления; КонецЦикла; ЭлементыФормы.ТЗ.Значение=МояТЗ.Скопировать(); КонецПроцедуры Как поправить? ( |
|||
11
memogolik
19.04.12
✎
12:55
|
Разобрался, если может кому пригодится:
Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. Запрос = Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | Ссылка КАК Док |ИЗ | КритерийОтбора.ДокументыПоДоговоруКонтрагента(&Договор) КАК ДокументыПоДоговоруКонтрагента |"; Запрос.УстановитьПараметр("Договор",ИсходныйДоговор); ТП = Новый ТабличноеПоле; ТабЗнач = Новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Пометка",Новый ОписаниеТипов("Булево")); ТабЗнач.Колонки.Добавить("Документ"); ТабЗнач.Колонки.Добавить("Проведен",Новый ОписаниеТипов("Булево")); ТабЗнач.Колонки.Добавить("ПометкаУдаления",Новый ОписаниеТипов("Булево")); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока= ТабЗнач.Добавить(); НоваяСтрока.Пометка = Истина; НоваяСтрока.Документ = Выборка.Док; НоваяСтрока.Проведен = Выборка.Док.Проведен; НоваяСтрока.ПометкаУдаления = Выборка.Док.ПометкаУдаления; КонецЦикла; ЭлементыФормы.ТЗ.Значение=ТабЗнач.Скопировать(); Если ЭлементыФормы.ТЗ.Колонки.Найти("Пометка2")=Неопределено Тогда ЭлементыФормы.ТЗ.СоздатьКолонки(); ЭлементыФормы.ТЗ.Колонки["Пометка"].ДанныеФлажка="Пометка"; ЭлементыФормы.ТЗ.Колонки["Пометка"].Видимость=Истина; ЭлементыФормы.ТЗ.Колонки["Пометка"].Ширина=3; ЭлементыФормы.ТЗ.Колонки["Пометка"].Данные=""; КонецЕсли; КонецПроцедуры 1. Проблема у меня была в понимании разницы "ТабличногоПоля" и "ТаблицыЗначений". В "ТабличномПоле" есть реквизит "значение", которое как раз имеет тип "ТаблицаЗначений". 2. СоздатьКолонки в "ТабличномПоле" должна стоять ДО выставления параметров по столбцу ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |