|
v7: Отчет по документу с группами | ☑ | ||
---|---|---|---|---|
0
oleg056
27.10.12
✎
16:22
|
Добрый день делаю запрос к документу ПН
ТекстЗапроса = " |ПриходнаяНакладная = Документ.ПриходнаяНакладная.ТекущийДокумент; |ТМЦ = Документ.ПриходнаяНакладная.ТМЦ; |Кво = Документ.ПриходнаяНакладная.Кво; |ЦенаЕд = Документ.ПриходнаяНакладная.ЦенаБезНДС; |Сумма = Документ.ПриходнаяНакладная.СуммаБезНДС; |Условие (ПриходнаяНакладная = ВыбПриходнаяНакладная); |Группировка ТМЦ; |"; Отчет получается без групп по товарам (я понимаю почему) Возможно ли сделать запрос что были и группы без временной таблицы? |
|||
1
Wobland
27.10.12
✎
16:27
|
а что такое группы по товарам? иерархия номенклатуры по родителю? я только на toysql'е такое могу
|
|||
2
oleg056
27.10.12
✎
16:33
|
(1) Да это иерархия номенклатуры по родителю. т.е в ПН приходит какое то количество товара, а отчет нужен с разбивкой по группам. Неужели нельзя как то выбрать с Справочника.ТМЦ все товары которые есть в Документе ПН?
|
|||
3
Преднаименование
27.10.12
✎
16:36
|
(2)
Во-первых где у тебя товары Во-вторых надо наоборот отключат группы для группировки указывая: Без групп. |
|||
4
Преднаименование
27.10.12
✎
16:39
|
ТекстЗапроса = "
|ПриходнаяНакладная = Документ.ПриходнаяНакладная.ТекущийДокумент; |ТМЦ = Документ.ПриходнаяНакладная.ТМЦ; |Кво = Документ.ПриходнаяНакладная.Кво; |Сумма = Документ.ПриходнаяНакладная.СуммаБезНДС; |Условие (ПриходнаяНакладная = ВыбПриходнаяНакладная); |Группировка ТМЦ; |Функция СуммаКво =Сумма(Кво); |Функция СуммаСумма =Сумма(Сумма); "; |
|||
5
Преднаименование
27.10.12
✎
16:39
|
ТМЦ будет выводится с иерархий по умолчанию.
|
|||
6
oleg056
27.10.12
✎
16:41
|
(3)Не понял. Сейчас отчет выводит то что в Приходной накладной без наименования групп. Если б это был запрос типа SQL то я сдел бы выборку. Все элементы с справочник ТМЦ которые есть в документе
|
|||
7
Преднаименование
27.10.12
✎
16:44
|
(6) По умолчанию должно выводится с иерархией. Поищи в справке "Без групп".
|
|||
8
oleg056
27.10.12
✎
16:46
|
(7)Поищи в справке "Без групп". Мне наоборот нужны группы
|
|||
9
oleg056
27.10.12
✎
17:10
|
up
ТекстЗапроса = " |ПриходнаяНакладная = Документ.ПриходнаяНакладная.ТекущийДокумент; |ТМЦ = Документ.ПриходнаяНакладная.ТМЦ; |Кво = Документ.ПриходнаяНакладная.Кво; |ЦенаЕд = Документ.ПриходнаяНакладная.ЦенаБезНДС; |Сумма = Документ.ПриходнаяНакладная.СуммаБезНДС; |Условие (ПриходнаяНакладная = ВыбПриходнаяНакладная); |Функция ВКво = Сумма(Кво); |Функция ВСумма = Сумма(Сумма); |Группировка ТМЦ; |"; Этот запрос выводит список товаров без групп. Как можно сделать чтоб тут были группы товаров (Родители товара) |
|||
10
Wobland
27.10.12
✎
17:12
|
(9) Родитель = Документ.ПриходнаяНакладная.ТМЦ.Родитель;
Группировка Родитель? но на меня с этим нечеловеческим языком даже не надейтесь |
|||
11
monsterZE
27.10.12
✎
17:14
|
(0) а смысл сего действа какой?
почему не найти документ, выгрузить ТЧ новая колонка ПолныйКод Сортировать по ПолныйКод не? |
|||
12
oleg056
27.10.12
✎
17:17
|
(10) Побывал :) Будет ошибка - "Группировка Родитель <<?>> ;"
|
|||
13
oleg056
27.10.12
✎
17:18
|
(11)Пришло 100 товаров. Нужно распечатать приход с разбивкой по группам
|
|||
14
oleg056
27.10.12
✎
17:19
|
Вижу только решение только вручную сортировать с помощью циклов и массивов (
|
|||
15
monsterZE
27.10.12
✎
17:27
|
(13) =) и чего?..
надо распечата один приходник с сортировкой по группам? я так расходники на склад печатаю, бо товар раскладывается по производителям.. оно? //----------------------------------------------- Процедура СортироватьТоварПоПроизводителю() ТабДляСортировки = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(ТабДляСортировки,); ТабДляСортировки.НоваяКолонка("Производитель"); ВсегоСтрокДляСортировки = ТабДляСортировки.КоличествоСтрок(); Для ъ=1 По ВсегоСтрокДляСортировки Цикл ТабДляСортировки.УстановитьЗначение(ъ,"Производитель",ТабДляСортировки.ПолучитьЗначение(ъ,"Товар").Родитель.ПолныйКод()); КонецЦикла; ТабДляСортировки.Сортировать("Производитель,Товар"); ТабДляСортировки.УдалитьКолонку("Производитель"); ЗагрузитьТабличнуюЧасть(ТабДляСортировки); ТабДляСортировки.Очистить(); КонецПроцедуры //----------------------------------------------- |
|||
16
Wobland
27.10.12
✎
17:32
|
ТабДляСортировки.УстановитьЗначение(...ТабДляСортировки.ПолучитьЗначение(...
вот какой извращенец такое придумал? //это вопль в сторону языка |
|||
17
monsterZE
27.10.12
✎
17:33
|
(16) =) зато в одну строку 8-Р
|
|||
18
Преднаименование
27.10.12
✎
17:47
|
(12) Еше раз: должно выводится с иерархией.
Убери реквизит цены. Сумму и Количество загони в функции Для проверки попробуй запрос ТекстЗапроса = " |ПриходнаяНакладная = Документ.ПриходнаяНакладная.ТекущийДокумент; |ТМЦ = Документ.ПриходнаяНакладная.ТМЦ; |Условие (ПриходнаяНакладная = ВыбПриходнаяНакладная); |Группировка ПриходнаяНакладная; |Группировка ТМЦ; |"; |
|||
19
Преднаименование
27.10.12
✎
17:59
|
Попробовал все работает:
Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос ВыбНачПериода=ТекДок.ДатаДок; ВыбКонПериода=ТекДок.ДатаДок; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы все; |ТекущийДокумент = Документ.ПоступлениеМПЗ.ТекущийДокумент; |Номенклатура = Документ.ПоступлениеМПЗ.Номенклатура; |Количество = Документ.ПоступлениеМПЗ.Количество; |Всего = Документ.ПоступлениеМПЗ.Всего; |Функция КоличествоСумма = Сумма(Количество); |Функция ВсегоСумма = Сумма(Всего); |Группировка ТекущийДокумент; |Группировка Номенклатура; |Условие(ТекущийДокумент=ТекДок); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей ТекущийДокумент Таб.ВывестиСекцию("ТекущийДокумент"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей Номенклатура Таб.ВывестиСекцию("Номенклатура"); КонецЦикла; КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Итого"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры |
|||
20
oleg056
29.10.12
✎
21:23
|
(19) Попробовал - не вышло. Сделал через регистры
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |