Имя: Пароль:
1C
1C 7.7
v7: не выводится все строки документа?
0 Ночной Эльф
 
30.07.12
14:49
Собственно опять тот же отчет.

ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без итогов;
   |НомерДок = Документ.ЗаданиеНаИзготовление.НомерДок;
   |Ширина = Документ.ЗаданиеНаИзготовление.Ширина;
   |Контрагент = Документ.ЗаданиеНаИзготовление.Контрагент;
   |ФактДатаВыполнения = Документ.ЗаданиеНаИзготовление.ФактДатаВыполнения;
   |Номенклатура = Документ.ЗаданиеНаИзготовление.Номенклатура;
   |ФактДатаРаботы = Документ.ЗаданиеНаИзготовление.ФактДатаРаботы;
   |ЗаданиеНаИзготовление = Документ.ЗаданиеНаИзготовление.ТекущийДокумент;
   //|Группировка Номенклатура упорядочить по Номенклатура.Наименование без групп;
   |Группировка ЗаданиеНаИзготовление;
   |Условие(ПустоеЗначение(ФактДатаРаботы) = 1);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

Только почему то не выводятся строки документа, хотя номенклатура входит в табличную часть документа. ДЕлал группировку по документу и по номенклатуре, а все равно выводит только последний элемент табличной части каждого документа.

Как вывести все строки табличной части документа в запросе?
1 Ночной Эльф
 
30.07.12
14:50
не дописал код

Номер = 1;
   Пока Запрос.Группировка() = 1 Цикл
       Таб.ВывестиСекцию("Данные");
       Номер = Номер + 1;
   КонецЦикла;
   // Вывод заполненной формы

   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
2 Tatitutu
 
30.07.12
14:53
пиши еще, пока ты только бредишь
"почему то не выводятся строки документа"
а где по твоему ты указываешь что их нужно выводить ?
Запомни в понедельник у 1С телепат не работает.
Поспи.Утро вечера мудренее
3 Boroda
 
30.07.12
14:57
Есть такое понятие:
Группировка
СтрокаДокумента (DocumentLine) - позволяет детализацию до строки документа
4 Ночной Эльф
 
30.07.12
14:58
(3) ну а как его применить я что то не могу понять

я сделал группировку по

|Группировка ЗаданиеНаИзготовление;

Где ЗаданиеНаИзготовление сам документ.

Вывожу эту группировку а строк не вижу, может я не правильно вывожу 7
5 Ночной Эльф
 
30.07.12
14:59
сделал и такие 2 группировки

|Группировка ЗаданиеНаИзготовление;
   |Группировка Номенклатура упорядочить по Номенклатура.Наименование без групп;

и такой вывод


Номер = 1;
   Пока Запрос.Группировка(1) = 1 Цикл
       Пока Запрос.Группировка(2) = 1 Цикл
       Таб.ВывестиСекцию("Данные");
       Номер = Номер + 1;
       КонецЦикла;
   КонецЦикла;

все равно не работает вобще пустую строку выдает
6 Guk
 
30.07.12
15:00
(4) ты не видишь и 1С не видит, что ты хочешь видеть строки документа...
7 ЧеловекДуши
 
30.07.12
15:01
Ужас, Автор Лукавит... Ошибка в запросе, как проставить правильно условие?

Лучше бы нормально задал вопрос, а что именно хочет Автор :)
...пока только одно - Недоработка ДНК автора...
8 Ночной Эльф
 
30.07.12
15:06
(7) Говорю же первый раз запрос на 1с 7.7 делаю. ПОэтому не ругайте строго.
9 Ночной Эльф
 
30.07.12
15:06
Понять не могу как выбрать строки
10 Boroda
 
30.07.12
15:10
|Группировка ЗаданиеНаИзготовление;
|Группировка СтрокаДокумента;

Сперва будет документ, а потои строки этого документа.
11 Ночной Эльф
 
30.07.12
15:10
попробовал сделать так

ТабЗначений = СоздатьОбъект("ТаблицаЗначений");
Если Запрос.Выгрузить(ТабЗначений) = 1 Тогда
   Сообщить("Выгрузка не прошла");
КонецЕсли;


Выдает "Выгрузка не прошла"
12 Boroda
 
30.07.12
15:13
Ты ставишь "Без итогов" и при этом делаешь 2 группировки. Это неправильно!
Если ьез итогов то работает только режим: Пока Группировка()=1 Цикл - заметь номера группировки нет!
13 Ночной Эльф
 
30.07.12
15:13
вставил новую группировку по СтрокаДокумента все равно выдает пустое значение пустой отчет вот весь текст

Запрос = СоздатьОбъект("Запрос");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без итогов;
   |НомерДок = Документ.ЗаданиеНаИзготовление.НомерДок;
   |Ширина = Документ.ЗаданиеНаИзготовление.Ширина;
   |Контрагент = Документ.ЗаданиеНаИзготовление.Контрагент;
   |ФактДатаВыполнения = Документ.ЗаданиеНаИзготовление.ФактДатаВыполнения;
   |Номенклатура = Документ.ЗаданиеНаИзготовление.Номенклатура;
   |ФактДатаРаботы = Документ.ЗаданиеНаИзготовление.ФактДатаРаботы;
   |ЗаданиеНаИзготовление = Документ.ЗаданиеНаИзготовление.ТекущийДокумент;
   |Группировка ЗаданиеНаИзготовление;
   |Группировка СтрокаДокумента;
   //|Группировка Номенклатура упорядочить по Номенклатура.Наименование без групп;
   |Условие(ПустоеЗначение(ФактДатаРаботы) = 1);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;
   
   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("ГрафикПечати");

   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);


Номер = 1;
   Пока Запрос.Группировка(1) = 1 Цикл
       Пока Запрос.Группировка(2) = 1 Цикл
         Таб.ВывестиСекцию("Данные");
       Номер = Номер + 1;
       КонецЦикла;
   КонецЦикла;
   // Вывод заполненной формы

   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
14 Ночной Эльф
 
30.07.12
15:15
Все получилось спасибо тебе большое  Boroda
15 Boroda
 
30.07.12
15:15
в (12) неправильно выразился по поводу 2-х группировок. Группировок можно делать сколько угодно, но при выводе надо смотреть в зависимости есть строка "без итогов" или нет.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс