Получение данных строк Табличного поля #690248


#0 by Валидатор
Есть справочник номенклатура, у которого есть форма списка, на которой есть табличное поле: список. вот как мне циклом обойти все строки этого Списка? для каждого строка из ЭлементыФормы.Список. тут что только не ставил, не обходит все равно(
#1 by Валидатор
обычные формы
#2 by roman844
а для чего ты хочешь обойти этот список??? может просто тупо запрос к справочнику сделать.
#3 by Валидатор
у каждого из элемента есть поле с числовым типом, и если допустим чилсо в этом поле от 1 до 10, то красить строку в красный цвет
#4 by Wobland
#5 by х86
приПолученииДанных
#6 by roman844
#7 by Валидатор
Там просто дополнительное условие есть, как раскрасить строку я знаю, просто цвет берется из РС, в котором следующие измерения: От До Цвет (перечисление) То есть зашел я в РС, написал что от 1 до 10 цвет красный Потом зашел в карточку номенклатуры, и в нужный реквизит написал 9, записал карточку, и строка в форме списка покрасилась красным
#8 by х86
при начале работы системы таблицу цветов из РС пишешь в ТЗ типа кеша при получении данных раскрашиваешь
#9 by Валидатор
в общих модулях при начале работы системы? писать запрос, и грузить в ТЗ результат запроса по цветам?
#10 by Валидатор
так а если у меня есть 5 цветов, пользователь открыл РС, добавил 6й цвет, получается, чтобы строки раскрасились, ему перезаодить опять придется?
#11 by Валидатор
И если обходить 2мя циклами, первый: Получаем наш РС, пихаем его в ТЗ второй: получаем наш список номенклатуры Для каждого СтрокаПервый из Первый Цикл Для каждого СтрокаВторой из Второй Цикл тут только будет проблема, в первом цикле у нас в ТЗ имеется 3 цвета, то есть 3 раза только ведь цикл пройдется?
#12 by roman844
второй цикл ненужен
#13 by roman844
Получаешь ТЗ из РС - Цвета потом в процедурах ПриВыводеСтроки или ПриПолученииДанных по условиям раскрашиваешь свои строки.
#14 by Валидатор
получаю запрос для цвета: Вот как мне потом получить строку, чтобы проверить ее на условие?
#15 by Валидатор
Для Каждого Строка из Элемент.ТекущиеДанные Цикл так получается?
#16 by Валидатор
вот как в условии цикла проверять данные текущихданных на условие соответствия запроса? ведь для ТЗ тоже нужно будет цикл писать?
#17 by roman844
а метод Найти или НайтиСтроки для ТЗ не предлагать???
#18 by Валидатор
блин, что не так ищу? по сп вроде верно все Запрос = Новый Запрос;
#19 by Wobland
_что_ ты ищешь?
#20 by Валидатор
хочу найти строки, чтобы не писать цикл для ТЗ
#21 by Wobland
что в строках ты хочешь найти?
#22 by Валидатор
сделаем так: 1. у меня есть результат запрос в ТЗ, в котором указаны цвета и интервалы, при которых задаются цвета: 2. Дальше в процедуре ПриПолученииДанных я хочу проверить, если у строки в реквизите размер скидки есть число, которое входит в один из интервалов поиска моей ТЗ, то красим выбранную строку в цвет соответствующий
#23 by Валидатор
то есть в ТЗ мы имеем: 1. от 10 до 20 красный 2. от 15 до 30 зеленый 3. от 40 до 50 желтый смотрим номенклатуру, у нее в поле размер скидки указано 16, значит строка в форме списка номенклатуры должна вся стать красной
#24 by roman844
под цифрой 2 ошибка, иначе перекрываются отборы
#25 by Wobland
а я за зелёный
#26 by Валидатор
пардон, скидки не могут пересекаться, то есть где зеленый цвет там от 21 до 30)
#27 by roman844
*интервалы
#28 by Wobland
ну так что ты будешь искать в ТЗ?
#29 by Валидатор
ну мне из ТЗ соответствия нужно брать для условий, я так полагаю
#30 by Wobland
что искать?
#31 by Валидатор
то есть у меня в ТЗ есть от 1 до 10 я в процедуре приполученииданных проверяю Если Строка.РазмерСкидки > От и Строка.РазмерСкидки < ДО Тогда Красим строку КонецЕсли
#32 by Wobland
Строка.РазмерСкидки будешь искать в ТЗ?
#33 by Валидатор
нет, размер скидки ищу у Элемент.ТекущиеДанные
#34 by roman844
как вариант можно в ПриПолученииДанных в запрос вставлять парамеры своих ОТ и ДО и получать цвет и сразу окрашивать
#35 by Wobland
один запрос лучше двух
#36 by Валидатор
Элемент.ТекущаяСтрока.РазмерСкидки тут точнее
#37 by roman844
и это правильно, просто хочу помочь человеку хоть как то решить задачу, ну а дальше я думаю он найдет истинное решение :)
#38 by Wobland
ты хочешь найти в ТЗ строку, От которой больше твоего размера, и До которой меньше. так?
#39 by Wobland
он и без нас хоть как-то делает. пусть хоть на мисте видит, как правильно ;)
#40 by Валидатор
ну да, у меня данные в реквизите номенклатуры -15, а в ТЗ от 1 до 20, то есть 15 попадает в интервал, значит красим в цвет, который у нас для этого интервала (1-20) задан
#41 by Wobland
дальше сам?
#42 by Валидатор
ВЫБРАТЬ вот как мне связать справочник и РС которые никак не связаны вообще
#43 by Валидатор
ничего нового по моей пробелмы как то я не увидел) все то, что было сделано так и осталось) вопрос как раскрашивать еще актуален)
#44 by Wobland
тогда
#45 by Валидатор
так а какие параметры я туда передам? запустался вообще блин короче
#46 by Wobland
Элемент.ТекущаяСтрока.РазмерСкидки?
#47 by х86
поищи в типовых с толстым клиентом по приПолученииДанных
#48 by Валидатор
как то так?
#49 by Wobland
нет
#50 by Валидатор
теперь запрос вообще ничего не возвращает
#51 by Валидатор
а как тогда?
#52 by Wobland
ещё разок найти в ТЗ или в регистре строку, От которой больше твоего размера, и До которой меньше
#53 by Валидатор
так это же не в запросе тогда нужно делать?
#54 by Валидатор
точснее это в параметры надо походу указать
#55 by Валидатор
или нет...(((
#56 by Валидатор
Тогда запрос нужен получается только на РС что ли? оО
#57 by Wobland
вижу проблески мыслительных процессов ;)
#58 by Валидатор
да уже мозг кипит, ну сделал я запрос к РС: тут пока правильно?)))
#59 by Валидатор
хотя нетЮ не правильно
#60 by Wobland
Если бы я владел знанием, то шел бы по большой дороге. Единственная вещь, которой я боюсь, - это узкие тропинки. Большая дорога совершенно ровна, но народ любит тропинки.
#61 by Валидатор
с Запросом разобрался: как теперь сделать, чтобы они красились? циклом обходим запрос, и красим строки?
#62 by Kondarat
#63 by Валидатор
поле не найдено ругается : |    Номенклатура В (&МассивНоменклатуры) вот тут
#64 by Kondarat
|    Номенклатура.Ссылка В (&МассивНоменклатуры)
#65 by Валидатор
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл         МассивНоменклатуры.Добавить(ОформлениеСтроки.ДанныеСтроки.Номенклатура);     КонецЦикла; тут он отбирает как группы еще, а как узазать, чтобы без групп было? в запросах ЭтоГруппа = Ложь, а тут?
#66 by Kondarat
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
#67 by Валидатор
и еще вопрос, когда мы присваиваем цвет: у нас в Цветтекста тип - цвет а в найденная строка цвет - перечисления, поэтому цвет не пишется, как из перечисления сделать цвет? с преобразованием в строки и числа понятно, а вот с цветами нет(
#68 by Kondarat
Создай соответствие цветов
#69 by Валидатор
так а тип то как потом присвоить? какой фуункцией?
#70 by Kondarat
Ну типа: Потом:
#71 by Валидатор
а в 1ске самой хранятся коды для сопоставлений? типа вон 255 0 0 и тд?
#72 by Валидатор
все, нашел, спс
#73 by Валидатор
{Справочник.Номенклатура.Форма.ФормаСписка.Форма}: Метод объекта не обнаружен (ЭтоГруппа)         Если НЕ Номенклатура.ЭтоГруппа Тогда почему летит ошибка?
#74 by Валидатор
и когда я снимаю, к примеру просмотр иерархический, валится ошибка теперь: {Справочник.Номенклатура.Форма.ФормаСписка.Форма}: Ошибка при установке значения атрибута контекста (ЦветТекста) Несоответствие типов хоть и задал соответствие
#75 by Валидатор
исправил, спс всем, вроде работает
#76 by Wobland
я так и знал, что нужно больше молчать ;)
#77 by hhhh
всё-таки думаю, что он на четырех форумах этот вопрос задал. Где-то раньше ответили, на остальных написал: всё сделал, спс.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С