![]() |
![]() |
![]() |
|
запрос с выгрузкой цвета | ☑ | ||
---|---|---|---|---|
0
Vasus55
09.01.12
✎
07:54
|
добрый день!
вопрос такой! есть документ в нем в табличной части документа есть ячейка которая закрашена в определенный цвет, запросом выгружаю данные с этого дока на общую форму в табличное поле, но не знаю как именно сделать так, чтобы выгрузить эту закрашенную ячейку??? подскажите как можно это сделать пож-та |
|||
1
andrewks
09.01.12
✎
08:19
|
нифига не понял
|
|||
2
Vasus55
09.01.12
✎
08:31
|
у меня выводится, но пустая ячейка
|
|||
3
xarann
09.01.12
✎
08:32
|
Телепаты в отпуске, но, наверняка, в документе ячейка красится при истинности определенного условия, ТС предлагается найти это условие и повторить в запросе или покрасить аналогично.
Не ячейка красит программиста, а программист ячейку :) |
|||
4
Vasus55
09.01.12
✎
08:35
|
на этой общей форме в табличном поле отборажаются клиенты, где отображается статус работы с клиентом, в моем случае статус отображается в виде закрашенной ячейки
все эти данные хранятся в доке, где уже в табличной части есть этот статус, также в закрашенной ячейке |
|||
5
andrewks
09.01.12
✎
08:36
|
у табличной части нет никаких закрашенных ячеек
|
|||
6
Рэйв
09.01.12
✎
08:37
|
(0)Ячейка закрашена на форие и ее цвет к выгружаемой таб части не имеет никакого отношения.
Наверняка есть условие по которому ячейка раскрашивается.проверяй его при выводе в общую форму и будешь значит что красить, а что нет |
|||
7
Vasus55
09.01.12
✎
08:38
|
andrewks
в табличной части есть ячейка статус, которую я закрашиваю в определеный цвет |
|||
8
Рэйв
09.01.12
✎
08:39
|
(7)В табличной части вообще нет ячеек
|
|||
9
Рэйв
09.01.12
✎
08:39
|
+(8)И тем более нет возможности их раскрашивать
|
|||
10
Godofsin
09.01.12
✎
08:40
|
Предлагается внимательно перечитать (6) и (3)
|
|||
11
andrewks
09.01.12
✎
08:42
|
(7) неплохо было бы подучить мат.часть.
представь, что ты смотришь в зеркало, и пририсовал своему отражению в зеркале рожки. потом ты подошёл к другому зеркалу - а рожек-то и нет! что надо сделать? правильно - пририсовать их отражению и во втором зеркале |
|||
12
Vasus55
09.01.12
✎
08:44
|
а как это условие привязать к запросу, к той колонке в которой необходимо отобразить цвет?
|
|||
13
Рэйв
09.01.12
✎
08:46
|
(12)Не к запросу надо привязывать.А в событии ТабличногоПоля общей формы например ПриПолученииДанных() или ПриВыводеСтроки()
|
|||
14
Vasus55
09.01.12
✎
09:00
|
сделал, но только терь вся колонка закрашивается в один цвет, я так понимаю необходимо делать цикл по строкам табличного поля...
|
|||
15
Ненавижу 1С
гуру
09.01.12
✎
09:03
|
цветные запросы
|
|||
16
artbear
09.01.12
✎
09:08
|
(15) В Снегопате цветные запросы, а в 1С только один цвет - черный :)
|
|||
17
1Сергей
09.01.12
✎
09:10
|
(15) Не толерантно как-то :)
|
|||
18
Рэйв
09.01.12
✎
09:12
|
(17)Афроамериканские запросы?:)
|
|||
19
Vasus55
09.01.12
✎
09:29
|
только какое условие задать???
|
|||
20
Маркетолог
09.01.12
✎
09:43
|
(19) Может так ?
Если СтатусРаботыСКлиентом = ХорошийСтатус Тогда Раскрашиваем КонецЕсли |
|||
21
Vasus55
09.01.12
✎
10:01
|
я делаю так
Если форма.ЭлементыФормы.МойПереключатель.Значение = 0 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 1 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,255,0); КонецЕсли; ну так все одним цветом красит |
|||
22
xarann
09.01.12
✎
10:05
|
Что показывает отладчик у "форма.ЭлементыФормы.МойПереключатель.Значение" в момент выполнения?
|
|||
23
Маркетолог
09.01.12
✎
10:07
|
(21) Значит
форма.ЭлементыФормы.МойПереключатель.Значение всегда равно единице либо всегда равно нулю. |
|||
24
Vasus55
09.01.12
✎
10:15
|
всегда считывает одно и тоже значение
он не переходит на следующую строчку, а по первой строке считывает и закрашивает всю колонку |
|||
25
Godofsin
09.01.12
✎
10:17
|
(24) Ты не в цикле что ли проверку делаешь?
|
|||
26
Godofsin
09.01.12
✎
10:17
|
+(25) Всмысле строки не перебираешь?
|
|||
27
Vasus55
09.01.12
✎
10:18
|
я не знаю на какое условие цикл навесить(((
|
|||
28
Маркетолог
09.01.12
✎
10:22
|
(27) мойПереключатель что разные значения может принимать ?
:) |
|||
29
Vasus55
09.01.12
✎
10:26
|
Маркетолог
да:0,1,2,3 |
|||
30
Vasus55
09.01.12
✎
10:26
|
Если форма.ЭлементыФормы.МойПереключатель.Значение = 0
Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 1 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,255,0); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 2 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,153,204); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 3 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(204,255,204); КонецЕсли; |
|||
31
hhhh
09.01.12
✎
10:29
|
(30) но в какой момент изменяется этот переключатель. Пользователь это что ли в бешеном темпе прощелкивает, чтобы добиться изменения цвета 8 раз в секунду?
|
|||
32
Маркетолог
09.01.12
✎
10:30
|
(29) Так когда идет выгрузка МойПереключатель ведь в одном положении находится ?
|
|||
33
Vasus55
09.01.12
✎
10:33
|
Маркетолог
да! |
|||
34
hhhh
09.01.12
✎
10:34
|
(33) ну тогда в один цвет красить должен.
|
|||
35
Маркетолог
09.01.12
✎
10:38
|
(33) Вот и вывели тебя на чистую воду :)
|
|||
36
Vasus55
09.01.12
✎
10:41
|
даннные выгружаются со справочника, в каждом элементе справочника выбранно разное значение переключателя
например, контрагент первый статус работы активно сотрудничает второй статус работы нет совместных интересов и т.д. соответсвенно так как статусы разные переключатели тоже разные выбраны вот как то так |
|||
37
xarann
09.01.12
✎
10:46
|
Кучу кода в студию?
|
|||
38
Маркетолог
09.01.12
✎
10:48
|
(36) Но выгрузка идет из одного эл.справочника.
По этому элементу и заполняются цвета для всех строк. |
|||
39
Vasus55
09.01.12
✎
10:54
|
Маркетолог
как же сделать чтобы просматривались данные со всех элементов справочника и в зависимости от выбранного в этом элементе спрвочника переключателя закрашивался в нужный цвет????? |
|||
40
Маркетолог
09.01.12
✎
11:04
|
(39) Очень просто.
Смотришь какой реквизит отвечает за статус контрагента в справочнике контрагенты. Потом пишешь примерно так Если ДанныеСтроки.Контрагент.РеквизитКОторыйОтвечаетЗаСтатус = ... Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); |
|||
41
Vasus55
09.01.12
✎
11:24
|
Маркетолог
таким методом тоже нужно будет перебыирать значения |
|||
42
Godofsin
09.01.12
✎
11:26
|
(41) Это проблема?
Для каждого ДанныеСтроки из ТабЧасть Цикл КонецЦикла; |
|||
43
Vasus55
09.01.12
✎
11:35
|
Для Каждого ДанныеСтроки Из ТабличноеПоле1
Цикл Если ДанныеСтроки.Организации.Статус=0 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); ИначеЕсли ДанныеСтроки.Организации.Статус=1 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,255,0); ИначеЕсли ДанныеСтроки.Организации.Статус=2 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,153,204); ИначеЕсли ДанныеСтроки.Организации.Статус=3 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(204,255,204); КонецЕсли; КонецЦикла; сделал так поле объекта организации не обнаружено((( |
|||
44
Vasus55
09.01.12
✎
11:38
|
Для Каждого ДанныеСтроки Из ТабличноеПоле1
Цикл Если ДанныеСтроки.Организация.Статус=0 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); ИначеЕсли ДанныеСтроки.Организация.Статус=1 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,255,0); ИначеЕсли ДанныеСтроки.Организация.Статус=2 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,153,204); ИначеЕсли ДанныеСтроки.Организация.Статус=3 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(204,255,204); КонецЕсли; КонецЦикла; |
|||
45
Маркетолог
09.01.12
✎
11:41
|
(44) Процедура ПриВыводеСтроки происходит для каждой строки и ничего не нужно перебирать в цикле.
|
|||
46
GROOVY
09.01.12
✎
11:42
|
(45) Лучше "ПриПолученииДанных" ИМХО...
Вообще шедевральная тема! |
|||
47
Vasus55
09.01.12
✎
11:44
|
Маркетолог
почему тогда не правильно работает |
|||
48
xarann
09.01.12
✎
11:47
|
(47) Огласите весь спис... код, пожалуйста.
|
|||
49
xarann
09.01.12
✎
11:49
|
Или сразу в почитать Книга знаний: Размещение колонки с остатками в списке справочника
|
|||
50
Маркетолог
09.01.12
✎
11:51
|
(47) Посмотри в дебагаре
что есть внутри - ДанныеСтроки. |
|||
51
GROOVY
09.01.12
✎
11:53
|
Я наверно что то пропустил, а почему ТС не заюзает условное оформление?
|
|||
52
Vasus55
09.01.12
✎
11:59
|
весь код по этому поводу
Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) спр=Справочники.Организации; СтрокаНаименования = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Организация; НайденнаяСсылка=спр.НайтиПоНаименованию(СтрокаНаименования); форма=НайденнаяСсылка.ПолучитьФорму("ФормаЭлемента"); Если форма.ЭлементыФормы.МойПереключатель.Значение = 0 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 1 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,255,0); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 2 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,153,204); ИначеЕсли форма.ЭлементыФормы.МойПереключатель.Значение = 3 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(204,255,204); КонецЕсли; КонецПроцедуры |
|||
53
Vasus55
09.01.12
✎
12:02
|
маркетолог, меня смущает эта строка
ДанныеСтроки.Контрагент.РеквизитКОторыйОтвечаетЗаСтатус = ... данныестроки - строка ТП общей формы контрагент - элемент справочника ???? |
|||
54
Маркетолог
09.01.12
✎
12:04
|
(52) Отличный код
спр - что такое ? |
|||
55
xarann
09.01.12
✎
12:06
|
(52) O_O !!!
|
|||
56
Маркетолог
09.01.12
✎
12:07
|
(54) Вижу
|
|||
57
Маркетолог
09.01.12
✎
12:11
|
(53) Посомтри в каком реквизите хранятся данные, которые отображаются на форме переключателем, в справочнике Организации. :)
|
|||
58
Vasus55
09.01.12
✎
12:12
|
реквизит - статус
|
|||
59
xarann
09.01.12
✎
12:13
|
Если ДанныеСтроки.Организация.Статус = <ПравоеЗначениеДляРаскраскиВКрасный> Тогда
ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,0,0); ИначеЕсли При условии, что "Организация" наличествует как реквизит в строке. Первый четыре строки выкинуть и забыть как страшный сон. И все равно это будет работоспособно, но кривовато... Лучше в ПриПолученииДанных (49), а еще лучше условное оформление (51) Смотреть курсы GROOVY (ссыска в его профиле)!!! |
|||
60
xarann
09.01.12
✎
12:21
|
(11) А какая точная аналогия!
|
|||
61
Vasus55
09.01.12
✎
12:22
|
xarann
Значение не является значением объектного типа (Статус) |
|||
62
GROOVY
09.01.12
✎
12:24
|
Организация какой тип имеет?
|
|||
63
xarann
09.01.12
✎
12:26
|
(61) Поставь на эту строку точку останова ((F9) в конфигураторе) и посмотри при срабатывании что есть в "ДанныеСтроки" для общей картины и сразу в "ДанныеСтроки.Организация" если она все-таки есть. Если "Статус" это вычисляемый на форме организаций алгоритм, а не реквизит справочника "Организации" или "Контрагенты", то повтори его в своей процедуре проверки на статусность...
|
|||
64
ptiz
09.01.12
✎
12:30
|
(52) Офигительный код!
|
|||
65
Vasus55
09.01.12
✎
12:33
|
xarann
ДанныеСтроки - значение строка таблицы значений ДанныеСтроки.Организация - значение Ликос статус - переменная неорпеделна |
|||
66
Vasus55
09.01.12
✎
12:34
|
Если "Статус" это вычисляемый на форме организаций алгоритм, а не реквизит справочника "Организации" или "Контрагенты", то повтори его в своей процедуре проверки на статусность...
не понятно..... |
|||
67
Vasus55
09.01.12
✎
12:38
|
у меня получается данные сначала запросом выгружаются в ТП
Процедура ПолеВыбора1ПриИзменении(Элемент) запрос=Новый запрос; запрос.Текст= "ВЫБРАТЬ | ОбслуживаемыеКлиенты.Контрагент КАК Организация, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.ОсновнойТипОрганизации, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.Телефон КАК Телефон, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.Факс КАК Факс, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.Email КАК Email, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.WebСайт КАК WebСайт, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.Город КАК Город, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.Регион КАК Регион, | ОбслуживаемыеКлиенты.Номер, | ОбслуживаемыеКлиентыРеквизитыКонтрагента.Статус |ИЗ | Справочник.Организации КАК Организации, | Документ.ОбслуживаемыеКлиенты.РеквизитыКонтрагента КАК ОбслуживаемыеКлиентыРеквизитыКонтрагента | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОбслуживаемыеКлиенты КАК ОбслуживаемыеКлиенты | ПО ОбслуживаемыеКлиентыРеквизитыКонтрагента.Ссылка = ОбслуживаемыеКлиенты.Ссылка"; Результат=запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТабличноеПоле1.Значение=Результат; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); КонецПроцедуры поле статус у меня выводится не закрашенным поэтому написана следующая процедура Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) //спр=Справочники.Организации; //СтрокаНаименования = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Организация; //НайденнаяСсылка=спр.НайтиПоНаименованию(СтрокаНаименования); //форма=НайденнаяСсылка.ПолучитьФорму("ФормаЭлемента"); Если ДанныеСтроки.Организация.Статус = 0 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(0,255,255); ИначеЕсли ДанныеСтроки.Организация.Статус = 1 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,255,0); ИначеЕсли ДанныеСтроки.Организация.Статус = 2 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(255,153,204); ИначеЕсли ДанныеСтроки.Организация.Статус = 3 Тогда ОформлениеСтроки.Ячейки.Статус.ЦветФона = Новый Цвет(204,255,204); КонецЕсли; КонецПроцедуры |
|||
68
hhhh
09.01.12
✎
12:39
|
(66) МойПереключатель.Значение у тебя как-то вычисляется на форме. Возьми этот алгоритм и скопипасть в свою процедуру.
А то если ты по каждой строчке будешь получать форму элемента, полчаса твой список выводиться будет. |
|||
69
xarann
09.01.12
✎
12:41
|
ДанныеСтроки.Статус ?
В отладчике можно разворачивать значения плюсиком или по shift+F9 или "зеленый карандашик" сверху справа |
|||
70
Vasus55
09.01.12
✎
12:45
|
ДанныеСтроки.Статус - значение 0
|
|||
71
GROOVY
09.01.12
✎
12:48
|
Разговор слепого с глухим....
|
|||
72
xarann
09.01.12
✎
12:50
|
Прогонял в консоли запросов свой запрос?
Зачем там кросс-join со справочником Организаций? "Справочник.Организации КАК Организации," |
|||
73
xarann
09.01.12
✎
12:52
|
(71) Спасибо за слепого или за глухого :)
Все когда-то начинали, и на аргументы почитать будет ведь типовое "Я студент..." и 1) Завтра лабу сдавать 2) Взяли на работу - не сделаю выгонят 3) Решит своей тян помочь, не сделаю не даст "...так что хлопцы выручайте, а читать некогда" |
|||
74
Vasus55
09.01.12
✎
12:53
|
(4)
|
|||
75
xarann
10.01.12
✎
16:47
|
(74) Победил?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |