Меняется регистр шрифта в "раскрашенной" колонке

Автор MWW_Ruza, 20 ноября 2024, 16:55

« назад - далее »

MWW_Ruza

Собственно, вот видео:

https://cloud.mail.ru/public/AFkF/guLyupNvd

Странное поведение, пока не понял, с чем связано...

Злоп


АЛьФ


Харлампий Дымба

Может дело и не в Формексе?
Как вариант: если колонка "Марки" текстовая и значения меняются только при открытии / при изменении, то возможно в одной из следующих колонок есть ВРег значения колонки "Марки". Тогда при первоначальном заполнении текст будет в нижнем регистре, и так как значения колонок вычисляются по порядку следования и рисуются в этом же порядке, то так визуально и останется в нижнем регистре. А после следующего обновления формы (переход по поиску, например) - выводятся уже преобразованные значения.
Ну и по модулю формы и/или модулю функции заполнения стоит пробежаться поиском по местам использования "ВРег(".


MWW_Ruza

По порядку...

1. Колонка марок - текстовая или реквизит?
Текстовая. Но, значение хранится в реквизите(невидимая колонка рядом), вот так:



2. Код заполнения колонки этого реквизита, из которого текстовая колонка заполняется:

Если ПустоеЗначение(НовКолМарок) = 0 Тогда
    КолМаркБаза   = НовКолМарок;
    СтрМаркиЗапрЕГАИС   = СЗ.Получить("СтрМаркиЗапрЕГАИС");
    МаркиЗапрЕГАИС   = СокрЛП(СтрМаркиЗапрЕГАИС);
    КолМарокЕГАИС   = СЗ.Получить("НовКолМарокЕГАИС");   
    Если КолМаркБаза = 0 Тогда
   ЦСпМарк   = "FONT[" + ПолучитьЦвет(255) + "]";
    Иначе
   ЦСпМарк   = "FONT[" + ПолучитьЦвет(0,0,255) + "]";
    КонецЕсли;         
КонецЕсли;

3. В самой колонке, которую раскрашиваю, и в которой ищу статус:

Функция ПокМарки()
   Если КолМаркБаза = 0 Тогда
      Возврат "Нет марок в нал.";   
   Иначе
      Возврат "Список марок";
   КонецЕсли;   
КонецФункции

4. Поиск ВРег(



Нет там ничего такого, что могло бы так отрабатывать...
Следом за раскрашиваемой колонкой только одна колонка, реквизит, текстовый(правда, максимально-возможной длины 999 символов, так, как в нем содержится список кодов справочника "Марки", которые относятся к этой строке документа, значением в строку с разделителями).
По большому счету, это "странное поведение" не мешает, просто интересно, отчего это происходит...
Похоже, типа "какая-то глобальная переменная сеанса", так, как нигде это не сохраняется при выходе из программы и входе опять - регистр нижний, но, внутри сеанса - если переключилось на верхний регистр, так и остается, пока программу не закроешь... Открыть/закрыть этот документ - не влияет, если переключилось на ВР, то так и остается, и при повторном открытии, уже сразу в верхнем регистре эта колонка....

АЛьФ

А есть возможность попробовать сделать с планом раскраски?
У меня приводится к верхнему регистру буфер при анализе на макрос раскраски. Обратно в таблицу из этого буфера ничего прилетать не должно.

MWW_Ruza

Цитата: АЛьФ от Вчера в 10:52А есть возможность попробовать сделать с планом раскраски?

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