Имя: Пароль:
1C
1С v8
Как лучше реализовать галочку в ДокументСписке? 8.2
0 ArtemKolos
 
14.12.11
14:29
Как лучше реализовать галочку в ДокументСписке? Значеие галочки наодится в регистре сведений, знаю что используя запрос на каждое событие "ПриВыводеСтроки" это ололо, но как по другому?
1 Defender aka LINN
 
14.12.11
14:31
Юзай управляемые формы и уловное оформление.
В крайнем случае - ПриПолученииДанных
2 kosts
 
14.12.11
14:37
(0) Один запрос на группу строк в процедуре ПриПолученииДанных.
Поищи, я выкладывал решение, почти по твоему случаю, только без регистра.
3 ArtemKolos
 
14.12.11
14:39
Жаль, но управляемые формы никак, "ПриПолученииДанных" тоже не катит, вызывается даже при вертикальной прокрутке.
4 kosts
 
14.12.11
14:40
(3) Используй кэш
5 Фокусник
 
14.12.11
14:42
(3) Если вызывается ПриПолученииДанных, то всё равно "дергается" база. Поэтому какая собственно разница? :)
6 ArtemKolos
 
14.12.11
14:43
7 kosts
 
14.12.11
14:44
Вот погляди, не для УФ

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

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

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

Процедура Кнопка1Нажатие()
   
   Для каждого т Из СписокДокументовДляОбработки Цикл
       ДокСсылка = т.Ключ;
   КонецЦикла;
   
КонецПроцедуры

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

Колонка = ЭлементыФормы.ДокументСписок.Колонки.Вставить(0, "Флажок1");
Колонка.Имя = "Флажок1";
Колонка.Ширина = 3;
Колонка.Данные = "";
Колонка.ДанныеФлажка = "ПометкаУдаления";
Колонка.ИзменятьПозицию = Ложь;
Колонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;
Колонка.ИзменятьВидимость = Ложь;
Колонка.ИзменятьНастройку = Ложь;
Колонка.РежимРедактирования =  РежимРедактированияКолонки.Непосредственно;
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn