Имя: Пароль:
1C
1C 7.7
v7: Проблема с группировкой в запросе 1-с 7.7
0 Кирилл_
Сафронов
 
27.09.13
13:06
Цель группировки : в  печатной форме  отображать прих. накл . под первой группировкой по Товару.  Не судите строго я только учусь.  
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Товар = Регистр.Остатки.Товар;
    |КолВо = Регистр.Остатки.КолВо;
    |Тек = Регистр.Остатки.ТекущийДокумент;
    |Функция КолВоНачОст = НачОст(КолВо);
    |Функция КолВоКонОст = КонОст(КолВо);
    |Группировка Товар;
    |Группировка Тек;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Товар
        Таб.ВывестиСекцию("Товар");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Тек
            Таб.ВывестиСекцию("Тек");
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
1 viktor_vv
 
27.09.13
13:11
А вопрос в чем ?
2 viktor_vv
 
27.09.13
13:11
А, понял. Остатков по регистратору, то есть по текущему доку не будет у тебя.
3 viktor_vv
 
27.09.13
13:12
Добавь еще приход и расход. Но остаток на конец по документу движению считай руками.
4 viktor_vv
 
27.09.13
13:14
(3)+ Тьфу ты, текущий остаток по номенклатуре по документ движения считай руками.
5 Кирилл_
Сафронов
 
27.09.13
13:14
Виктор вопрос в том что надо что б формировался отчет по вот такому примеру :

ТМЦ№1            30 шт.
прихнакл№1      10 шт
прихнакл№2       20 шт

Как бы так
6 Кирилл_
Сафронов
 
27.09.13
13:15
Виктор , а как это "руками "?
7 viktor_vv
 
27.09.13
13:52
(6) За какой период приходные должны туда попасть ? За период запроса
|Период с ВыбНачПериода по ВыбКонПериода;

или это очередная реинкарнация хотим партионку без измерения партия в регистре.
8 titan_aleks
 
27.09.13
13:56
|Функция КолВоПриход = Приход(КолВо);
9 Кирилл_
Сафронов
 
27.09.13
14:05
(7) да именно за период  запроса . Период с ВыбНачПериода по ВыбКонПериода;
10 Кирилл_
Сафронов
 
27.09.13
14:07
Может у кого есть наглядное пособие в эл. виде по правильному созданию запросов ?. а то я пытаюсь их осилить самостоятельно , но что то не особо получается
11 viktor_vv
 
27.09.13
14:13
(9) Ну тогда

   ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)

    |Период с ВыбНачПериода по ВыбКонПериода;
    |Товар = Регистр.Остатки.Товар;
    |КолВо = Регистр.Остатки.КолВо;
    |Тек = Регистр.Остатки.ТекущийДокумент;
    |Функция КолВоНачОст = НачОст(КолВо);
    |Функция КолВоКонОст = КонОст(КолВо);
    |Функция КолВоПриход = Приход(КолВо);
    |Функция КолВоРасход = Расход(КолВо);
    |Группировка Товар;
    |Группировка Тек;
    |"//}}ЗАПРОС

Если тебе только приходные накладные, то убери Расход , и на всякий случай при обходе группировки не выводи другие виды документов.
12 alexmobile
 
27.09.13
14:14
Замени
    |Функция КолВоНачОст = НачОст(КолВо);
    |Функция КолВоКонОст = КонОст(КолВо);
На (8)
В результат запроса попадут все док-ты с движениями прихода.
13 Кирилл_
Сафронов
 
27.09.13
15:24
СпасиБО! Все получилось !
Независимо от того, куда вы едете — это в гору и против ветра!