Имя: Пароль:
1C
1С v8
Как перебрать строки Таб части документа как элементы формы
,
0 aptomilov
 
25.01.12
13:38
Привет всем, есть такая задача: надо перебрать строки таб части и по некоторому признаку сделать их либо доступными либо нет.
Как это сделать- сталкивался кто нибудь?
1 shuhard
 
25.01.12
13:40
(0) тебе мало события при выводе строки ?
2 DrShad
 
25.01.12
13:42
(1) лучше при получении данных
3 aptomilov
 
25.01.12
13:49
чо то как то не пойму где там выхватить сво- во  доступность и тп
4 1с-кин
 
25.01.12
13:51
в 8.2 УФ "отменили" ПриВыводеСтроки и ПриПолученииДанных
5 Жан Пердежон
 
25.01.12
13:52
(4) ну так аффтыр не колется УФ у него или нет
6 aptomilov
 
25.01.12
13:53
упп у меня
7 aptomilov
 
25.01.12
13:54
есть и то и то событие не пойму как получить доступ к нужному мне свойству у строки
8 Maxus43
 
25.01.12
13:58
оформление строки кури
9 hhhh
 
25.01.12
13:58
(7) ПриАктивизацииСтроки() делай
Вставляешь одну строчку

ЭлементыФормы.ТвоеТабПоле.ТолькоПросмотр = Истина; ну или Ложь.
10 Maxus43
 
25.01.12
13:59
(9) это похоже на микроскопом гвозди забивать)
11 aptomilov
 
25.01.12
13:59
ДанныеСтроки (RowData)
ЦветТекста (TextColor)
ЦветФона (BackColor)
Шрифт (Font)
Ячейки (Cells)

- в оформлении строки нету
12 DrShad
 
25.01.12
13:59
ждем вопрос: "ОформлениеСтроки нашел, но как доступность установить"
13 DrShad
 
25.01.12
14:00
(11) кури Ячейки
14 hhhh
 
25.01.12
14:05
(10) а то, что он сейчас будет в цикле перебирать все ячейки таб поля - это не микроскоп по вашему.
15 DrShad
 
25.01.12
14:06
(14) почти биноклем, но еще не микроскопом
16 Reset
 
25.01.12
14:08
лол какое оформление, какой вывод? что вы там собрались устанавливать?
(9) - ответ правильный
17 Reset
 
25.01.12
14:10
(16) Прочитал (13), посыпал голову пеплом. Прощу прощения, иногда тороплюсь.
Тем не менее, сам бы делал при активации
18 hhhh
 
25.01.12
14:25
(17) надо объединить эти 2 метода, при активации пройтись по ячейкам строки.

А то при Выводе строки, получается автор обработает 1000 ячеек, всё установит, а пользователь просто открыл посмотреть и после этого тупо закроет форму.
19 Maxus43
 
25.01.12
14:29
Если полностью блокировать строку от редактирования то да, наверно (9) кошерней, обычно юзаю оформление строки когда надо 1-2 ячейки на чтение или раскрасить ТЧ документа по условиям
20 Reset
 
25.01.12
14:33
(19) Можно не всю строку, а отдельную ячейку так(при активации строки): ЭлементыФормы.ТабПоле.Колонка.ЭлементУправления.ТолькоПросмотр=Истина;
А при офорлении удобно, если надо еще и как-то выделить внешне недоступные.
21 Reset
 
25.01.12
14:36
или так даже вроде ЭлементыФормы.ТабПоле.Колонка.ТолькоПросмотр=Истина;
22 Reset
 
25.01.12
14:37
.ТабПоле.КОЛОНКИ.Колонка

Что-то много лажаю сегодня, надо переставать писать
23 aptomilov
 
25.01.12
14:55
ЭлементыФормы.ТабличнаяЧастьОснСпецификация.Колонки.КоличествоПоДопСпец.ТолькоПросмотр=Истина; - глушит всю колонку)
24 aptomilov
 
25.01.12
14:55
что не надо)
25 aptomilov
 
25.01.12
14:56
как то надо строку только
26 aptomilov
 
25.01.12
14:59
вот так работает в принципе но по моему это как то не правильно:


КолДоп=ЭлементыФормы.ТабличнаяЧастьОснСпецификация.ТекущаяСтрока.КоличествоПоДопСпец;
   Если КолДоп>0 Тогда
       ЭлементыФормы.ТабличнаяЧастьОснСпецификация.Колонки.КоличествоПоДопСпец.ТолькоПросмотр=Истина;
   Иначе
       ЭлементыФормы.ТабличнаяЧастьОснСпецификация.Колонки.КоличествоПоДопСпец.ТолькоПросмотр=Ложь;
   КонецЕсли;
27 Alex S D
 
25.01.12
15:02
лучше в обработчике "ПередНачаломИзменения" в таб. части анализируй параметры, и ставь отказ = истина, если надо
28 Aprobator
 
25.01.12
15:03
типа всю строку не изменить и не удалить? Круто.
Только вот события ПриПолученииДанных и ПриВыводеСтроки тут не причем.
Кури события табличного поля ПередНачаломИзменения и ПередУдалением.
Там проверяешь условия и, если нельзя ничего делать, то Отказ = Истина.
29 kosts
 
25.01.12
15:05
И "перед удалением" тоже смотри...
30 суицид
 
25.01.12
15:20
Процедура ТоварыНоменклатураПриИзменении(Элемент)
   
   МояСтрока = ЭлементыФормы.Товары.ТекущиеДанные;
   
   //Дима ++ 10,11 января -товар по акции идёт отдельной строкой, и, теоретически, возможен выбор одного и того-же товара как акционного по 0.05 копейки и обычного
   //запретим такую возможность
   Если БонусныйБатон <> Неопределено Тогда
       
       Если МояСтрока.Номенклатура =БонусныйБатон Тогда
           
           МояСтрока.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
           Сообщить("Нельзя выбирать акционный товар вручную!");
           
       КонецЕсли;
   КонецЕсли;
//Дима -- 10,11 января
КонецПроцедуры