Версия для печати темы (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Цвета.Желтый;
    КонецЕсли;
ТабДок.Вывести(ОблТаблица);
КонецЕсли;
..........

Опять процедура никак не может попасть в значение "Нет" переменной "знОплачен" и окрасить строку в желтый цвет.
Т.е. окрасить те строки где реквизит: "СчетОплачен" имеет значение "Нет"
Почему?
Опять, что ли нужно строки загонять в массив или ТЗ , а уже после окрашивать .... и заставлять машину делать двойную работу. Опять что ли это делать необходимо ради какой то ерунды .
А нельзя ли одним циклом решить этот пустяк.
Короче буду опять признателен!
Суть в том, что код окрашивает не только значение "Нет", но местами прихватывает и значение "Да".
Т.е. попасть никак не может .. дурачек ...smile.gifsmile.gif ... Ладно Шутка!
Вообщем буду признателен!

Автор: 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