Вход | Регистрация

1С:Предприятие ::

Метки:

Группировка по виду документа в запросе 7.7

Я
   1С: Новичок
 
06.12.04 - 08:58
Фрагмент запроса:
|Период с ДатаНач По ДатаКон;
|Док = Документ.ПриходнаяНакладная.ТекущийДокумент, Документ.РасходнаяНакладная.ТекущийДокумент;
|Товар = Документ.ПриходнаяНакладная.Товар, Документ.РасходнаяНакладная.Товар;

Как мне сделать группировку не по Док, а по Док.Вид()? Чтобы сначала все приходные накладные сгруппировать с итогами, а потом тоже, но по расходным?
 
  Рекламное место пустует
   laeg
 
1 - 06.12.04 - 09:04
Бух или Опер ?
Функции есть ?
   1С: Новичок
 
2 - 06.12.04 - 09:05
(1) Оперативный учет. Функций нет.
   laeg
 
3 - 06.12.04 - 09:06
А тогда речь о каких итогах ?
Цель задачи какая ?
   Valery
 
4 - 06.12.04 - 09:10
Выгрузить в ТЗ, добавить колонку вид документа и отсортировать по ней
   1С: Новичок
 
5 - 06.12.04 - 09:13
(3) Мне нужно вывести в печатную форму отчета документ и указать количество строк документа (Док.КоличествоСтрок())и сумму (Док.Итог("Сумма"))
   1С: Новичок
 
6 - 06.12.04 - 09:15
(4) Я об этом думал, но как потом с ней работать?
Для а = 1 По тз.КоличествоСтрок() Цикл
..............
КонецЦикла;
Но как в таблице разбить по видам документа? Нужно еще получить итог по каждому виду документа.
   1С: Новичок
 
7 - 06.12.04 - 09:18
(3)+ А итоги по виду документа.
Итого приход - <кол-во> шт. <сумма> р.
Итого расход - <кол-во> шт. <сумма> р.
   1С Дурачок
8 - 06.12.04 - 09:20
(0)Поставь условие на вид документа
   1С: Новичок
 
9 - 06.12.04 - 09:22
(8) И дважды выполнять запрос? Сначала с одним условием, а потом с другим? А если документов будет десяток?
   1С Дурачок
10 - 06.12.04 - 09:27
(9)Накой дважды делать выборку, дважды только проход
 
 
   1С: Новичок
 
11 - 06.12.04 - 09:30
Пока Запрос.Группировка("Док") = 1 Цикл
Для а = 1 По 2 Цикл
 Если а = 1 Тогда
  Если док.Вид() = "ПриходнаяНакладная" Тогда
   Продолжить;
  КонецЕсли;
 Иначе
  Если док.Вид() = "РасходнаяНакладная" Тогда
   Продолжить;
  КонецЕсли;
 КонецЕсли;
КонецЦикла;
КонецЦикла;

Так?
   1С Дурачок
12 - 06.12.04 - 09:38
Ну смысл ты понял, а как реализовать это уж как считаешь удобным
   1С: Новичок
 
13 - 06.12.04 - 09:39
(12) Ок. Спасибо.
   але1екс
14 - 06.12.04 - 10:23
(11) Как то коряво...
а если 117 видов документов?
проще в цикле тупо лепить в ТЗ вид документа, колво строк и тп а потом свернуть.
   1С: Новичок
 
15 - 06.12.04 - 10:28
Согласен. Можно и свернуть, если бы требовались только итоги, но требуется вывести еще и сам документ, а ведь в таблицу могут попасть документы содинаковым количеством строк и одинаковой суммой. Мы потеряем документ.
   але1екс
16 - 06.12.04 - 10:46
Ааа... если сам документ, то тоже самое, только не сворачивать а сортировать :)
и при смене вида документа выводить итог.
Это если устроит итог в конце, а если надо в начале то чуть боьше писать...%(
   Valery
 
17 - 06.12.04 - 10:46
(15) не совсем понял, что в итоге должно быть?
   1С: Новичок
 
18 - 06.12.04 - 10:53
(17) Итог: общее количество строк в найденных документах и общая сумма документов.
   Valery
 
19 - 06.12.04 - 11:14
Тогда ТЗ. Товар из запроса выкинуть.Занести результаты запроса В ТЗ. Отсортировать по виду док.
Затем примерно так

Перем ВидДок,КолСтрокВДок;
СуммаДок=0;
Тз.ПолучитьСтрокуПоНомеру(1);
ВидДок=Тз.Док.Вид();
ТЗ.ВыбратьСтроки()
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Если ВидДок<>Тз.Док.Вид();
ВидДок=Тз.Док.Вид();
СуммаДок=0;
КолСтрокВДок=0;
Таб.ВывестиСекцию("--");
КонецЕсли;
КолСтрокВДок=КолСтрокВДок+ТЗ.Док.КоличествоСтрок();
СуммаДок=СуммаДок+Тз.Док.Сумма;
КонецЦикла;
Таб.ВывестиСекцию("--");
   1С: Новичок
 
20 - 06.12.04 - 11:31
(19) Ясно. Спасибо!


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует