Имя: Пароль:
1C
1C 7.7
v7: выборка из табличной части
0 Baf
 
03.10.13
16:26
Привет всем! как реализовать в 7.7 вывод в печатную форму гуппы товара потом весь товар принадлежащий этой группе?
Есть документ с номенклатурой, ценой и суммой, нужно сделать пф так:
группа номенклатуры1
номенклат 1 цена сумма
номенклат 2 цена сумма
номенклат 3 цена сумма
группа номенклатуры2
номенклат 1 цена сумма
номенклат 2 цена сумма
номенклат 3 цена сумма
и так далее...
на 8 знаю как а в 7.7 как то пока невникаю. помогите сделать плиз
1 Mikeware
 
03.10.13
16:27
точно так же, как в 8. или в любом другом языке
2 Baf
 
03.10.13
16:28
а пример кода можешь скинуть?
3 Baf
 
03.10.13
16:30
просто подобие в 1с найти не могу, у меня самописная толком нагде нет номенклатуры, вот первый документ пытаюсь сделать
4 viktor_vv
 
03.10.13
16:31
Для записанного документа можно через запрос к документам с условием на текущий документ.
5 viktor_vv
 
03.10.13
16:34
ТекДокУсловие = ТекущийДокумент();

ТекстЗапроса = "
|ТекДок = Документ.ТвойВидДокумента.ТекущийДокумент;
|Номенклатура = Документ.ТвойВидДокумента.Номенклатура;
|Цена = Документ.ТвойВидДокумента.Цена ;
|Сумма = Документ.ТвойВидДокумента.Сумма ;
|Условие (ТекДок = ТекДокУсловие);
|Группировка Номенклатура ;
|Группировка СтрокаДокумента ;
|";

Запрос = СоздатьОбъект("Запрос");
Запрос.Выполнить(ТекстЗапроса);
6 FerzCH
 
03.10.13
16:36
Возьми отчет остатки товаров, движение товаров на складе
7 palpetrovich
 
03.10.13
16:38
что-то типа
ТМЦ = Документ.Счет.ТМЦ;
Родитель = Документ.Счет.ТМЦ.Родитель;
Группировка Родитель;
Группировка ТМЦ

если Родителя так можно вытащить конечно, не помню
8 viktor_vv
 
03.10.13
16:39
Пока Запрос.Группировка("Номенклатура") = 1 Цикл
   Если Запрос.Номенклатура.ЭтоГруппа() = 1 Тогда
     // Ввыодим группу
    
     Продолжить ;
   КонецЕсли;
    Пока Запрос.Группировка("СтрокаДокумента") = 1 Цикл
        // Выводим строку документа
    КонецЦикла;
КонецЦикла;

Как-то так, навскидку.
9 viktor_vv
 
03.10.13
16:40
(7) Не надо в явном виде родителя тянуть. Если не указывать Группировка ... безГрупп ;

иерархия по умолчанию построится.
10 palpetrovich
 
03.10.13
16:41
(9) та да, забывается  все быстро...
11 Baf
 
03.10.13
16:53
что то не ясно
Если Запрос.Номенклатура.ЭтоГруппа() = 1 Тогда
     // Ввыодим группу
но это не группа
    
     Продолжить ;
   КонецЕсли;
    Пока Запрос.Группировка("СтрокаДокумента") = 1 Цикл
        // Выводим строку документа

    КонецЦикла;
КонецЦикла;
а что такое СтрокаДокумента это номенклатура, т.е то что я хочу сгруппировать.
что то совсем зак-ся
12 viktor_vv
 
03.10.13
17:12
Если Запрос.Номенклатура.ЭтоГруппа() = 1 Тогда
     // Ввыодим группу
     НоменклатураТаб = Запрос.Номенклатура ;
     Таб.ВывестиСекцию("НоменклатураГруппа");
    
     Продолжить ;
   КонецЕсли;
    Пока Запрос.Группировка("СтрокаДокумента") = 1 Цикл
        // Выводим строку документа
        НоменклатураТаб = Запрос.Номенклатура ;
        ЦенаТаб = Запрос.Цена ;
        СуммаТаб = Запрос.Сумма ;
        Таб.ВывестиСекцию("Номенклатура");
    КонецЦикла;
КонецЦикла;

Переменные с суффиксом Таб - это переменные в ячейках макета с типом Выражение.
13 Baf
 
03.10.13
17:18
т.е через запрос нужно?
14 viktor_vv
 
03.10.13
17:19
(13) В (5) какое слово непонятно ? Сорри.
Это самый простой способ поиметь иерархию для плоского списка номенклатуры из табличной части.
15 Baf
 
03.10.13
17:21
понятно, попробую, всем спасибо
16 viktor_vv
 
03.10.13
17:30
(15) Только там обязательно, чтобы на момент выполнения запроса, последние изменения документа были записаны в базу.
Лучше проверять перед формированием

Если Модифицированность() = 1 Тогда
   Предупреждение("Необходимо сначала записать документ !!!");
   Возврат ;
КонецЕсли ;
17 Ёпрст
 
03.10.13
18:15
можно и не для записанного документа, всё через тот же запрос слепить
18 viktor_vv
 
03.10.13
18:17
(17) Просвети .
19 Baf
 
03.10.13
18:27
Ёпрст ну а как?
20 Ёпрст
 
03.10.13
18:57
Через контекст формы иметь в ТЗ список номенклатуры, в запросе выборка по справочнику с фильтром на этот список + функцция для получения количества и суммы из этой ТЗ.. усё.
На выходе - готовая иерархия.
21 Ёпрст
 
03.10.13
18:59
+ итоги по всем группам
22 viktor_vv
 
03.10.13
19:15
(20) точно и просто :)).
23 Мимохожий Однако
 
03.10.13
19:39
Некоторым нравится использовать ПолноеНаименование() справочника