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

Хранилище

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

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



> Табличный документ - окрасить фон ячеек по условию          
Gigi Подменю пользователя
сообщение 08.05.18, 14:34
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Привет всем!
Ну я просто поражаюсь с этой системой. Я просто одуреваю от нее ....
Опять сделать ерунду это чуть ли не задача состыковать модули на космической орбите.
Тогда как обычно критерий качество платформы это когда сделать сложное просто. А тут наоборот... простое это просто ужас как сложно. И не то что правое ухо левой рукой, а еще и через ж..у.
Достало уже все это... просто уже поздно бросать....
Поэтому могу сказать что разработчикам должно быть СТЫДНО! СТЫДНО должно быть им за такой свой тупизм. Главное сколько людей над этим работали.. получше не могли что то придумать?
Короче я уже устал ... сил уже нет
Вот код:
//"БалансПроцент" ЭТО ИМЯ СТОЛБЦА ТАБЛИЦИ ЗНАЧЕНИЙ: "ТЗ_ПС_Балансы" С ТИПОМ "ЧИСЛО"
НомерСтроки = 0;
Для Каждого Строка из ТЗ_ПС_Балансы Цикл
НомерСтроки=НомерСтроки+1;
Таблица.Параметры.Заполнить(Строка);
        Если Строка.БалансПроцент>6 Тогда  
        //НУ НЕ НИКАК НЕ ОКРАШИВАЕТ ТО ЧТО НАДО! НИКАК!!!!  ОПЯТЬ НИКАК НЕ МОЖЕТ СДЕЛАТЬ ОЧЕРЕДНУЮ ЕРУНДУ ...
        //ОКРАШИВАЕТ БЕЗОБРАЗНО .. СОВСЕМ НЕ ТЕ СТРОКИ КОТОРЫЕ ОБОЗНАЧЕНЫ УСЛОВИЕМ        
        ЯчейкаОбласть = ТабДок.Область("R"+НомерСтроки+"C6");
        ЯчейкаОбласть.ЦветФона = WebЦвета["Желтый"];
        КонецЕсли;
ТабДок.Вывести(Таблица);
КонецЦикла;

объясните мне пожалуйста ... ЧТО ЭТО ТАКОЕ?
На этом сайте я уже поднимал эту тему но так и не был приложен выход. Это наверно потому что опять "сложное сделать просто".
Поэтому вынужден был отказаться от затеи.
Ладно! Рассчитываю на понимание... просто самому тоже не охота лишний раз поднимать темы.
Буду весьма признателен!

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

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

Цитата(Gigi @ 08.05.18, 15:34) *
ЯчейкаОбласть = ТабДок.Область("R"+НомерСтроки+"C6");


Надо брать ячейку таблицы.
Цитата(Gigi @ 08.05.18, 15:34) *
И не то что правое ухо левой рукой, а еще и через ж..у.

А может, просто "руки так привыкли" ?

Gigi Подменю пользователя
сообщение 08.05.18, 15:25
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Цитата(sava1 @ 08.05.18, 15:49) *
Надо брать ячейку таблицы.

Какую таблицу? Таблицу значений что ли? .... гуууу...
Т.е. я должен попасть ... номер строки ТЗ и номер строки Таб. док нужно стыковать ...
Цитата(sava1 @ 08.05.18, 15:49) *
А может, просто "руки так привыкли" ?

Да ... действительно приходиться привыкать ... что бы работать с системой smile.gif
Короче ... а нельзя ли другим путем ... менее геморройным и простым... а то... делать больше нечего стыковать номер строки ТЗ с номером строки Таб. док.
Ну на пример в цикле обозначить текущую область ТабДок.
Т.е. вместо :
        ЯчейкаОбласть = ТабДок.Область("R"+НомерСтроки+"C6");
        ЯчейкаОбласть.ЦветФона = WebЦвета["Желтый"];

Сделать по другому. На пример примерно так
стрОбластьЯчТабДок=""; //Тут нужна команда ... как получить адрес текущей области цыкла
        ЯчейкаОбласть = ТабДок.Область(стрОбластьЯчТабДок);
        ЯчейкаОбласть.ЦветФона = WebЦвета["Желтый"];

Или что то в этом роде... что то по проще и эффективнее
Если не трудно просто код и все дела ... буду признателен!

logist Подменю пользователя
сообщение 08.05.18, 15:34
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 08.05.18, 16:25) *
Если не трудно просто код и все дела

Если не трудно, была просьба не писать лирические тексты, просто вопрос и всё. Больше предупреждений не будет.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Gigi Подменю пользователя
сообщение 08.05.18, 16:03
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

logist @ Сегодня, 16:34 * ,
Ну ладно ... понял .. ерунда.
Так как обозначить текущую область ТабДок?
Можно ли как то зафиксировать это в каждом подходе цикла?
Ну на пример как то определить номер строки не ТЗ а ТД?

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

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

Цитата(Gigi @ 08.05.18, 15:34) *
Таблица.Параметры.Заполнить(Строка); Если Строка.БалансПроцент>6 Тогда //НУ НЕ НИКАК НЕ ОКРАШИВАЕТ ТО ЧТО НАДО! НИКАК!!!! ОПЯТЬ НИКАК НЕ МОЖЕТ СДЕЛАТЬ ОЧЕРЕДНУЮ ЕРУНДУ ... //ОКРАШИВАЕТ БЕЗОБРАЗНО .. СОВСЕМ НЕ ТЕ СТРОКИ КОТОРЫЕ ОБОЗНАЧЕНЫ УСЛОВИЕМ ЯчейкаОбласть = ТабДок.Область("R"+НомерСтроки+"C6");


Вы заполняете область Таблица
а раскрасить хотите квкую-то ячейку в ТабДок

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

Говорящий
***
Группа: Пользователи
Сообщений: 68
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Gigi , может, как то так у Вас заработает?
//"БалансПроцент" ЭТО ИМЯ СТОЛБЦА ТАБЛИЦИ ЗНАЧЕНИЙ: "ТЗ_ПС_Балансы" С ТИПОМ "ЧИСЛО"
Для Каждого Строка из ТЗ_ПС_Балансы Цикл
        Таблица.Параметры.Заполнить(Строка);
        Если Строка.БалансПроцент>6 Тогда  
                Таблица.Область("R1C6").ЦветФона = WebЦвета["Желтый"];
        КонецЕсли;
        ТабДок.Вывести(Таблица);
КонецЦикла;

Конечно, если "Таблица" у Вас получает именно область макета "Строка", которую выводит в цикле.
Небольшая рекомендация давать областям макета названия более подходящие...
Из "Таблица" сложно понять, что Вы хотите вывести, Назовите уж ОбластьСтрока
тогда будет понятно даже без кода, что Вы получаете Строку и производите манипуляции с ней,
а не со всей таблицей...
Область, которую Вы выводите в цикле, каждый раз состоит из 1 строки, "R" всегда будет 1, если у Вас 1 строка.
Думается мне (поправьте, если ошибаюсь), номер строки берется из количества строк в области макета, а не в целом по документу.
Раскрашивайте область макета, потом выводите...

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


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

 

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