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

объясните мне пожалуйста ... ЧТО ЭТО ТАКОЕ?
На этом сайте я уже поднимал эту тему но так и не был приложен выход. Это наверно потому что опять "сложное сделать просто".
Поэтому вынужден был отказаться от затеи.
Ладно! Рассчитываю на понимание... просто самому тоже не охота лишний раз поднимать темы.
Буду весьма признателен!
sava1
Цитата(Gigi @ 08.05.18, 15:34) необходимо зарегистрироваться для просмотра ссылки
ЯчейкаОбласть = ТабДок.Область("R"+НомерСтроки+"C6");


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

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

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

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

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

Или что то в этом роде... что то по проще и эффективнее
Если не трудно просто код и все дела ... буду признателен!
logist
Цитата(Gigi @ 08.05.18, 16:25) необходимо зарегистрироваться для просмотра ссылки
Если не трудно просто код и все дела

Если не трудно, была просьба не писать лирические тексты, просто вопрос и всё. Больше предупреждений не будет.
Gigi
logist @ Сегодня, 16:34 необходимо зарегистрироваться для просмотра ссылки ,
Ну ладно ... понял .. ерунда.
Так как обозначить текущую область ТабДок?
Можно ли как то зафиксировать это в каждом подходе цикла?
Ну на пример как то определить номер строки не ТЗ а ТД?
sava1
Цитата(Gigi @ 08.05.18, 15:34) необходимо зарегистрироваться для просмотра ссылки
Таблица.Параметры.Заполнить(Строка); Если Строка.БалансПроцент>6 Тогда //НУ НЕ НИКАК НЕ ОКРАШИВАЕТ ТО ЧТО НАДО! НИКАК!!!! ОПЯТЬ НИКАК НЕ МОЖЕТ СДЕЛАТЬ ОЧЕРЕДНУЮ ЕРУНДУ ... //ОКРАШИВАЕТ БЕЗОБРАЗНО .. СОВСЕМ НЕ ТЕ СТРОКИ КОТОРЫЕ ОБОЗНАЧЕНЫ УСЛОВИЕМ ЯчейкаОбласть = ТабДок.Область("R"+НомерСтроки+"C6");


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

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