|
v7: Раскраска ячеек FormEx'ом | ☑ | ||
---|---|---|---|---|
0
BLP
16.06.19
✎
14:44
|
Приветствую!
Столкнулся с раскрасками таблиц через FormEx. Пораскрашивал, где и что надо, по условиям строки и даже отдельные ячейки. Работает прекрасно. Но вот столкнулся с одной проблемой, не получается. Есть многострочный документ, в котором есть колонка условно "Товар". Бывает что данный "товар" дублируется в справочнике и периодически требуется помечать на удаление, чтобы оставить только один. И бывает что данный "товар“ забит в разных документам (то один , то дубликат), и помеченный нельзя удалить, пока он не в каком-то доке. Через функцию помеченных на удаление мне показывает в каком доке он находится, иду и меняю его на основной. Не проблем. Но хотелось быть , чтобы при открытии документа в табличной части ячейка (не строка) с помеченным на удаление была визуально видна и цветная (красная, напр). Делаю все по аналогии с функциями в справочникам, а вот в доке не получается. Мой код: Function FormEx_Check() DeleteGood = CreateObject("Reference.Good"); If DeleteGood.FindByCode(Good.Code,0)=1 Then If DeleteGood.DeleteMark()=1 Then Return "BRUSH["+GetColour(255,0,0)+"]COUNT[1]INDENT[3]" EndIf; EndIf; EndFunction |
|||
1
ДенисЧ
16.06.19
✎
14:54
|
Анафейхоа искать в справочнике ссылку на ссылку?
А по сути - условие срабатывает? |
|||
2
BLP
16.06.19
✎
15:06
|
По сути, это как?
В форме справочника ЭТО работает ElsIf (Left(CurrentItem().Colour.Code,3)<>CurrentItem().Breed.Code) Then Return "BRUSH["+GetColour(255,0,0)+"]COUNT[1]INDENT[5]"; Это выглядит так. Если в форме елемента 3 первые буквы значения Color не такие же как Код значения Breed, то в списке справочника значение ячейки колонки Color будет красной. Работает. )) |
|||
3
BLP
16.06.19
✎
15:08
|
Я хочу, чтобы в документе ячейка с наименованием товара тоже была красной, если этот товар в справочнике помечен на удаление .
По другому объяснить не могу. (( |
|||
4
ДенисЧ
16.06.19
✎
15:11
|
"условие срабатывает?"
(с) я, ненаглядный |
|||
5
HawkEye
16.06.19
✎
15:29
|
(0) что мешает у помеченных на удаление Елементов написать: "Не использовать!!"?
|
|||
6
BLP
16.06.19
✎
15:29
|
наверное, да ))
т.к. если для проверки я ставлю перед раскрашиванием команду "Сообщить“, Сообщение выводится у помеченного на удаление |
|||
7
BLP
16.06.19
✎
15:34
|
(5) Естественно, никто помеченные на удаление элементы не использует и не вводит в док.
Спустя какое-то время появляется дубликат элемента в справочнике, видя 2 или даже 3 , я оставляю только один, а остальные помечаю на удаление. Потом начинаю искать где они, и заменять на реальный. Вопросы типа "анафейхоа", а зачем - не по теме, значит, надо. Я прошу помочь по существу с реализацией функции или подсказать почему не работает. |
|||
8
Sserj
16.06.19
✎
18:48
|
(7) Ну вообще в порядке эксперемента попбробуй после Return "BRUSH["+GetColour(255,0,0)+"]COUNT[1]INDENT[3]" поставить semicolon выражаясь твоим языком :)
|
|||
9
Djelf
16.06.19
✎
18:50
|
Вот это вот зачем?
DeleteGood = CreateObject("Reference.Good"); If DeleteGood.FindByCode(Good.Code,0)=1 Then If DeleteGood.DeleteMark()=1 Then У тебя же товар присутствует в табличной части, вот этого "If Good.DeleteMark()=1 Then" почему недостаточно? |
|||
10
Sserj
16.06.19
✎
18:59
|
(9) Ну а как же по другому! А вдруг кто пометит товар после того как документ открыли, нужны всегда актуальные данные :)
Кстати все хотел на 1cpp спросить, новую sqlite планируется выкладывать, а то там вроде много ошибок в оконных функциях пофиксили. |
|||
11
HawkEye
16.06.19
✎
19:30
|
(7) как написал, так и работает.... кто тебя знает что ты там наваял....
|
|||
12
mikecool
16.06.19
✎
22:14
|
(9) это до кучи к англоязычному коду ))
|
|||
13
big
17.06.19
✎
07:11
|
А в каком месте прописана функция FormEx_Check() ? В какой колонке?
|
|||
14
Djelf
17.06.19
✎
11:08
|
(9) Я почти сразу же после релизов собираю, только афишировать лень ;)
https://cloud.mail.ru/public/9znr/ZJ6ULE9aR |
|||
15
BLP
17.06.19
✎
12:29
|
(12) И только, у меня он весь на англо… А проблема в чем? Незнанепонима?
|
|||
16
BLP
17.06.19
✎
12:32
|
(9) Ну, как бы в описании написано что DeleteMark() работает только для объектов созданных функцией СоздатьОбъект(). Вот и подумал, что так надо ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |