Имя: Пароль:
1C
1С v8
Ошибка в запросе
0 bsd2008
 
26.08.11
16:40
Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    РеализацияТоваровУслуг.Дата,
       |    РеализацияТоваровУслуг.Номер,
       |    РеализацияТоваровУслуг.Контрагент,
       |    РеализацияТоваровУслуг.Комментарий,
       |    РеализацияТоваровУслуг.Товары.(
       |        Номенклатура.Артикул,
       |        КоличествоУпаковок,
       |        Упаковка,
       |        Упаковка.Коэффициент,
       |        Цена,
       |        Сумма,
       |        СтавкаНДС,
       |        СуммаНДС
       |    ),
       |    РеализацияТоваровУслуг.Дата КАК Дата1
       |ИЗ
       |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
       |ГДЕ
       |    РеализацияТоваровУслуг.Дата <= &ДатаОкончания
       |    И РеализацияТоваровУслуг.Дата >= &ДатаНачала";

   Запрос.УстановитьПараметр("ДатаНачала", Объект.ДатаНачала);
   Запрос.УстановитьПараметр("ДатаОкончания", Объект.ДатаОкончания);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();
       Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Текст = Текст + """Документ.Реализация"""+Символы.ПС;
    Текст = Текст + ВыборкаДетальныеЗаписи.Дата +", "+ВыборкаДетальныеЗаписи.Номер +", "+ВыборкаДетальныеЗаписи.Контрагент +", "+ВыборкаДетальныеЗаписи.Комментарий+Символы.ПС;
           Текст = Текст + ", "+ВыборкаДетальныеЗаписи.Товары.Номенклатура.Артикул+Символы.ПС;
   КонецЦикла;
Выдает ошибку нету Номенклатура, как быть?
1 PVV65
 
26.08.11
16:42
Добавить в запрос "Номенклатура".
2 Ненавижу 1С
 
гуру
26.08.11
16:43
(0) но ее же нет?!
3 PVV65
 
26.08.11
16:43
И второй цикл, т.к. Выборка.Товары - это таблица.
4 PVV65
 
26.08.11
16:43
А писать лучше -|ИЗ
       |    Документ.РеализацияТоваровУслуг.Товары
5 Ненавижу 1С
 
гуру
26.08.11
16:44
имхо, лучше вот вместо всяких вложенных таблиц юзать итоги
6 unregistered
 
26.08.11
16:44
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
  Текст = Текст + """Документ.Реализация"""+Символы.ПС;
  //...
  ВыборкаТовары = ВыбокаДетальныеЗаписи.Товары.Выбрать();
  Пока ВыборкаТовары.Следующий() Цикл
    Текст = Текст + ", "+ВыборкаТовары.Номенклатура.Артикул+Символы.ПС;
  КонецЦикла;
КонецЦикла;
7 Reset
 
26.08.11
16:45
Запрос хороший, надежный - в плане получения Даты. Получается и основное значение, и резервное (Дата1) - на случай, если что-то случится с основным.
8 unregistered
 
26.08.11
16:45
*(6) Номенклатура.Артикул читать как НоменклатураАртикул

точка там лишняя, т.к. скорее всего псевдоним поля будет таким.
9 unregistered
 
26.08.11
16:47
(5) Итоги скорее всего будут медленнее работать. Хотя чтобы быть уверенным надо сравнить запрос на скуле.
10 bsd2008
 
26.08.11
16:56
unregistered спасибо!
про ВыборкаТовары = ВыбокаДетальныеЗаписи.Товары.Выбрать();

неподумал!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.