|
|
|
Отбор по СпискуЗначений в ТаблицуЗначений документов. | ☑ | ||
|---|---|---|---|---|
|
0
Генс
14.10.04
✎
11:59
|
Добрый день.У меня такая вот проблемка. Я сделал Табл-ТаблицаЗначений куда должны отбиратся документы по СписокЗн-СписокЗначений, отбор по клиенту.На выходе у меня получается, что сравнение только с последним клиентом в СписокЗн. Подскажите пожалуйста, что не так.
Процедура Выполнить() Док = СоздатьОбъект("Документ.СчетВходящий"); Табл.УдалитьСтроки(); Док.ВыбратьДокументы(); Пока Док.ПолучитьДокумент()=1 Цикл Для ин=1 по СписокЗн.РазмерСписка() цикл Тек=СписокЗн.ПолучитьЗначение(Ин,СписокЗн); Сообщить(Тек); КонецЦикла; Если Тек=Док.Клиент Тогда Продолжить; КонецЕсли; Табл.НоваяСтрока(); ............ ....... КонецЦикла КонецПроцедуры |
|||
|
1
Crew
14.10.04
✎
12:14
|
Конец ...перенеси... Цикла
за Табл.НоваяСтрока(); |
|||
|
2
Шапокляк
14.10.04
✎
12:16
|
Для ин=1 по СписокЗн.РазмерСписка() цикл
Тек=СписокЗн.ПолучитьЗначение(Ин,СписокЗн); Сообщить(Тек); КонецЦикла; Так всегда ж на последний элемент списка становишься! |
|||
|
3
Генс
14.10.04
✎
13:19
|
(1) Перенес стало еще хуже.
|
|||
|
4
Diter
14.10.04
✎
13:22
|
Если Тек=Док.Клиент Тогда
Продолжить; КонецЕсли; Т.е. ты найдя нужного клиента передаёшь управление в начало цикла Зачем??? |
|||
|
5
Crew
14.10.04
✎
13:25
|
(3)
что стало хуже? |
|||
|
6
Шапокляк
14.10.04
✎
13:25
|
Тек=СписокЗн.ПолучитьЗначение(Ин,СписокЗн); Это как понимать?
Должны в Табл попадать документы, в которых клиент входит в список? Тогда Процедура Выполнить() Док = СоздатьОбъект("Документ.СчетВходящий"); Табл.УдалитьСтроки(); Док.ВыбратьДокументы(); Пока Док.ПолучитьДокумент()=1 Цикл Если Док.Клиент В СписокЗн Тогда Табл.НоваяСтрока(); ............ ....... КонецЕсли; КонецЦикла КонецПроцедуры |
|||
|
7
Генс
14.10.04
✎
13:27
|
(4)Мне надо отобрать Документы по списку СписокЗначений в таблицуЗначений.
А как надо если не так: Если Тек=Док.Клиент Тогда Продолжить; КонецЕсли; |
|||
|
8
NS
14.10.04
✎
13:27
|
Если спис.НайтиЗначение(Док.Клиент)>0 тогда
|
|||
|
9
Diter
14.10.04
✎
13:30
|
Принадлежит()
|
|||
|
10
NS
14.10.04
✎
13:31
|
(9) Метод принадлежит - колбасит на группах...
И работает он медленней вроде (не гарантирую) |
|||
|
11
Diter
14.10.04
✎
13:32
|
(7) Ты понимаешь схему работы Продолжить? Ты в этом месте обрываешь дальнейшее выполнение цикла и переходишь (как по метке)в начало цикла. Т.е. ты фактически найдя клиента, просто пропускаешь все дальнейшие дествия с ним.
|
|||
|
12
Diter
14.10.04
✎
13:33
|
(10) Чего он "колбасит на группах"? Ты в списке имеешь элементы а не группы. Даже если юзер по недопониманию выбрал в список группу, что мешает развернуть её поэлементно в этом списке?
|
|||
|
13
NS
14.10.04
✎
13:35
|
(12) Ты о чем?
|
|||
|
14
Diter
14.10.04
✎
13:39
|
(13) О том что ты сказал. Ято ты имеешь в виду "Колбасит на группах"?
|
|||
|
15
NS
14.10.04
✎
13:43
|
(14) Метод принадлежит - рассматривает входимость в группу, а найтиЗначение - нет... Я имел в виду только это...
А вообще - насчет скорости нужно тестировать - в описании по поводу Принадлежит()- что-то невнятное про поиск при неизменном списке. |
|||
|
16
Diter
14.10.04
✎
13:55
|
(15) Не понял. При чём здесь группа? Я про :
Принадлежит(<Значение>) Назначение: Проверяет вхождение в список значений указанного значения, т.е. , является ли значение подмножеством списка значений Возвращает число: 1 - если проверяемое значение входит в список значений; 0 - если не входит. |
|||
|
17
Diter
14.10.04
✎
13:55
|
А ты про :
ПринадлежитГруппе(<?>) Синтаксис: ПринадлежитГруппе(<Группа>) Назначение: Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится). Возвращает: 1 - если элемент принадлежит указанной группе , 0 - если нет. |
|||
|
18
Генс
14.10.04
✎
14:15
|
Большое Спасибо всем с методом Принадлежит(<Значение>) всё заработало.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |