Имя: Пароль:
1C
 
Проблема с условием (НЕ(Покупатель В СпПокупателей))
0 AlexII
 
12.05.06
16:53
Почему-то в выборке нет значений, если в "СпПокупать" добавить какого-либо контрагента, хотя должны быть.

//{{ЗАПРОС(Сформировать)
Период с НачПер по КонПер;
Покупатель = Документ.ПКО.Контрагент,Документ.СтрокаВыпискиПриход.Контрагент;
ТекДокум = Документ.ПКО.ТекущийДокумент,Документ.СтрокаВыпискиПриход.ТекущийДокумент;
Сумма = Документ.ПКО.Сумма,Документ.СтрокаВыпискиПриход.Сумма;
Функция ПриходСумма = Сумма(Сумма);
Группировка Покупатель;
Группировка ТекДокум;    
Условие (НЕ(Покупатель В СпПокупателей));
1 Ангел- Хоронитель
 
12.05.06
17:35
(0)в смысле? добавляешь одного - пропадают все?
2 AlexII
 
12.05.06
17:57
(0)Да
3 AlexII
 
12.05.06
17:58
(1) Да
4 Ангел- Хоронитель
 
12.05.06
17:59
(3)а если так условие записать Условие (Покупатель В СпПокупателей) выберется только на заданного?
5 Ангел- Хоронитель
 
12.05.06
18:00
+(4)а вобще, что такое СпПокупателей? как в него контров добавляешь?
6 AlexII
 
12.05.06
18:01
(5) СпПокупателей - Элемент на форме
7 Матрейя
 
12.05.06
18:01
8 КонецЦикла
 
12.05.06
18:02
Элемент или список значений? СКЛ?
9 kvm
 
12.05.06
18:02
(6)Какой элемент?
10 Ангел- Хоронитель
 
12.05.06
18:02
(6)какой элемент? какой у него тип?
11 AlexII
 
12.05.06
18:05
(10) Просто список значений. Служит для отбора, т.е. в него добавляем контрагентов. И только эти контрагенты не должны попадасть в выборку, остальные должны попасть.
12 Ангел- Хоронитель
 
12.05.06
18:06
(11)есть подозрение, что ты в него не контров добавляешь.... может наименования?
13 mrkorn
 
12.05.06
18:07
(11)а типы данных совпадают? Покупатель и элемент списка?
14 AlexII
 
12.05.06
18:08
Короче сделал так.

Если (СпПокупателей.РазмерСписка() > 1) Или (СпПокупателей.ПолучитьЗначение(1).ЭтоГруппа() = 1) Или (Отрицание = "") Тогда
           ТекстЗапроса = ТекстЗапроса + "    
           |Условие(" + Отрицание + "Покупатель В СпПокупателей"  +   Скобка + ");";
Иначе
           ОтборПокупатель = СпПокупателей.ПолучитьЗначение(1);
           ТекстЗапроса = ТекстЗапроса + "    
           |Условие(Покупатель <> ОтборПокупатель);";            
КонецЕсли;
15 Ангел- Хоронитель
 
12.05.06
18:08
(14)попробуй условие записать так:

Условие (СпПокупателей.Принадлежит(Покупатель)=0)
16 AlexII
 
12.05.06
18:09
(13) Типы совпадают, т.к. в список попадают элементы из формы подбора контрагентов
17 Bahmet
 
12.05.06
18:10
Проверь чтоб в этом списке не было пустого значения...иначе прога делает все правильно
18 Bahmet
 
12.05.06
18:14
(15) так неинтересно...точно будет работать:)))
19 AlexII
 
12.05.06
18:18
(14) Да, так не интересно. Работает! :)))
20 AlexII
 
12.05.06
18:18
(15) Да, так не интересно. Работает! :)))
21 AlexII
 
12.05.06
18:19
Спасибо всем
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший