Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как обойти все ячейки табличного документа          
Ardi Подменю пользователя
сообщение 25.09.12, 16:00
Сообщение #1

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

чтобы поменять в них шрифт, цвет, и т. д.
Или по другому поменять цвет текста сразу всего таб. документа.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

alex040269 Подменю пользователя
сообщение 25.09.12, 16:31
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Процедура СписокФоновыхЗаданийПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.Активно Тогда
        ОформлениеСтроки.Шрифт = Новый Шрифт(ШрифтыСтиля.ШрифтТекста,,, Истина);
    ИначеЕсли ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.Завершено Тогда
    ИначеЕсли ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда    
        ОформлениеСтроки.ЦветТекста = Новый Цвет(255, 0, 0);
    ИначеЕсли ДанныеСтроки.СостояниеЗадания = СостояниеФоновогоЗадания.Отменено Тогда    
        ОформлениеСтроки.ЦветТекста = Новый Цвет(128, 128, 128);
    КонецЕсли;
    
    Если ДанныеСтроки.Регламентное <> "" Тогда
        ОформлениеСтроки.Ячейки[0].Картинка = БиблиотекаКартинок.РегламентноеЗадание;
        ОформлениеСтроки.Ячейки[0].ОтображатьКартинку = Истина;
    КонецЕсли;
КонецПроцедуры


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Virgo Подменю пользователя
сообщение 25.09.12, 16:38
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 284
Из: Симферополь-Севастополь
Спасибо сказали: 56 раз
Рейтинг: 0

Например:
        ИмяОбласти = "R1C1:R"+Формат(ДокументРезультат.ВысотаТаблицы,"ЧН=; ЧГ=")+"C"+Формат(ДокументРезультат.ШиринаТаблицы,"ЧН=; ЧГ=");
        Область = ДокументРезультат.Область(ИмяОбласти);
        Область.ГраницаСправа = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);
        Область.ЦветФона = WebЦвета.Белый;

Vofka Подменю пользователя
сообщение 25.09.12, 16:42
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

alex040269, вы ничего не спутали?

Вот навскиду код, который обходит табличный документ. С ячейками я не заморачивался, думаю разберетесь:

Для а = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
    Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст; // посмотрите описание функции в СП, станет понятно как ячейки перебрать
КонецЦикла;

Ardi Подменю пользователя
сообщение 25.09.12, 17:06
Сообщение #5

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(Vofka @ 25.09.12, 17:42) *
Вот навскиду код, который обходит табличный документ

В документе есть области с разным "форматом строк". Тоесть разное количество столбцов.
И кажестя срабатывал только на часть ячеек.

Virgo
Сделал так
ИмяОбласти = "R1C1:R"+Формат(ТабДокумент.ВысотаТаблицы,"ЧН=; ЧГ=")+"C"+Формат(ТабДокумент.ШиринаТаблицы,"ЧН=; ЧГ=");
Область = ТабДокумент.Область(ИмяОбласти);
//Область.ГраницаСправа = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);
//Область.ЦветФона = WebЦвета.Белый;    
Область.ЦветТекста = ВыбранныйЦвет;

тоже красит только часть текста (у которого такая же ширина колонок как в верхней части таб. документа).

alex040269
Непонятно куда это вставлять.

Сообщение отредактировал Ardi - 25.09.12, 17:06


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

sava1 Подменю пользователя
сообщение 26.09.12, 7:59
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Ardi @ 25.09.12, 18:06) *
alex040269
Непонятно куда это вставлять.

в табл. поле (наверно)

Vofka Подменю пользователя
сообщение 26.09.12, 8:36
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(sava1 @ 26.09.12, 8:59) *
в табл. поле (наверно)

Та не. Я так думаю, alex040269 вопрос не правильно понял.

По теме ещё. Я не проверял, но что если делать обход ячеек по максимально ширине и при этом проверять заполненность ячейки и красить только заполненные.

alex040269 Подменю пользователя
сообщение 26.09.12, 10:35
Сообщение #8

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(Vofka @ 25.09.12, 17:42) *
alex040269, вы ничего не спутали?

Вот навскиду код, который обходит табличный документ. С ячейками я не заморачивался, думаю разберетесь:

Для а = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
    Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст; // посмотрите описание функции в СП, станет понятно как ячейки перебрать
КонецЦикла;

да, сори, я совсем не о том написал sad.gif


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Vary Подменю пользователя
сообщение 16.06.16, 13:15
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 25.09.12, 18:42) *
alex040269, вы ничего не спутали?

Вот навскиду код, который обходит табличный документ. С ячейками я не заморачивался, думаю разберетесь:

Для а = 1 по ТабличныйДокумент.ВысотаТаблицы Цикл
    Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст; // посмотрите описание функции в СП, станет понятно как ячейки перебрать
КонецЦикла;

вот спасибо, то что мне как раз нужно!!!!

Yuske777 Подменю пользователя
сообщение 16.12.17, 12:09
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ 26.09.12, 9:36 * ,
буду очень признателен, если укажите как сделать обход ячеек по области и соответствующую проверку на заполнение, а то несколько часов мучаюсь с тем, что закрашиваются строки табличной части намного шире того что надо. Не могу понять в чем дело?

Yuske777 Подменю пользователя
сообщение 16.12.17, 13:21
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

ИмяОбласти = "R19C2:R"+Формат(ТабДокумент.ВысотаТаблицы,"ЧН=; ЧГ=")+"C"+Формат(ТабДокумент.ШиринаТаблицы,"ЧН=; ЧГ=");
        Область = ТабДокумент.Область(ИмяОбласти);
        Область.ЦветФона = Цвет;


В ходе выполнения получается вот это



окрашивается еще 24 ячейки. Как это исправить ума не приложу.

Petre Подменю пользователя
сообщение 18.12.17, 9:22
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Yuske777 @ 16.12.17, 13:21 * ,
Удалите в макете эти лишние 24 ячейки.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Yuske777 Подменю пользователя
сообщение 18.12.17, 9:49
Сообщение #13

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Petre @ Сегодня, 10:22 * ,
Так их там и нет как таковых.

Проблема решена дублированием области строки и раскрашиванием в самом макете соответствующих ячеек по совету программиста 1с с многолетним стажем. Им же было сказано, что раскрашивание программно не ведет к нужному результату, всегда берется количество ячеек для раскрашивания по максимуму, т. е. хоть в коде и указано ШиринаТаблицы, берется максимальное количество ячеек со всех областей форматирования, и что только дублирование и соответствующее раскрашивание приводит к нужному результату. Всем спасибо.

sava1 Подменю пользователя
сообщение 18.12.17, 10:21
Сообщение #14

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Yuske777 @ 18.12.17, 9:49) *
Им же было сказано, что раскрашивание программно не ведет к нужному результату, всегда берется количество ячеек для раскрашивания по максимуму, т. е. хоть в коде и указано ШиринаТаблицы, берется максимальное количество ячеек


Бред. Область правильно указывайте.

Petre Подменю пользователя
сообщение 18.12.17, 10:41
Сообщение #15

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Yuske777 @ Сегодня, 9:49 * ,
faceoff.gif


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:09
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!