|
Изменение цвета текста в списке справочника "Номенклатура" | ☑ | ||
---|---|---|---|---|
0
Ly_Alena
10.03.16
✎
10:41
|
Добрый день! Знаю вопрос плевый, но ни в какую не получается. Справочник "Номенклатура", при выделении строки номенклатуры в форме и при выполнении условия должно выделиться цветом значение текущей ячейки. Постоянно вылетает ошибка.
Например, ЭлементыФормы.Список.ТекущаяСтрока.ЦветТекста = WebЦвета.Красный; Хотя с колонкой прокатывает: ЭлементыФормы.Список.ТекущаяКолонка.ЦветТекста = WebЦвета.Красный; Подскажите как быть? |
|||
195
Ma3eIIa
11.03.16
✎
08:55
|
(194) Я бы сделал так. добавил это поле не активный. при получение данных его заполнять. потом уже раскрашивать
|
|||
196
DDwe
11.03.16
✎
08:55
|
(194) Ты собираешься показать пользователю номенклатуру, потом он будет кликать по каждой позиции чтобы выяснить актуальная она или нет?
|
|||
197
Ma3eIIa
11.03.16
✎
08:55
|
||||
198
Ma3eIIa
11.03.16
✎
08:56
|
(196) возможно тс. не так поняла тз :)
|
|||
199
Ly_Alena
11.03.16
✎
08:57
|
(185) так пробовала - вообще ничего не происходит
|
|||
200
DDwe
11.03.16
✎
08:58
|
(197) Мы гадаем, а про это ей в (136) вказано.
|
|||
201
франц
11.03.16
✎
08:58
|
Вставь в форму списка справочника номенклатура данную процедуру.
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок) Для каждого строка из ОформленияСтрок Цикл Если Не Строка.ДанныеСтроки.ссылка.ЭтоГруппа Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура, | СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Номенклатура1 |ИЗ | РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних КАК ОсновныеСпецификацииНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаявкиНаЗакуп.Остатки(&Девольвация, ) КАК ЗаявкиНаЗакупОстатки | ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = ЗаявкиНаЗакупОстатки.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КомПроекты.Остатки(&Девольвация, ) КАК КомПроектыОстатки | ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = КомПроектыОстатки.Номенклатура | ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка |ГДЕ | ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = &Номенклатура"; Девольвация = Дата(2015,08,19); Запрос.УстановитьПараметр("Девольвация", Девольвация); Запрос.УстановитьПараметр("Номенклатура", Строка.ДанныеСтроки.Ссылка); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда //пНеактуальнаяСтоимостьМатериалов = Истина; ЦветФона = Новый Цвет(250,128,114); Строка.Ячейки.Наименование.ЦветФона = ЦветФона; // //Иначе // пНеактуальнаяСтоимостьМатериалов = Ложь; КонецЕсли; КонецЕсли; КонецЦикла КонецПроцедуры |
|||
202
DDwe
11.03.16
✎
08:58
|
(199) Ты на вопросы будешь отвечать?
|
|||
203
Мимохожий Однако
11.03.16
✎
08:59
|
(199)Покажи код. Не будь голословной.
|
|||
204
Ly_Alena
11.03.16
✎
08:59
|
(196) да именно так. Открывается справочник номенклатуры, потом пользователь смотрит интересующую номенклатуру - нажимает и номенклатура окрашивается если цены неактуальные.
|
|||
205
Ly_Alena
11.03.16
✎
08:59
|
(202) не успеваю )
|
|||
206
Ly_Alena
11.03.16
✎
09:00
|
(203) код условия или код окрашивания?
|
|||
207
Ma3eIIa
11.03.16
✎
09:00
|
(206) Процедура ТаблицаДокументовВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
ВЫБРАННЫЙДОКУМЕНТ=ЭлементыФормы.ТаблицаДокументов.ТекущаяСтрока; КонецПроцедуры Процедура ТаблицаДокументовПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки=Неопределено Тогда Возврат; ИначеЕсли ДанныеСтроки=ВЫБРАННЫЙДОКУМЕНТ Тогда ОформлениеСтроки.ЦветФона=Новый Цвет(0,255,0); КонецЕсли; КонецПроцедуры Только тебе надо выбор заменить на активизацию строки |
|||
208
Мимохожий Однако
11.03.16
✎
09:00
|
(204)Если номенклатура несколько тысяч? Я бы этот вопрос заказчику задал... несколько тысяч раз.
|
|||
209
франц
11.03.16
✎
09:00
|
(205) проверяй (201).. и не смей говорить, что это не работает.
|
|||
210
DDwe
11.03.16
✎
09:01
|
(204) Жесть.... Не любишь ты пользователей.
|
|||
211
Мимохожий Однако
11.03.16
✎
09:01
|
(206)Всю процедуру обработчика
|
|||
212
Мимохожий Однако
11.03.16
✎
09:02
|
(210)Она любит заказчика. Пользователи не платят.
|
|||
213
Ly_Alena
11.03.16
✎
09:02
|
(210) это пользователи усложняют себе жизнь. Отчетом не хотят - хотят сложности. Хозяин - барин.
|
|||
214
Ma3eIIa
11.03.16
✎
09:02
|
(201) у тебя запрос выполняется в цикле. можно же получить список номенклатуры и этот список передать в запрос. потом соответствие сделать и раскрашивать.
|
|||
215
Ma3eIIa
11.03.16
✎
09:03
|
(213) так можно же сразу отобразить. что цена не актуальная. если строка активная. то что окрашена не видно. так как будет выделена.
|
|||
216
Мимохожий Однако
11.03.16
✎
09:03
|
ОФФ:А Заказчик не любить пользователей, поэтому нанимает ТС. Вернее заказчик любит пользователей даже тогда, когда они не хотят уже
|
|||
217
Ma3eIIa
11.03.16
✎
09:04
|
(214) вот пример Книга знаний: Размещение колонки с остатками в списке справочника
|
|||
218
DDwe
11.03.16
✎
09:04
|
(213) Заработало? (201)
|
|||
219
DDwe
11.03.16
✎
09:06
|
(217) (Это нужно было в первом посте показать ))
|
|||
220
Мимохожий Однако
11.03.16
✎
09:06
|
(218)Она так не хочет ))
|
|||
221
франц
11.03.16
✎
09:06
|
(214) да знаю я... она пусть хотя бы это сделает.. потом можно и остальное..
|
|||
222
Ma3eIIa
11.03.16
✎
09:06
|
(219) так 5 минут гугла.
|
|||
223
Ma3eIIa
11.03.16
✎
09:07
|
(221) это не правильно. учить писать быдло код. даже если сложно. пусть тс разбирается.
|
|||
224
DDwe
11.03.16
✎
09:07
|
(223) +100
|
|||
225
Ma3eIIa
11.03.16
✎
09:07
|
(223) вдруг ты потом попадешь к этому заказчику. а там твой пример :)
|
|||
226
DDwe
11.03.16
✎
09:08
|
(225) Ты чего с сам собой?
|
|||
227
Мимохожий Однако
11.03.16
✎
09:08
|
(226)нет он с нами
|
|||
228
франц
11.03.16
✎
09:09
|
(225) вот я, когда попаду к заказчику, за оптимизацию денежьку и возьму))..
|
|||
229
Ma3eIIa
11.03.16
✎
09:10
|
(226) это дописка к тому посту :)
|
|||
230
франц
11.03.16
✎
09:10
|
(225) сцу_ко, знал же, что кто нибудь истерию на тему цикла поднимет)) и уже начинал переделывать запрос)))
|
|||
231
Ly_Alena
11.03.16
✎
09:11
|
(218) Да взлетело и кажется как-то странно. Нужно проверить!
Спасибо за пример. |
|||
232
Ma3eIIa
11.03.16
✎
09:11
|
(228) я бы то что хочет тс. выкинул бы нафиг.
И сделал бы при получение данных. а при выборе в документ. добавил бы проверки и отмена выбора. и предупреждение. цена не актуальная |
|||
233
DDwe
11.03.16
✎
09:13
|
(231) Не делай так!
|
|||
234
Ma3eIIa
11.03.16
✎
09:13
|
(231) О_о. (230) вот видишь. теперь твой код используют :)
|
|||
235
Ly_Alena
11.03.16
✎
09:13
|
(232) предупреждение о неактуальности цены неочень удобно, если будут тыкать не один раз. Я понимаю что об удобности тут вообще неуместно говорить...
|
|||
236
DDwe
11.03.16
✎
09:13
|
(231) Пример смотри в (217)
|
|||
237
Ly_Alena
11.03.16
✎
09:13
|
(233) да понятно что не делать ) Хотя бы с мертвой точки сдвинулась - что-то покрасилось через один )
|
|||
238
франц
11.03.16
✎
09:13
|
(231) ничего там странного нет.. вчера тебе весь день это пытались сказать... после 30-40 даже я отвалился - думал проблема решена.. (232) ну, и я бы.. кстати, я и выкинул установку признака при выборе строки)) у нее просто все неактуальные сразу пометятся))
|
|||
239
Мимохожий Однако
11.03.16
✎
09:14
|
Франц, браво.
|
|||
240
франц
11.03.16
✎
09:15
|
(234) так, я ж раньше тебя выложил)) ну, если у них мониторы не шибко большие, и иерархию отключать не будут - с тормозами практически не должно быть проблем..
|
|||
241
Ly_Alena
11.03.16
✎
09:15
|
(234) никто ничего не использует ) Спокойно
Вот, если тапками не кидаться - а совет дать, ну как быть в такой ситуации - самой не нравится эта раскраска но "хочут". |
|||
242
Chameleon1980
11.03.16
✎
09:15
|
(185) ничего не даст.
Элемент=ТП. Хотя и есть там такое свойство - не получится Через Элемент - которы тип ТП не дотянешься до цвета текущей строки. У меня не получалось как-то. Там в свойствах тек.строка лежит сама номенклатура. текущие данные тоже не подходят |
|||
243
Ma3eIIa
11.03.16
✎
09:15
|
(238) Гггг :)
|
|||
244
DDwe
11.03.16
✎
09:15
|
Т.е. ТС сюда не за помощью приходила, а чтобы ей готовый код выложили )))
|
|||
245
франц
11.03.16
✎
09:16
|
(241) так, проблема в 201 не в раскраске.. и раскраска - вполне себе приемлемое решение.. проблема в 201 - есть вероятность тормозов)) там чуть переделать - ваще конфета будет))
|
|||
246
Ma3eIIa
11.03.16
✎
09:17
|
(241) Тебе тут советы дают. а тапками кидаются. ты еще профессионального тролинга не видела :)
|
|||
247
Ma3eIIa
11.03.16
✎
09:17
|
(245) да забей :) ТС все равно не вкурила как это работает.
|
|||
248
Chameleon1980
11.03.16
✎
09:17
|
(195) чуть поправлю.
устанавливать его приАктивизацииСтроки (из задачи автора) ПРИ ПОЛУЧЕНИИ ДАННЫх (пардон) его раскрашивать т.е. получится как автор хотел раскрасятся только те строки по которым автор прошлась и которые удовлетворяют условиям |
|||
249
Ma3eIIa
11.03.16
✎
09:18
|
(248) если хранить список пройденных. то это массив пройденных и при выводе строки. расскаршивать эту строку
|
|||
250
франц
11.03.16
✎
09:18
|
(247) надеюсь, разберется в 201)) и, если получит проблему тормозов, вспомнит тут посты, и тоже дооптимизирует))..
|
|||
251
Ma3eIIa
11.03.16
✎
09:19
|
(250) реально 5 минут гугла. там море примеров. даже в книге знаний есть.
|
|||
252
Ma3eIIa
11.03.16
✎
09:20
|
я уже просто не удивляюсь. мне попалось наследство. конфу перевели с 1с77. там код тупо 7 :) я был в акуе.
|
|||
253
Ma3eIIa
11.03.16
✎
09:21
|
(252) я понимаю что проверка истины. это 1 или 0. но блин в 1с8
|
|||
254
франц
11.03.16
✎
09:21
|
(244) так, я решил не рисковать, и выложить код.. догнал, что в полчаса не управлюсь дать ей нужный совет, и придется выполнить (180) )))
|
|||
255
DDwe
11.03.16
✎
09:23
|
(254) Код выложил это хорошо..ладно. Но зачем плохому учишь?
|
|||
256
франц
11.03.16
✎
09:24
|
(251) ну, в моем случае я просто из своего архива выдернул + ее код взял)) и быстро сваял, чтобы уложиться в полчаса))
|
|||
257
Ly_Alena
11.03.16
✎
09:24
|
(244) пардоньте ТС?
|
|||
258
франц
11.03.16
✎
09:24
|
(255) да лана тебе.. я уже написал: если не вырубят иерархию, и если монитор не хренадцатьтыщ дюймов - все будет работать..
|
|||
259
Мимохожий Однако
11.03.16
✎
09:24
|
ТС = топик стартёр = автор ветки. Ничего личного
|
|||
260
DDwe
11.03.16
✎
09:25
|
(258) Слишком много "если" )))
|
|||
261
франц
11.03.16
✎
09:25
|
(259) плин.. вчера ТП тут проскочило)) теперь и ТС))
|
|||
262
Chameleon1980
11.03.16
✎
09:25
|
пля да я уже предлагал жеж приактивизации смотреть что с номенлатурой и в элементформы.строка писать - актуально или нет ?
что уже второй день голову кружите |
|||
263
франц
11.03.16
✎
09:26
|
(260) я знаю... и знаю, что нет ничего более постоянного, чем временное..
|
|||
264
франц
11.03.16
✎
09:26
|
(262) а все уже.. решили.. сейчас бьют по рукам того, кто выложил решение))
|
|||
265
Ma3eIIa
11.03.16
✎
09:31
|
(264) ага. железной линейкой..
|
|||
266
DDwe
11.03.16
✎
09:32
|
(264) Решение в (207), а это подстава.
|
|||
267
Chameleon1980
11.03.16
✎
09:35
|
+(266) вроде как еще хуже чем через ПриПолученииДанных
|
|||
268
франц
11.03.16
✎
09:35
|
(266) ты понимаешь, как работает 201, или просто эрегируешь на запрос в цикле?
|
|||
269
Ma3eIIa
11.03.16
✎
09:43
|
(267) это пример когда при нажатие на строку выделить ее. а вообще. ошибка изначально. что не актуальные цены. нужно получать и проверять до отображения пользователю. то есть в при получение данных. решение франца, подходит. но его нужно оптимизировать :)
|
|||
270
франц
11.03.16
✎
09:46
|
(269) знаешь, тут еще вопрос, что быстрее: цикл с заполнением массива (структуры\соответствия) и потом поиск в них или запрос в цикле..
либо, для оптимизации, нужно добавить реквизит для номенклатуры (я в свое время просто свойство добавил) и при выборе заполнять номенклатуры проверять актуальность, и устанавливать признак. и потом при получении данных будет внезапный оптимальный профит.. |
|||
271
Ma3eIIa
11.03.16
✎
09:56
|
(270) каждому свое. но в упр формах. это был бы ДС. а это запрос к дополнительным таблицам.
|
|||
272
Ly_Alena
11.03.16
✎
10:28
|
(251) как ни странно ни одного примера не нашла, который бы помог в этом море. Поэтому открыла тему.
|
|||
273
mTema32
11.03.16
✎
10:58
|
(0) Без доп реквизита в табличном поле задача не решаема.
Хотя может быть я и ошибаюсь... |
|||
274
Chameleon1980
11.03.16
✎
11:06
|
(273) +++100500 с ним красиво будет
по автору если: приАктивации если нужно ставим реквизит ПриПолученииДанных - раскрашиваем быстро все видимые (если наш реквизит выставлен) элементы с установленным значением. профит. |
|||
275
франц
11.03.16
✎
11:11
|
(273) (274) таки же, уже ж в 260 все это есть))..
|
|||
276
Ly_Alena
11.03.16
✎
11:13
|
Франц, спасибо большое! Все шикарно!
|
|||
277
Chameleon1980
11.03.16
✎
11:17
|
да это вроде и выше от кого то наблюдалось :)
|
|||
278
Ly_Alena
11.03.16
✎
11:20
|
(277) ну конечно всем спасибо, не легко пришлось Вам )
|
|||
279
Chameleon1980
11.03.16
✎
11:25
|
ДАЁШЬ НОВУЮ ТЕМУ !!!
|
|||
280
Ly_Alena
11.03.16
✎
11:41
|
(279) пятница нынче, не буду к выходным народ выбешивать )
|
|||
281
франц
11.03.16
✎
11:43
|
(280) так, никто ж не бесился)) все с задором накинулись на раскраску))
|
|||
282
Ly_Alena
11.03.16
✎
11:45
|
(281) а я запереживала что всех выбесила ) Переживательная знаете ли такая
|
|||
283
Ly_Alena
11.03.16
✎
11:50
|
Ща я тогда начну колготиться с реквизитом приАктивации. Держитесь )
|
|||
284
франц
11.03.16
✎
11:51
|
(283) а ты определилась, как будешь значение хранить?.. добавишь новый реквизит для спр Номенклатура?.. или добавишь свойство?..
|
|||
285
франц
11.03.16
✎
11:51
|
или категорию..
|
|||
286
Ly_Alena
11.03.16
✎
12:00
|
(284) вообще я еще вчера добавила реквизит...
|
|||
287
франц
11.03.16
✎
12:02
|
(286) ну, таки, он заполняется при активации строки?
|
|||
288
Ly_Alena
11.03.16
✎
12:18
|
(287) да он заполняется. ТОлько мне малость схема непонятна...
|
|||
289
франц
11.03.16
✎
12:19
|
(288) если он заполняется, то просто в код из 201 убери запрос, и поставь проверку твоего реквизита.. и, как бы, все..
|
|||
290
DDwe
11.03.16
✎
12:20
|
(288) Рассказывай, что не понятно.
|
|||
291
Ly_Alena
11.03.16
✎
12:22
|
(289) вот тут и непонятно - я тыкаю в номенклатуру - заполняется реквизит, при получении как будто только один реквизит и обновится. Как будто получится как я изначально хотела. Но мне так понравилась теперь идея что при отображении "без тыкания" сразу видно на что обратить внимание.
|
|||
292
франц
11.03.16
✎
12:24
|
(291) так, и не тыкай тогда.. вообще убери этот реквизит и код из процедуры активации.. он не нужен для кода из 201
|
|||
293
Ly_Alena
11.03.16
✎
12:28
|
(292) тогда каким образом будет заполняться реквизит?
Выставила условия в запросе, будто все красиво... Для каждого Строка из ОформленияСтрок Цикл //Если Не Строка.ДанныеСтроки.ссылка.ЭтоГруппа Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура, | СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Материалы, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних КАК ОсновныеСпецификацииНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Девольвация, ) КАК ЦеныНоменклатурыСрезПоследних | ПО СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура | ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка |ГДЕ | ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = &Номенклатура | И (ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ЗаказПоставщику | ИЛИ ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.КоммерческийПроект | ИЛИ ЦеныНоменклатурыСрезПоследних.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) | И (ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Наименование ПОДОБНО ""Готовая продукция"" | ИЛИ ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Наименование ПОДОБНО ""Товары приобретенные"") | И НЕ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель"; Девольвация = Дата(2015,08,19); Запрос.УстановитьПараметр("Девольвация", Девольвация); Запрос.УстановитьПараметр("Номенклатура", Строка.ДанныеСтроки.Ссылка); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда ЦветТекста = Новый Цвет(250,0,0); Строка.Ячейки.Наименование.ЦветТекста = ЦветТекста; КонецЕсли; КонецЦикла; |
|||
294
франц
11.03.16
✎
12:31
|
(293) так
1. Если хочется отображения "без тыканья" - то оставить все как есть. 2. если все же хочется "с тыканьем" - тогда в 201 убрать запрос, и добавить проверку твоего реквизита. Сейчас коду в 201 вообще фиолетово на значение твоего реквизита. он выводит для ВСЕХ неактуальных.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |