Имя: Пароль:
1C
 
Как получить значение ячейки табличного документа и при определенном значении задать
0 akkela
 
08.06.10
21:02
Товарищи, помогите, пожалуйста!
Имеем табличный документ. Есть необходимость искать ячейки с определенным значением во всем табличном документе и окрашивать эти ячейки в красный цвет. К примеру: печатная форма "Заказа поставщику", если для каких-либо позиций номенклатуры указана единица измерения "кг", то окрашивать ячейку.

Область = ТабДокумент.НайтиЗначение("искомое значение");
Область.ЦветФона = WebЦвета.Красный;
- таким образом искомое значение программа находит и ячейку окрашивает, но только первую найденную, т.е. грубо говоря, если для трёх позиций номенклатуры единица измерения стоит "кг", то для первой позиции номенклатуры ячейка окрашивается, а для всех остальных нет. Вопрос: почему и КАК это сделать правильно??? :?:
1 IronDemon
 
08.06.10
21:23
Ищи дальше :)
2 IronDemon
 
08.06.10
21:24
3 akkela
 
09.06.10
00:04
Либо я одним прищуренным глазом на ИТС смотрела, либо в статьях, касающихся табличных документов мой вопрос не затрагивался, как в прочем и в обсуждениях по той ссылке, которую Вы кинули:( Никто не хочет блондинке поконкретнее объяснить, какими методами вообще данная задача может решаться? Как я понимаю, НайтиЗначение() осуществляет поиск значения в ячейках табличного документа, т.е. циклом надо обойти каждую ячейку табличного документа, чтоб в каждой проверить содержит она это значение или нет???
4 Злобный Фей
 
09.06.10
00:10
(3) Давай нормальную фотку
5 akkela
 
09.06.10
00:11
Сначала ответ на поставленный вопрос, потом будет фотка:)
6 Cube
 
09.06.10
05:25
Синтаксис-помощник?

Синтаксис:
НайтиЗначение(<Значение>, <Начало>, <Где>, <Искать по строкам>, <Искать вперед>)

Параметры:

<Значение> (обязательный)
Тип: Произвольный. Искомое значение.

<Начало> (необязательный)
Тип: ОбластьЯчеекТабличногоДокумента. Область, после которой начинать поиск. Если параметр не задан, то поиск с начала табличного документа.

<Где> (необязательный)
Тип: ОбластьЯчеекТабличногоДокумента. Область, в которой осуществляется поиск. Если параметр не указан, поиск будет выполнен по всем ячейкам табличного документа.

<Искать по строкам> (необязательный)
Тип: Булево. Определяет последовательность обхода ячеек при поиске.
Истина - искать по текущей строке, затем переходить на следующую и т.д. в общем направлении поиска, Ложь - искать по текущей колонке, затем переходить на следующую и т.д. в общем направлении поиска.
Значение по умолчанию: Истина

<Искать вперед> (необязательный)
Тип: Булево. Определяет направление поиска: Истина - искать вперед; Ложь - искать назад.
Значение по умолчанию: Истина

Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента, РисунокТабличногоДокумента; Неопределено. Если значение не найдено, то возвращается значение Неопределено.
7 Cube
 
09.06.10
05:30
Полагаю, что должно быть что-то вроде:

ПредыдущаяОбласть = Неопределено;
Для Сч = 1 По 10 Цикл
   Область = ТабДокумент.НайтиЗначение("искомое значение", ПредыдущаяОбласть);
   Область.ЦветФона = WebЦвета.Красный;
   ПредыдущаяОбласть = Область;
КонецЦикла;

Может, не совсем универсально, но принцип, я думаю, понятен.

P.S. Ждём фотку))
8 hhhh
 
09.06.10
06:27
(7) скорее так

ПредыдущаяОбласть = Неопределено;
Область = ТабДокумент.НайтиЗначение("искомое значение", ПредыдущаяОбласть);
Пока Область <> Неопределено Цикл
  Область.ЦветФона = WebЦвета.Красный;
  ПредыдущаяОбласть = Область;
  Область = ТабДокумент.НайтиЗначение("искомое значение", ПредыдущаяОбласть);
КонецЦикла;
9 Cube
 
09.06.10
07:18
(8) +1, я же сказал, что в (7) не универсально))
Независимо от того, куда вы едете — это в гору и против ветра!