Имя: Пароль:
1C
1С v8
Флажок в табличном поле
,
0 unreg11
 
25.08.11
17:32
Есть ТЗ с типом Значения ДокументСписок.ПоступлениеТоваровУслуг. Мне необходимо добавить еще одну колонку, в котором пользователь сможет отмечать необходимые документы для дальнейшей обработки(флажок, поставил/снял галочку). На форумах читал, что то у меня не получилось этого сделать.
1 qeos
 
25.08.11
17:37
ДанныеФлажка
2 unreg11
 
25.08.11
17:40
В данных перечислены только реквизиты документа, а у меня он сам по себе булевого типа
3 qwerty09
 
25.08.11
17:41
(0) добавил колонку (режим редактирования - непосредственно), прописал обработку события ПриИзмененииФлажка() (тут алгоритм зависит от того куда будешь писать значение флажка)
4 mirosh
 
25.08.11
17:41
(2) все равно (1).
Убери значение из "данные" и поставь его в "данные флажка"
5 mirosh
 
25.08.11
17:42
+(4) а потом (3)
6 Mort
 
25.08.11
17:44
Если не ошибаюсь в списке документов в режим редактирования строки вообще войти нельзя, в т.ч. флажков.
7 mikecool
 
25.08.11
17:44
(6) в УФ да
8 unreg11
 
25.08.11
17:46
(1),(4)
ИМЯ колонки - УВ
Данные - пусто
Элемент управления - Флажок
Данные флажка - пусто

там где пусто нет ничего что связано с флажком
9 mirosh
 
25.08.11
17:49
(8) напиши "УВ" в данных флажка
10 unreg11
 
25.08.11
17:53
ни в Данных, ни в ДанныхФлажка ничего написать нельзя только!!! выбрать
11 mirosh
 
25.08.11
17:56
(10) продолжай упорствовать, ты такой настойчивый, все у тебя получится!!!!!!!1111111одинодинодин
12 Mort
 
25.08.11
17:58
(7) да везде
13 unreg11
 
25.08.11
17:59
(11) это глум?
14 qwerty09
 
25.08.11
18:02
(10) да-да, припоминаю, чет там было такое. Если ваще никак, то добавь колонку (элемент управления - флажок, данные и данные флажка - пусто) и потом просто обрабатывай событие ПриАктивизацииКолонки() - тут проверишь имя колонки и, если она, то получишь текущую строку списка документов (а в ней ссылку на документ)...Дальше в обработке напишешь, что Флажок = Не Флажок и записываешь куда хош. Ах да, и втули свойство "пропускать при вводе" своей колонке.
15 Mort
 
25.08.11
18:32
Лучше обработку выбора, при активизации ненадежно. Хранить выбранные документы в массиве и в привыводестроки отображать флажок.
16 kosts
 
25.08.11
19:01
(0) Вот держи. Только, что собрал.
Можно даже в мемориз ...


Перем СписокДокументовДляОбработки;

Процедура ТабличноеПоле1ПриПолученииДанных(Элемент, ОформленияСтрок)
   
   Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
       ОформлениеСтроки.Ячейки.Флажок1.УстановитьФлажок(СписокДокументовДляОбработки.Получить(ОформлениеСтроки.ДанныеСтроки.Ссылка) <> Неопределено);
   КонецЦикла;
   
КонецПроцедуры

Процедура ТабличноеПоле1ПередНачаломИзменения(Элемент, Отказ)
   
   Если ЭлементыФормы.ТабличноеПоле1.ТекущаяКолонка.Имя = "Флажок1" Тогда
       Отказ = Истина;
       Ссылка = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Ссылка;
       Если СписокДокументовДляОбработки.Получить(Ссылка) = Неопределено Тогда
           СписокДокументовДляОбработки.Вставить(Ссылка, Ссылка);
       Иначе
           СписокДокументовДляОбработки.Удалить(Ссылка);
       КонецЕсли;
   КонецЕсли;
   
КонецПроцедуры

СписокДокументовДляОбработки = Новый Соответствие;

Колонка = ЭлементыФормы.ТабличноеПоле1.Колонки.Вставить(0, "Флажок1");
Колонка.Имя = "Флажок1";
Колонка.Ширина = 3;
Колонка.Данные = "";
Колонка.ДанныеФлажка = "ПометкаУдаления";
Колонка.ИзменятьПозицию = Ложь;
Колонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;
Колонка.ИзменятьВидимость = Ложь;
Колонка.ИзменятьНастройку = Ложь;
Колонка.РежимРедактирования =  РежимРедактированияКолонки.Непосредственно;
17 unreg11
 
26.08.11
10:09
(16) Спасибо, работает
18 unreg11
 
26.08.11
10:26
а вот пометка удаления там обязательна, это вроде опять же к документу относится. без реквизитов документа можно как-нибкдь обойтись
19 kosts
 
26.08.11
11:10
(18) Что мешает использовать реквизит документа?
20 Mort
 
26.08.11
11:13
(19) Мозг
21 unreg11
 
26.08.11
12:13
без реквизитов документа можно или нет?
22 kosts
 
26.08.11
12:42
(21) У меня за 20 минут не получилось. Попробуй, получится - выложи.
23 unreg11
 
26.08.11
12:50
а как потом перебрать табличное поле чтобы проанализировать отмеченные строки
24 kosts
 
26.08.11
13:00
(23) Для каждого ДокСсылка по СписокДокументовДляОбработки Цикл
25 unreg11
 
26.08.11
13:06
не катит
26 kosts
 
26.08.11
13:06
Для каждого т Из СписокДокументовДляОбработки  Цикл
   ДокСсылка = т.Ключ;
КонецЦикла;
27 unreg11
 
26.08.11
13:11
Если СписокДокументовДляОбработки - это табличное поле, то не работает
28 kosts
 
26.08.11
13:14
(27) Это не табличное поле см. (16)
29 unreg11
 
26.08.11
13:40
все заработало, спасибо