![]() |
|
Изменение цвета фона отдельных ячеек в ТЧ документа ОФ | ☑ | ||
---|---|---|---|---|
0
НоваяВолна
03.04.16
✎
10:04
|
Доброго всем времени суток.
Столкнулся с проблемой. Есть ТЧ на форме документа (ОФ), При изменении значения первой колонки, в зависимости от выбранного значения, некоторые колонки строки должны быть обязательны для заполнения. Эти ячейки в строке надо пометить цветом. Пока добился только изменения цвета ячеек всей колонки, что не правильно. Как обратиться к нужной ячейке нужной колонки и поменять только ее цвет, не изменяя цвет всех ячеек колонки? Код примерно такой Процедура КомпанияПобедительТорговПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Стр = ЭлементыФормы.КомпанияПобедительТоргов.ТекущаяСтрока; Если Стр.ВидСделки = Перечисления.ВидСделки.ПрямаяСделка ИЛИ Стр.ВидСделки = Перечисления.ВидСделки.АгентскаяСделкаБезПремии Тогда ОформлениеСтроки.Ячейки.КомпанияПобедительТоргов.ЦветФона = WebЦвета.БледноБирюзовый; КонецЕсли; КонецПроцедуры |
|||
1
RomanYS
03.04.16
✎
10:07
|
замени
Стр = ЭлементыФормы.КомпанияПобедительТоргов.ТекущаяСтрока; на Стр = ДанныеСтроки; |
|||
2
НоваяВолна
03.04.16
✎
10:20
|
(1) Спасибо)))) помогло!!!!
|
|||
3
НоваяВолна
03.04.16
✎
17:17
|
(0) Вопрос к модераторам? Могу ли я изменить тему сабжа? Не хочется задавать новую ветку, а есть вопрос по продолжению этой
|
|||
4
nordbox
03.04.16
✎
17:25
|
Ответ пользователей
НЕТ, не можешь Пиши тут |
|||
5
НоваяВолна
03.04.16
✎
17:25
|
(0) А ВОПРОС такой! Таже самая ТЧ, в которой теперь подсвечены обязательные для заполнения поля. ПередЗаписью() надо проверить их заполненность, и сохранять документ только в том случае, если все ОБЯЗАТЕЛЬНЫЕ ПОЛЯ заполнены во всех строчках. Само сохранение можно производить в документ (Я ТАК ДУМАЮ, МОЖЕТ Я НЕ ПРАВ)... Не хочется подкладывать под ТЧ документа регистр (долго, муторно и не нужно)...
МОГУ ЛИ Я ПередЗаписью() выгрузить ТЧ в таблицу значений и проверить на заполненность ее? ... И будет ли такой подход правильный? |
|||
6
nordbox
03.04.16
✎
17:28
|
>> Не хочется подкладывать под ТЧ документа регистр
А зачем в регистр???? Просто проверь на значение. Есть или Нет. |
|||
7
НоваяВолна
03.04.16
✎
17:38
|
(6)
1) в каждой колонке разный тип значения (число, строка, булево, перечисление, справочник и т.д.) 2) При выборе значения первой колонки текущей строки ОБЯЗАТЕЛЬНЫМИ для заполнения становятся разные ячейки (в зависимости от выбора) 3) ВОТ В ЭТОМ ПРОБЛЕМА!!! Документ может быть записан (ВСЕ В НЕМ ПРАВИЛЬНО!!), но потом отрыт для редактирования и при смене значения первой колонки нужно будет заполнять ДРУГИЕ ОБЯЗАТЕЛЬНЫЕ ПОЛЯ... |
|||
8
НоваяВолна
03.04.16
✎
17:41
|
(7)+ Т.е. ведущим является первая колонка любой строки ВидСделки - в зависимости от вида сделки ОБЯЗАТЕЛЬНЫМИ становятся от 4-х до 18 полей ТЧ (не всегда по порядку)
|
|||
9
nordbox
03.04.16
✎
17:43
|
Ну сделай проверку на Неопределено,Пусто, "" , 0, истина,ложь
в чем проблема??? И в цикле по колонкам пройдись на Пусто или Неоопределено |
|||
10
НоваяВолна
03.04.16
✎
17:44
|
(7) +++ Т.е. я не могу проверить все изменения в ТЧ с момента открытия, до его сохранения.... хотя я опять же может неправ
|
|||
11
nordbox
03.04.16
✎
17:45
|
Зачем проверять при открытии если заранее известно что уже там правильно???
|
|||
12
НоваяВолна
03.04.16
✎
17:47
|
(9) Хорошо! Как я могу программно понять что в строке скажем № 3 Изменилась Первая ВЕДУЩАЯ колонка?... ведь документ еще не записан!... А изменение может быть таким, что его и нельзя записать с незаполненными в этой строке дополнительными (по сравнению с старым вариантом) ячейками
|
|||
13
nordbox
03.04.16
✎
17:47
|
ПриОкончанииРедактирования
|
|||
14
НоваяВолна
03.04.16
✎
17:48
|
(11) Правильный документ могут открыть и отредактировать ПЕРВУЮ колонку, что он вмиг станет НЕПРАВИЛЬНЫМ
|
|||
15
nordbox
03.04.16
✎
17:49
|
Ну и чо из этого???
Есть еще ПЕРЕДОкончаниемРедактирования |
|||
16
nordbox
03.04.16
✎
17:50
|
Док тогда ля чего открывать??
Ну сделай кнопку запрета редактирования вправах |
|||
17
nordbox
03.04.16
✎
17:53
|
способов мульён,
ПЕРЕДОкончаниемРедактирования или ПриОкончанииРедактирования Твоей таб части сделай проверку на првильность |
|||
18
НоваяВолна
03.04.16
✎
17:55
|
(15) Хорошо. Поставлю вопрос по другому. Есть документ, заполнен правильно, сохранен! Его открыли и в ПЕРВОЙ КОЛОНКЕ ТЧ (в какой-то строке)поменяли значение, что может быть, но при этом нужно заполнить дополнительные ОБЯЗАТЕЛЬНЫЕ ЗНАЧЕНИЯ ТЧ.
ВОПРОС: КАК ДО СОХРАНЕНИЯ ИЗМЕНЕНИЙ ПРЕДУПРЕДИТЬ ПОЛЬЗОВАТЕЛЯ, ЧТО ОН НЕ ЗАПОЛНИЛ ВСЕ НУЖНЫЕ ПОЛЯ? Я НЕ ВИЖУ НА КАКОЕ ЗНАЧЕНИЕ ОН ПОМЕНЯЛ ПЕРВУЮ КОЛОНКУ... ПОТОМУ КАК ОНА ЕЩЁ НЕ СОХРАНЕНА В БАЗУ!!! ГДЕ МНЕ УВИДЕТЬ ЧТО И НА ЧТО ОН ПОМЕНЯЛ? |
|||
19
НоваяВолна
03.04.16
✎
18:00
|
(0) Короче, думаю ПередЗаписью() вываливать ТЧ в ТЗ и проверять на заполненность ТЗ... и если правильно, сохранять, нет ... так выдавать предупреждение, без сохранения
|
|||
20
nordbox
03.04.16
✎
18:01
|
И чо????
Если ты так акцентируешь что докк не записан, то причем тогда тут призаписи ??? )))) Пройдись по строкам и первой колонке Табличная часть (Tabular section) Количество (Count) Синтаксис: Количество() Возвращаемое значение: Тип: Число. Описание: Получает количество строк табличной части. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: ВсегоСтрок = Состав.Количество(); |
|||
21
nordbox
03.04.16
✎
18:02
|
А у конкретной клетке есть еще и ПриИзменении
|
|||
22
nordbox
03.04.16
✎
18:03
|
у тебя юзвери будут контролироваться не ПриЗаписи,
а еще на стадии изменения или клетки или табчасти вообще |
|||
23
НоваяВолна
03.04.16
✎
18:10
|
(20) Количество колонок строго определено. Я же акцентирую внимание на том, что документ ЗАПИСАН и записан правильно, НО ОТКРЫТ НА РЕДАКТИРОВАНИЕ .. и может быть отредактирован НЕ ПРАВИЛЬНО. Так вот, при повторной записи документа (ПриЗаписи()) надо проверить правильность редактирования документа. И если он неправильно отредактирован, то не сохранять изменения
|
|||
24
НоваяВолна
03.04.16
✎
18:12
|
(23) + точнее проверка должна быть ПередЗаписью()
|
|||
25
nordbox
03.04.16
✎
18:14
|
а почему нельзя проверять правильность на стадии редактирования???
Ну делай как считаешь нужным, я тебе сказал что я думаю по этому поводу На самом деле там может быть и более простое решение. Просто ты не полностью озвучиваешь задачу смотри сам |
|||
26
НоваяВолна
03.04.16
✎
18:19
|
(25) думаю, что это длинный геммор проверять каждую колонку на заполненность в зависимости должна ли она быть заполнена при редактировании... Лучше проверить один раз при попытке сохранения
|
|||
27
nordbox
03.04.16
✎
18:23
|
Тебе в лом один раз функцию написать???
(а тебе в любом случае придется это делать и в цикле загнать или при окончании редактирования или изменения |
|||
28
nordbox
03.04.16
✎
18:24
|
Функция ПроверитьСтроку()
.... .... возврат КонецФункции |
|||
29
nordbox
03.04.16
✎
18:25
|
Ты на ровном месте проблему ищешь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |