|
v7: Не работает раскраска справочника при отключении выборочной раскраски | ☑ | ||
---|---|---|---|---|
0
Stella0608
03.04.13
✎
17:01
|
При открытии справочника номенклатура определенные строки справочника должны раскрашиваться. Проблема заключается в том, что раскраска пропадает при установки опции "выборочная раскраска" на закладке FormEx.
Что было опробовано: 1) удален фильтр по раскрашиваемым строкам (пусть красится все) - проблема не исчезла. 2) проведен тест на другой самописной БД. Сама 1с запускается по одному и тому же ярлыку, dll скопирована из рабочей базы (чтобы версии совпадали), код раскраски скопирован. Раскраска прекрасно работает как при установке выборочной раскраски, так и без нее. Т.е. глюки исключительно в рабочей базе. Код, к примеру, такой: "Возврат "BRUSH["+ПолучитьЦвет(176,226,255)+"]"; Куда копать, а то версии исчерпаны :(. |
|||
1
Ёпрст
03.04.13
✎
17:14
|
Ё..
прочитать наконец СП! |
|||
2
Ёпрст
03.04.13
✎
17:15
|
ЗЫ: Использовать новый план расскраски + выборочная расскраска именно там, где нужно
|
|||
3
Stella0608
03.04.13
✎
17:17
|
Мне нужно тупо раскрасить одну строку.
И я в упор не понимаю, почему в одной базе работает, а вот второй нет. :( |
|||
4
Ёпрст
03.04.13
✎
17:20
|
Текстовую колонку в любое место с ЗАГОЛОВКОМ
FormEx_ПланРаскраски и формулой, например, такой "(BRUSH[255])" Процедура ПослеСозданияФормы() Сервис = СоздатьОбъект("Сервис"); Сервис.ИспользоватьПланРаскраски(1); Сервис.ВключитьРаскраскуТаблиц(1); РасшФормы= СоздатьОбъект("РасширениеФормы"); РасшФормы.УстановитьФорму(Форма); РасшФормы.РаскрашиватьТаблицу("МногострочнаяЧасть"); КонецПроцедуры |
|||
5
Ёпрст
03.04.13
✎
17:20
|
Только сервис лучше пихать в глоб модуль и включить расскраску один раз там в ПриНачалеРаботыСистемы
|
|||
6
Ёпрст
03.04.13
✎
17:21
|
Если 1cpp нема, то ПослеСозданияФормы заменить на ПриОткрытии или ПослеОткрытия
|
|||
7
ЧеловекДуши
03.04.13
✎
17:22
|
(0) Все дело в плане раскраски :)
У Формекса два режима раскраски: 1. Медленный, как у тебя через "BRUSH["+ПолучитьЦвет(176,226,255)+"]" и т.д. 2. Быстрый, на таблице или списке справочника должна быть создана колонка с заголовком "FormEx_ПланРаскраски" (это может и не быть реквизит) В заголовке нужно определиться подобной формулой "РаскраситьКолонки()" //РаскраситьКолонки() //_____________________________________________________________________________ Функция РаскраситьКолонки() Перем Рез; Перем ЦветСтрока,ЦветСтрока2,ЦветСтрока3,ЦветСтрока4; Рез = ""; Если ЗапретитьОтгрузку = 0 Тогда Возврат Рез; КонецЕсли; ЦветСтрока = "C0C0C0"; //Серый фон ЦветСтрока2= "000000"; //Черный шрифт ЦветСтрока3= "0000FF"; //Красный Фон ЦветСтрока4= "FF0000"; //Синий шрифт Рез="(FONT[0x"+ЦветСтрока2+"] BRUSH[0x"+ЦветСтрока+"] FONT_S[0x"+ЦветСтрока4+"] BRUSH_S[0x"+ЦветСтрока3+"])";// COUNT["+КолКолонок+"]"; //Цвет зеленый - кодировка наоборот RGB -> BGR Возврат Рез; КонецФункции //РаскраситьКолонки(1) Читай СП, там все описано... Как нужно задавать шаблон для разукраски. |
|||
8
Stella0608
03.04.13
✎
17:29
|
1) Есть 1с++ и еще море ВК.
2) На тему медленный - не медленный... Можно подумать на тему версии о том, что проблема в объеме базы. Рабочая база очень большая, возможно выборочная раскраска на ней просто затыкается. Ибо версии уже исчерпаны, на самописке маленькой код идентичный и пофиг на галку. 3) Раскраска включена в ПриНачалеРаботыСистемы() 4) Можно ли одновременно использовать старый и новый план раскраски? На данный момент вся база написана на старом, и переписывать полконфы мне банально никто не даст. |
|||
9
Ёпрст
03.04.13
✎
17:34
|
(8)
4.неа |
|||
10
Stella0608
03.04.13
✎
17:35
|
Тогда упс... а решить проблему никак? В других базах работает же....
|
|||
11
Ёпрст
03.04.13
✎
17:35
|
+9 а переписывать и не надо, поставишь turbomd.dll и на ходу поменяешь где надо.
Не думаю, что она у вас повсюду и повсеместно. Делов то на полчаса |
|||
12
ЧеловекДуши
03.04.13
✎
17:39
|
(10) Либо тот, либо другой метод. :)
|
|||
13
Stella0608
03.04.13
✎
17:43
|
(11) Не взлетит, у нас каждое изменение кода по согласованию.
Мне больше интересно, почему первый метод не работает. |
|||
14
Stella0608
03.04.13
✎
18:26
|
Добавила ПослеОткрытия() и 2 строчки кода - все заработало...
Так в чем проблема была? |
|||
15
Stella0608
04.04.13
✎
10:25
|
В общем ситуация такая.
1) В моей самописке примерно такой же код, как в (4). Правда заголовка нет, и используется ПослеОткрытия(). Работает нормально и в справочниках, и в ТЗ, и в документах. Если перенести процедуру ПослеОткрытия() в рабочую базу (раскраску в ней писала не я), раскрашивается нормально, независимо от того, какие галочки установлены в настройках FormEx. 2) То, что приведено в (4) - это старый или новый план раскраски? 3) Если ли принципиальная разница, применять ПослеОткрытия() или ПослеСозданияФормы() в том случае, если одновременно установлены FormEx или 1с++? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |