Имя: Пароль:
1C
1C 7.7
v7: Запрос к документу
, ,
0 Alekssey
 
28.04.13
16:56
Делаю запрос к документу по НомеруДок но выборка пуста, поправте что не так
   Запрос=СоздатьОбъект("Запрос");
   ТекстЗапроса="
   |Номер=Документ.МенюВс.Блюдо;
   |Трапеза=Документ.МенюВс.Трапеза;
   |Блюдо=Документ.МенюВс.Блюдо;
   |Продукт=Документ.МенюВс.Продукт;
   |Количество=Документ.МенюВс.Количество;
   |Группировка Трапеза;
   |Условие (Номер=1);
   |";
   
   Запрос.Выполнить(ТекстЗапроса);
   
    Пока Запрос.Группировка("Трапеза")=1 цикл
       Сообщить(Запрос.Блюдо);

    КонецЦикла;
1 Alekssey
 
28.04.13
16:57
Трапеза, блюдо, продукт и количество находятся в табличной части
2 Ковычки
 
28.04.13
17:01
у Вас номер цифири ?
3 Alekssey
 
28.04.13
17:09
Да, тип числовой
4 КапЛей
 
28.04.13
17:12
А где тут запрос по НомерДок?
5 ivanov-i-i
 
28.04.13
17:13
У тебя здесь |Номер=Документ.МенюВс.Блюдо блюдо скорее всего элемент справочника, и что ты хочешь, присваивая Номер=1?
6 Alekssey
 
28.04.13
17:13
Вообще номер мне нужно не самому писать, он должен браться как номер текущего документа.То есть требуется сделать поиск  документа по номеру текущего документа Без запроса поиск был так    Док=СоздатьОбъект("Документ.МенюВс");
Док.НайтиПоНомеру(НомерДок,0);
7 Alekssey
 
28.04.13
17:14
Да там опечатка
так правильно |Номер=Документ.МенюВс.НомерДок;
Но тоже выборка пуста
8 ivanov-i-i
 
28.04.13
17:14
Ну так ты в запросе напиши Номер=Документ.МенюВс.НомерДок
9 Alekssey
 
28.04.13
17:15
написал
   Запрос=СоздатьОбъект("Запрос");
   ТекстЗапроса="
   |Номер=Документ.МенюВс.НомерДок;
   |Трапеза=Документ.МенюВс.Трапеза;
   |Блюдо=Документ.МенюВс.Блюдо;
   |Продукт=Документ.МенюВс.Продукт;
   |Количество=Документ.МенюВс.Количество;
   |Группировка Трапеза;
   |Условие (Номер=1);
   |";
   
   Запрос.Выполнить(ТекстЗапроса);
   
    Пока Запрос.Группировка("Трапеза")=1 цикл
       Сообщить(Запрос.Блюдо);

    КонецЦикла;
10 Alekssey
 
28.04.13
17:16
А как в условие вставить номер текущего документа?
11 ivanov-i-i
 
28.04.13
17:18
Скорее всего из-за этого |Группировка Трапеза;
12 ivanov-i-i
 
28.04.13
17:19
+ (11) у тебя получается одна колонка Трапеза, в которой номера нет.
13 Alekssey
 
28.04.13
17:19
Что не так?
14 Alekssey
 
28.04.13
17:19
то есть надо добавить Группировка номер??
15 ivanov-i-i
 
28.04.13
17:20
Попробуй так:
Пока Запрос.Группировка("НомерДок")=1 цикл
Пока Запрос.Группировка("Трапеза")=1 цикл
Сообщить(Запрос.Трапеза);
КонецЦикла;
КонецЦикла;
16 Alekssey
 
28.04.13
17:22
нет тоже пусто
17 Cyborg9
 
28.04.13
17:24
а в тексте запроса "ИЗ" специально опущено?
18 Alekssey
 
28.04.13
17:24
Повторюсь, как в условие вставить номер текущего документа?
19 Alekssey
 
28.04.13
17:26
Зачем ИЗ?
20 ivanov-i-i
 
28.04.13
17:26
Реквизит на форме создай.
21 ivanov-i-i
 
28.04.13
17:27
А у тебя (6) работает?
22 Alekssey
 
28.04.13
17:27
выборка пуста
23 Ковычки
 
28.04.13
17:28
СтрокаДокумента
24 ivanov-i-i
 
28.04.13
17:28
У тебя точно НомерДок - числовой?
25 Alekssey
 
28.04.13
17:30
точно
26 Cyborg9
 
28.04.13
17:39
попробуй другое условие
27 Cyborg9
 
28.04.13
17:40
группировку вообще убери
28 Alekssey
 
28.04.13
17:40
а обращение к реквизитам шапки и табличной части должно быть одинаково?
29 Cyborg9
 
28.04.13
17:55
(28) нет, прописывается еще имя таб части
30 Alekssey
 
28.04.13
17:58
А где взять это имя?
31 Ковычки
 
28.04.13
17:59
(29) правдо ?
32 Alekssey
 
28.04.13
17:59
У меня 1с 7, там же всего одна табличная часть
33 Ковычки
 
28.04.13
18:00
Условие (Число(Номер)=1)
34 oslokot
 
29.04.13
10:53
Про отсутствии функции в запросе уже было?
35 Shok05
 
29.04.13
11:20
А где период??
36 Dolly_EV
 
29.04.13
14:17
(34) это же не регистр
(0) убери вообще |Условие (Номер=1);
есть при этом что-нить в выборке?
37 ЧеловекДуши
 
29.04.13
14:27
(35) Правда, где период?
38 ЧеловекДуши
 
29.04.13
14:27
+ Лучше группировать не по номеру, а по ТекщемуДокументу :)
39 ЧеловекДуши
 
29.04.13
14:28
+ Мастер запросов тебя спасет.