Имя: Пароль:
1C
 
Помогите с флажком
0 MatveyIgor
 
09.06.08
15:50
Как прописать в модуле формы, чтобы на форме отображался знак Флажок, а не слова истина или ложь???
На форме расмещено ТабличноеПоле, тип ТаблицаЗначений, есть колонка Флаг тип булево, при открытии формы в режиме предприятия, флажок выводится как надпись истина или ложь, а мне нужно что-бы был значек флажка, как это можно прописать в модуле или может как-то по другому.
Спасибо заранее.
1 ТелепатБот
 
гуру
09.06.08
15:50
2 MatveyIgor
 
09.06.08
16:03
и все???
3 droff
 
09.06.08
16:06
(0) В свойстве столбца смотри.
4 MatveyIgor
 
09.06.08
16:08
смотрю, знаю что элементы управления или где там, но где точно?
5 animatic
 
09.06.08
16:18
посмотри как в типовых сделано, я оттуда брал, сейчас не помню уже
6 merkator
 
09.06.08
16:20
При выводе строки
ОформлениеСтроки.Ячейки.ИмяЯчейки.ОтображатьФлажок = Истина;
7 MatveyIgor
 
10.06.08
12:03
спасибо работает
8 MatveyIgor
 
11.06.08
11:48
Снова проблемка, как мне после того как флажок поменялся, програмно определить где значение флажка истина и разрешить выполнение действия.
Я пишу так, правда не правильно 100 пудово, подскажите как правильно пожалуйста.

Для каждого стр из ТЗ_Н.Значение цикл
   Если стр.кво<=0 тогда
   продолжить;
   КонецЕсли;    
   к=1;
   Если Форма.ЭлементыФормы.ТЗ.Колонки.Флаг.ЭлементУправления.Значение тогда
       Пока к <= стр.Кво цикл    
           Область = Макет.ПолучитьОбласть("ШК");
           Область.Рисунки.BarCode.Объект.Text = ""+ЭлементыФормы.Серия.Значение+СокрЛП(стр.Пакет.Код);
           Область.Параметры.Серия =ЭлементыФормы.Серия.Значение;
           Область.Параметры.Пакет =стр.Пакет;
           Таб.Вывести(Область);
           к = к+1;
       КонецЦикла;    
   КонецЕсли;    
   Область = Макет.ПолучитьОбласть("Розделитель");        
   Таб.Вывести(Область);
КонецЦикла;
9 MatveyIgor
 
11.06.08
11:48
где ТЗ_Н - табличное поле
10 MatveyIgor
 
11.06.08
11:49
а форма, это вторая форма где находится ТЗ_Н
11 And_sk11
 
11.06.08
11:55
у ТабличногоПоля есть свойство ПриИзмененииФлажка (както так)
12 MatveyIgor
 
11.06.08
11:58
есть, а что мне так прописать, тоесть куда мне сохранить значение Флажка, или как лучше может считать значение флажка с табличного поля через Форма.ЭлементыФормы.ТЗ.Колонки.Флаг.ЭлементУправления.Значение, точно сам не знаю
13 vza
 
11.06.08
12:01
я с флажками работаю через соответствие и два обработчика событий для таблицы "при выводе строки" и "при изменении флажка"
14 MatveyIgor
 
11.06.08
12:03
"я с флажками работаю через соответствие" а соответствие в табличе значений или где находится?
15 And_sk11
 
11.06.08
12:06
на диске ИТС есть пример работы с флажками, там создаётся переменная массив и при отработке *события ПриИзмененииФлажка туда добавляется или оттуда удаляется значение определяющее строку, по наполнению массива ты смотришь что у тебя выбрано
16 vza
 
11.06.08
12:09
(14)
В модуле формы создаешь соответствие.

При выводе строки

ОформлениеСтроки.Ячейки.КолонкаФлажка.ОтображатьФлажок = Истина;
Если ТвоеСоответствие[ДанныеСтроки] = Неопределено Тогда
   ОформлениеСтроки.Ячейки.КолонкаФлажка.Флажок = Ложь;
Иначе    
    ОформлениеСтроки.Ячейки.КолонкаФлажка.Флажок = Истина;
КонецЕсли;    


При изменении Флажка
Если Колонка.Имя = "КолонкаФлажка" Тогда
   Если ТвоеСоответствие[Элемент.ТекущаяСтрока] = Неопределено Тогда
       ТвоеСоответствие[Элемент.ТекущаяСтрока] = Истина;
   Иначе
       ТвоеСоответствие.Удалить(Элемент.ТекущаяСтрока);
   КонецЕсли;    
КонецЕсли;
17 MatveyIgor
 
11.06.08
13:16
я  так сделал
Процедура ТЗПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
   ОформлениеСтроки.Ячейки.Флаг.ОтображатьФлажок= Истина;
КонецПроцедуры

Процедура ТЗПриИзмененииФлажка(Элемент, Колонка)
   Если Колонка.Имя = "Флаг" Тогда
       Если Элемент.ТекущаяСтрока.Флаг = ложь тогда
           Элемент.ТекущаяСтрока.Флаг = истина;
       Иначе    
           Элемент.ТекущаяСтрока.Флаг = ложь;
       КонецЕсли;    
   КонецЕсли;    
КонецПроцедуры
18 MatveyIgor
 
11.06.08
13:16
нормально работает
19 merkator
 
11.06.08
13:33
Вместо

Если Элемент.ТекущаяСтрока.Флаг = ложь тогда
   Элемент.ТекущаяСтрока.Флаг = истина;
Иначе    
   Элемент.ТекущаяСтрока.Флаг = ложь;
КонецЕсли;    

короче

Элемент.ТекущаяСтрока.Флаг = Не Элемент.ТекущаяСтрока.Флаг;
20 Defender aka LINN
 
11.06.08
13:41
Омистинеть... А что, ДанныеФлажка просто указать - религия не позволяет?
21 luns
 
11.06.08
14:42
(17) Жестко.
22 MatveyIgor
 
17.06.08
10:21
спасибо, так и сделал, просто остался осадок от работы с семеркой
23 xrrg
 
17.06.08
11:09
(20) для этого итс надо читать
24 Bober
 
17.06.08
11:15
(20) чукча не читатель, чукча писатель -)
пожтому и через выводстроки, а не при получении данных, и не через ДанныеФлажка.
25 Bober
 
17.06.08
11:23
(16), (17). Сами себе усложняете жизнь, мало того, что не используете событие ПриПолученииДанных, так еще придется писать событие ПриИзмененииФлага и анализировать в этом событии заблокирована ячейка или нет, так как если ячейка только на чтение, то "нарисованный" в ней флажок нет.
Лучше используйте свойство колонки, измените элемент управления на флажок и подставьте в свойство данные флажка имя колонки из таблицы значений.