Версия для печати темы (https://pro1c.org.ua/index.php?s=f91de7d63f0ab98a587958bf550f4b7a&showtopic=42061)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Табличный документ - окрасить строку в цвет по условию цикла
Автор: Gigi 21.11.17, 9:12
Всем привет!
Опять вынужден выходить на форум и опять по ерунде.
Вот фрагмент процедуры запроса на создание отчета с использованием макета:
........
знОплачен=Строка(ЗапросОбъект.СчетОплачен);
Если ОтчетныйПериод=знОтчетныйМесяц Тогда
номСтр=номСтр+1;
ОблТаблица.Параметры.Заполнить(Запрос);
Если знОплачен="Нет" Тогда
Сообщить(знОплачен+" -- "+номСтр);
ТекОбласть=ТабДок.Область("R"+номСтр+"C1:R"+номСтр+"C12");
ТекОбласть.ЦветФона=WebЦвета.Желтый;
КонецЕсли;
ТабДок.Вывести(ОблТаблица);
КонецЕсли;
..........
Опять процедура никак не может попасть в значение "Нет" переменной "знОплачен" и окрасить строку в желтый цвет.
Т.е. окрасить те строки где реквизит: "СчетОплачен" имеет значение "Нет"
Почему?
Опять, что ли нужно строки загонять в массив или ТЗ , а уже после окрашивать .... и заставлять машину делать двойную работу. Опять что ли это делать необходимо ради какой то ерунды .
А нельзя ли одним циклом решить этот пустяк.
Короче буду опять признателен!
Суть в том, что код окрашивает не только значение "Нет", но местами прихватывает и значение "Да".
Т.е. попасть никак не может .. дурачек ...
... Ладно Шутка!
Вообщем буду признателен!
Автор: Petre 21.11.17, 9:21
Gigi @ Сегодня, 10:12
,
Что говорит отладчик?
Автор: podcast 21.11.17, 9:25
Gigi @ Сегодня, 9:12
,
Реквизит СчетОплачен булево?
Автор: Gigi 21.11.17, 9:28
Цитата(Petre @ 21.11.17, 10:21)
Что говорит отладчик?
Да ничего он не говорит ... просто окрашивает не только нет... безобразничает и издевается... я ему говорю окрашивай только значение: "Нет", а он местами прихватывает и значение: "Да"
Цитата(podcast @ 21.11.17, 10:25)
Реквизит СчетОплачен булево?
Нет! Это просто ссылка на перечисление:"ДаНет"... со значениями: "Да","Нет".... всего лишь
Автор: podcast 21.11.17, 9:36
Gigi @ Сегодня, 9:28
,
Так сравните его с перечислением, а не с строкой.
Автор: Gigi 21.11.17, 9:44
Цитата(podcast @ 21.11.17, 10:36)
Так сравните его с перечислением, а не с строкой.
А что в этом проблема? Сомневаюсь...
Дело в том, что в коде для теста есть линия:
Сообщить(знОплачен+" -- "+номСтр);
И не случайно так.
Т.е. Код выполняет условие алгоритма. Следовательно внутри:
Если знОплачен="Нет" Тогда
Сообщить(знОплачен+" -- "+номСтр)
....
КонецЕсли;
Выдает только список со значениями: "Нет". Т.е. в списке сообщений нет ни одного значения "Да".
Просто правильно выполняя условие не те номера строк окрашивает.
Думаю в этом дело.
Автор: Petre 21.11.17, 10:10
Gigi @ Сегодня, 9:12
,
Замените
ТекОбласть=ТабДок.Область("R"+номСтр+"C1:R"+номСтр+"C12");
на
ТекОбласть = ТабДок.Область(номСтр, 1, номСтр, 12);
Автор: Gigi 21.11.17, 10:23
Petre @ Сегодня, 11:10
,
Заменил ...
Вариант:
ТекОбласть = ТабДок.Область(номСтр, 1, номСтр, 12);
Делает то же самое, что и вариант:
ТекОбласть=ТабДок.Область("R"+номСтр+"C1:R"+номСтр+"C12");
Один в один..
К сожалению
Gigi @ Сегодня, 11:15
,
Делает так ...
! |
| http://pro1c.org.ua/index.php?act=announce&id=2: 8
|
Автор: Petre 21.11.17, 10:29
Gigi @ Сегодня, 10:23
,
Это надо, чтобы исключить проблемы преобразования. Да и так правильнее делать.
Какой результат я так и не понял (не увидел).
Покажите, что выводит окно сообщений.
Автор: Gigi 21.11.17, 10:35
Цитата(Petre @ 21.11.17, 11:29)
Какой результат я так и не понял (не увидел).
Покажите, что выводит окно сообщений.
Я сменил картинку с сообщениями ... так что там уже со списком сообщений с номерами строк.
Цитата(Petre @ 21.11.17, 11:29)
Это надо, чтобы исключить проблемы преобразования. Да и так правильнее делать.
А исключить проблемы преобразования это как?
Автор: Petre 21.11.17, 10:45
Цитата(Gigi @ 21.11.17, 10:35)
Я сменил картинку с сообщениями ... так что там уже со списком сообщений с номерами строк.
Цитата
Перевищено термін очікування відповіді від сервера pp.userapi.com
Цитата(Gigi @ 21.11.17, 10:35)
А исключить проблемы преобразования это как?
1000 при преобразовании в строку будет отформатирована с учетом стандартных региональных настроек, например в "1 000".
Автор: Gigi 21.11.17, 11:04
Petre @ Сегодня, 11:45
,
Ладно! Уважаемые ... придется отказаться от окрашивания срок.
Тем более это не столь важный вопрос. Хрен с ним...
Но все равно спасибо
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua