Имя: Пароль:
1C
 
"Флажок" в табличной части документа.
0 Damash
 
02.01.10
02:45
Вопрос: как в табличной части документа сделать одну колонку таким образом, чтобы она работала как checkbox?
2 Damash
 
02.01.10
02:54
т.е. к примеру одним нажатием мыши или двойным кликом можно было менять статус.
4 Damash
 
02.01.10
03:46
(3) вроде не по теме...
8 зарегистриров
 
02.01.10
04:22
Процедура Выполнить()
     Ном = СоздатьОбъект("Справочник.Номенклатура");
     Спр = СоздатьОбъект("Справочник.Цены");
     ПериодЦена     = СоздатьОбъект("Периодический");
                                   
     ТЗ = СоздатьОбъект("ТаблицаЗначений");
     ТЗ.НоваяКолонка("Цена","Справочник.Цены");
     ТЗ.НоваяКолонка("ДатаЦены","Дата");
     Ном.ВыбратьЭлементы();
     Пока Ном.ПолучитьЭлемент() = 1 Цикл
         
         Спр.ИспользоватьВладельца(Ном.ТекущийЭлемент());
         Спр.ВыбратьЭлементы();
         Пока Спр.ПолучитьЭлемент() = 1 Цикл
             ПериодЦена.ИспользоватьОбъект("Цена",Спр.ТекущийЭлемент());
           ПериодЦена.НайтиЗначение(ТекущаяДата(),-1);  
           ТЗ.НоваяСтрока();
           ТЗ.ДатаЦены = ПериодЦена.ДатаЗнач;
           ТЗ.Цена     = Спр.ТекущийЭлемент();    
             
       КонецЦикла;
       
       ТЗ.Сортировать("-ДатаЦены");
       
       ТипЦены = "";
       ДатаЦены = "";
       ТЗ.ВыбратьСтроки();
       Пока ТЗ.ПолучитьСтроку() = 1 Цикл
           Если ТЗ.Цена.ТипЦен <> ТипЦены Тогда
               ТипЦены = ТЗ.Цена.ТипЦен;
               ДатаЦены= ТЗ.ДатаЦены;
           КонецЕсли;
           Если ТЗ.Цена.ТипЦены = ТипЦены Тогда
               Если ТЗ.ДатаЦены < ДатаЦе
9 Злопчинский
 
02.01.10
04:24
смотри как сделан в типовой бухии например галочка в журнале платежек - делай аналогично.
11 Damash
 
02.01.10
11:32
да, нет - немного не такая реализация как в бухии нужна!
мне нужна четкая реализация checkbox (т.е. флажка) в каждой строчке документа.
т.е. сделал пользователь клик на ячейке (или двойной клик) и значение чекбокса поменялось.
12 ДенисЧ
 
02.01.10
11:35
Попробуй поймать ПриВыбореСтроки()...
13 Фокусник
 
02.01.10
11:37
(12)+ Хранить в Число 1,0. Отображать картинкой.
14 GrayT
 
02.01.10
11:42
(11)Это называется использование пиктограмм.
На табличную часть вешаешь подходящую картинку (в режиме пиктограмм - одна картинка содержит несколько мелких) где есть галочка.
В свойствах колонки ТЧ  выставляешь "Использовать пиктограмму"
Соответственно когда это поле отображает номер определенной картинки, то она отображается.
Теперь соответственно отлавливаешь колонку при начале редактирования строки и меняешь номер отображаемой картинки.
Вопрос в том что же это за поле. Это может быть реквизит ТЧ документа - тогда все просто. Он сам может хранить значение. Хуже если это простое текстовая колонка брошенная на форму ТЧ. Тут есть несколько возможносте. Но пожалуй разберись сперва как делать если это реквизит ТЧ документа
15 Damash
 
02.01.10
13:10
(11) Я создал две колонки в таблице:
1. Реквизит числовой "СтатусЧекБокса", добавляю его в таблицу, но делаю скрытым
2. Текстовое поле "Пикт", которое отображает пиктограмки 1 и 2 (чек пустой и чек с галочкой)

Получается, что "Пикт" в данном случае невозможен для редактирования. В "Дополнительно" можно поставить либо имя функции либо данные, считываемые из "СтатусЧекБокса".

Но встает вопрос как отловить клик пользователя на "Пикт" и изменить значение "СтатусЧекБокса".

(12) (13) Не сталкивался с этими процедурами. Полезу в теорию.
16 Злопчинский
 
02.01.10
13:22
(11) т.е. мозги лень напрячь было? надо было чтобы в (14) разжевали...?
17 Damash
 
02.01.10
13:37
(16) Так в том то и дело, что принцип отображения статуса пиктограммкой был ясен.
Не ясен для меня до сих пор как обработать клики на пиктограммку и её изменить...
18 Damash
 
02.01.10
13:38
в 1С нет же аналога обработки типа ДвойнойКликМышиНаЯчейку
19 dk
 
02.01.10
13:39
(18) усе там есть
колонка скрывается, вместо нее текстовая колонка вставляется
20 Злопчинский
 
02.01.10
13:40
см. приначалеоедактированиястроки(), анализируй текущую колонку
21 KRV
 
02.01.10
14:03
(18) ДвойнойКликМышиНаЯчейкуГдеРасположенПиктограммкинЗначок() - не подойдет?
22 Damash
 
02.01.10
14:07
(21) Подойдет, только где взять эту обработку?
(20) Так в том то и дело, что колонка с числовым значением скрыта, а колонка с пиктограммкой запрещена для редактирования по умолчанию. И процедура  приначалеоедактированиястроки() не срабатывает.
23 dk
 
02.01.10
14:12

Процедура ПриНачалеРедактированияСтроки()
   Если Форма.ТекущаяКолонка() = "стПикто" Тогда
       Если Включено = 0 Тогда
           Включено = 1
       Иначе
           Включено = 0;
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры

В формуле
?(Включено=0,1,2)

Включено - реквизит табл. части документа
стПикто - идентификатор текстовой колонки
24 Damash
 
02.01.10
14:26
Dk, сенкс - вроде что-то начало срабатывать.
Осталось доработать логику.
Спасибо.
Закон Брукера: Даже маленькая практика стоит большой теории.