Имя: Пароль:
1C
1С v8
Киньте плиз код использования списка формы как источнка данных для запроса..
,
0 Кокос
 
03.03.12
20:10
вот этот текст не срабатывает. я ему уже и элемент давал и реквизит пофигу. пишет неверный параметр:

   ПостроительЗапроса = Новый ПостроительЗапроса;
   
   ТекстПостроителя =
   "ВЫБРАТЬ
   |    ЗаказКлиента.Ссылка
   |ИЗ
   |    Документ.ЗаказКлиента КАК ЗаказКлиента
   |ГДЕ
   |    ЗаказКлиента.Проведен";
   ПостроительЗапроса.Текст = ТекстПостроителя;
   ОписаниеИсточникаДанных= Новый ОписаниеИсточникаДанных(ЭтаФорма.Список);
   ПостроительЗапроса.ИсточникДанных = ОписаниеИсточникаДанных;
   ПостроительЗапроса.Выполнить();
1 Кокос
 
03.03.12
20:10
в 8.1 все работало.
2 a_alenkin
 
03.03.12
20:12
а что такое - ЭтаФорма.Список?
3 Кокос
 
03.03.12
20:13
реквизит с динамическим списком...я и Элементы.Список давал ему съесть все равно не кушает. мне нужны выбрать заказы которые отображены в списке по текущему отобру.
4 Beduin
 
03.03.12
20:14
(0)
ОписаниеИсточникаДанных (DataSourceDescription)
ИсточникДанных (DataSource)
Использование:

Чтение и запись.
Описание:

Тип: ТаблицаЗначений; РезультатЗапроса; ОбластьЯчеекТабличногоДокумента; Табличная часть; РегистрНакопленияНаборЗаписей.<Имя регистра накопления>; РегистрСведенийНаборЗаписей.<Имя регистра сведений>; РегистрБухгалтерииНаборЗаписей.<Имя регистра бухгалтерии>; РегистрРасчетаНаборЗаписей.<Имя регистра расчета>.
Содержит описываемый источник данных.

Доступность:

Сервер, толстый клиент, внешнее соединение.
5 Beduin
 
03.03.12
20:15
(4) Где в 4 Динамичесакий список это во первых?
А во вторых, как у тебя все работало в 8.1 если там динамических списков не было?
6 Кокос
 
03.03.12
20:17
(5) ну там обычный табличный элемент формы срабатывал.
7 Кокос
 
03.03.12
20:17
(5) в 8.1 элемент формы "Таблица" в качестве источника указывал и все работало
8 Кокос
 
03.03.12
20:18
(5) случаем нет кода где выдергиваются из динамического списка элементы основной таблицы?
9 Beduin
 
03.03.12
20:20
(8) Динамический список это отображение исходя из условий.
10 Кокос
 
03.03.12
20:22
(9) а как из них данные выдернуть отдельной таблицей?
11 Beduin
 
03.03.12
20:25
(10) Выполнить его работу.
12 Кокос
 
03.03.12
20:31
(11) нет примера исходника?
13 Кокос
 
03.03.12
21:49
ПостроительЗапроса = Новый ПостроительЗапроса;    
   ГДЕНеДобавлен = Истина;
   Для Каждого ЭлементОтбора Из Список.Отбор.Элементы Цикл
       Если ЭлементОтбора.Использование Тогда
           Если ГдеНеДобавлен ТОгда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " ГДЕ ";
               ГДЕНеДобавлен = ЛОжь;
           Иначе
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный+ " И ";
           КонецЕсли;
           ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + "ДокументЗаказКлиента."+Строка(ЭлементОтбора.ЛевоеЗначение);
           Если ЭлементОтбора.ВидСравнения = ВидСравнения.Равно Тогда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " = ";
           ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравнения.Больше Тогда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " > ";
           ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравнения.БольшеИлиРавно Тогда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " >= ";    
           ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравнения.Меньше Тогда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный+ " < ";        
           ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравнения.МеньшеИлиРавно Тогда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " <= ";        
           ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравнения.НеРавно Тогда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " <> ";        
           Иначе
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный+ " = ";        
           КонецЕсли;
           ТекстЗапросаПредварительный = ТекстЗапросаПредварительный+ " &Параметр"+Строка(ЭлементОтбора.ЛевоеЗначение);
           ПостроительЗапроса.Параметры.Вставить("Параметр"+Строка(ЭлементОтбора.ЛевоеЗначение),ЭлементОтбора.ПравоеЗначение);
       КонецЕсли;
   КонецЦикла;
   Если ЗначениеЗаполнено(Элементы.Список.Период.ДатаОкончания) или ЗначениеЗаполнено(Элементы.Список.Период.ДатаНачала) Тогда
       Если ГдеНеДобавлен ТОгда
           ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + " ГДЕ ";
           ГДЕНеДобавлен = ЛОжь;
       Иначе
           ТекстЗапросаПредварительный = ТекстЗапросаПредварительный+ " И ";
       КонецЕсли;
       ДобавитьИ = Ложь;
       Если ЗначениеЗаполнено(Элементы.Список.Период.ДатаНачала) Тогда
           ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + "ДокументЗаказКлиента.Дата >= &НачДата";
           ПостроительЗапроса.Параметры.Вставить("НачДата",Элементы.Список.Период.ДатаНачала);
           ДобавитьИ = Истина;
       КонецЕсли;    
       Если ЗначениеЗаполнено(Элементы.Список.Период.ДатаОкончания) Тогда
           Если ДобавитьИ ТОгда
               ТекстЗапросаПредварительный = ТекстЗапросаПредварительный+ " И ";
           КонецЕсли;
           ТекстЗапросаПредварительный = ТекстЗапросаПредварительный + "ДокументЗаказКлиента.Дата <= &КонДата";
           ПостроительЗапроса.Параметры.Вставить("КонДата",Элементы.Список.Период.ДатаОкончания);
       КонецЕсли;    
       
       
   КонецЕсли;
   ПостроительЗапроса.Текст = ТекстЗапросаПредварительный;


.опа короче :))
14 Кокос
 
03.03.12
21:50
как отловить на форме когда пользователь меняет период?
15 DrShad
 
03.03.12
21:51
пипец
16 Кокос
 
03.03.12
21:53
(15) зато работает :))
17 Кокос
 
03.03.12
21:53
вполне шустро причем :)
18 Кокос
 
03.03.12
21:54
пойду гантели потягаю. завтра допишу нафик :)
19 DrShad
 
03.03.12
21:57
ща я те кину нормальный код
20 Кокос
 
03.03.12
21:58
(19) спасибо :)
21 DrShad
 
03.03.12
22:00
лучше мыло дай
22 DrShad
 
03.03.12
22:01
демонический список ведь на СКД работает, а значит и отборы его нужно в СКД копировать
23 Кокос
 
03.03.12
22:02
(22) [email protected]
так мнеж итоги на самом списке надо. скд разве можно к форме списка документа прикрутить?
24 DrShad
 
03.03.12
22:03
ща увидишь
25 DrShad
 
03.03.12
22:04
лови
26 Кокос
 
03.03.12
22:08
(25) Спасибо :) Х.ренасе. Буду завтра разбираться. В принципе что у меня написано тоже пашет.
27 Кокос
 
03.03.12
22:09
(25) еще раз спасибо. побёх домой :)