Имя: Пароль:
1C
1С v8
Помогите с запросом
0 MuxauJI
 
15.08.12
08:11
Уважаемые гуру форума Помогите с отбором. Его цель отобрать все документы в которых 0 элемент ТабЧасти = текущему пользователю.
Вот то что придумало мое больное воображение:
ТекПользователь=ПараметрыСеанса.ТекущийПользователь;

Массив = Новый Массив();
ДокВыборка=Документы.ууЗаявкаРасходДС.Выбрать();
Пока ДокВыборка.Следующий() цикл
   Если ДокВыборка.Проведен Тогда
       Для каждого стр из ДокВыборка.Подписи Цикл    
           Если ДокВыборка.Подписи[0].Сотрудник = ТекПользователь тогда;
                Сообщить (ДокВыборка.Номер);
                ДокВыборка.ПолучитьОбъект();
                Массив.Вставить(ДокВыборка);
               
           КонецЕсли;    
       КонецЦикла;
   КонецЕсли;
КонецЦикла;
Массив.Получить();
1 shuhard
 
15.08.12
08:12
(0)[0 элемент ТабЧасти]
чё ?
2 Лоботряс
 
15.08.12
08:12
И де тут запрос?
3 andrewks
 
15.08.12
08:13
(2) Суслика видишь? А он есть ©
4 asady
 
15.08.12
08:13
ВЫБРАТЬ ЗРС.Ссылка КАК Заявка
ИЗ Документ.ууЗаявкаРасходДС.Подписи КАК ЗРС
ГДЕ
Проведен И Сотрудник=&Пользователь
5 Рэйв
 
15.08.12
08:14
(2)Кажется он хочет чтобы за него написали.
6 andrewks
 
15.08.12
08:14
(4) а номер строки уесть?
7 Лоботряс
 
15.08.12
08:15
Предлагаю создать тему: Теме "v8: Помогите с запросом" 10 лет!!!!!
8 MuxauJI
 
15.08.12
08:17
А через выборку нельзя сделать? Результат выборки просто вывести в табличную часть
9 andrewks
 
15.08.12
08:17
(8) можно, но не нужно
10 MuxauJI
 
15.08.12
08:21
Где можно посмотреть примеры запросов?
11 MuxauJI
 
15.08.12
08:21
книга там или еще что
12 Рэйв
 
15.08.12
08:22
(11)У Радченко.
13 MuxauJI
 
15.08.12
08:23
там нет примеров отбора через табличную часть документа
14 shuhard
 
15.08.12
08:24
(13) брехня
15 Рэйв
 
15.08.12
08:24
(13) Что мешает применить ГДЕ при запросе к таб части?
16 MuxauJI
 
15.08.12
08:27
(15) Кучерявые руки и не умение писать запросы(((
17 andrewks
 
15.08.12
08:38
(16) возьми нормальный учебник по SQL, и вникай
18 MuxauJI
 
15.08.12
09:17
А в запросе как обратится к 1 элементу табличной части? Мне нужно по нем сравнивать
текущего пользователя
19 MuxauJI
 
15.08.12
09:18
Вот другой вариант запроса:

ТекПользователь=ПараметрыСеанса.ТекущийПользователь;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
           |  ууЗаявкаРасходДС.Подписи КАК Заявка
           |ИЗ
           |    Документ.ууЗаявкаРасходДС КАК ууЗаявкаРасходДС
           |ГДЕ
           |   Документ.ууЗаявкаРасходДС.Заявка[0].сотрудник = &ТекПользователь";
           
           Запрос.УстановитьПараметр("Сотрудник", ТекПользователь);
   Запрос.УстановитьПараметр("НаДату", ТекущаяДата());

   тзРезультат = Запрос.Выполнить().Выгрузить();
20 Флик
 
15.08.12
09:33
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Сотрудник", ПараметрыСеанса.ТекущийПользователь);
Запрос.Текст = "
|ВЫБРАТЬ
|    Ссылка КАК Заявка
|ИЗ
|    Документ.ууЗаявкаРасходДС.Подписи
|ГДЕ
|    НомерСтроки = 1
|    И Сотрудник = &Сотрудник
|";
тзРезультат = Запрос.Выполнить().Выгрузить();


А вообще, не Радченко читать надо, а для начала Мартина Грубера "Understanding SQL"
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.