Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сложная группировка          
SergXP Подменю пользователя
сообщение 21.03.14, 11:46
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 55
Спасибо сказали: 1 раз
Рейтинг: 0

Сразу извиняюсь за такой напор вопросов - я новенький чайник... 64000000.gif

Задача - нарисовать отчет, в котором данные группируются в необычном порядке. Попробую изобразить графически...

Гр1 - Гр2 - Гр3 - Данные
\
Гр4 - Гр5 - Данные

В версии 7.7 я выкрутился двумя запросами и в цикле первого запроса искал нужное значение группировки второго запроса и дальше крутил второй запрос.
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей ГСМ
            Таб.ВывестиСекцию("Шапка");
            тСчетГСМ=Запрос.СчетГСМ;
            Таб.ВывестиСекцию("СчетГСМ");
            Пока Запрос.Группировка(3) = 1 Цикл
                // Заполнение полей ГСМ
                Таб.ВывестиСекцию("ГСМ");
            КонецЦикла;  

            //================================================
            ЗапросСчет.ВНачалоВыборки();
            Если ЗапросСчет.Получить(тСотр,тСчетГСМ,)=1 Тогда
                Таб.ВывестиСекцию("ШапкаПриход");
                Пока ЗапросСчет.Группировка(3)=1 Цикл
                    Если ЗапросСчет.СуммаПриход>0 Тогда
                        Таб.ВывестиСекцию("СчетПриход");
                    КонецЕсли;
                КонецЦикла;
            КонецЕсли;          
            //================================================

        КонецЦикла;

В 8-ке прям не знаю как и выкрутиться. Может кто подскажет что?

Сообщение отредактировал Vofka - 21.03.14, 12:30

sava1 Подменю пользователя
сообщение 21.03.14, 12:17
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2697
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

Запрос в студию

SergXP Подменю пользователя
сообщение 21.03.14, 13:07
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 55
Спасибо сказали: 1 раз
Рейтинг: 0

Первый запрос
"ВЫБРАТЬ
        |    ГСМОстаткиИОбороты.МОЛ КАК МОЛ,
        |    ГСМОстаткиИОбороты.ГСМ.БалансовыйСчет КАК ГСМБалансовыйСчет,
        |    ГСМОстаткиИОбороты.ГСМ КАК ГСМ,
        |    ГСМОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
        |    ГСМОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
        |    ГСМОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,
        |    ГСМОстаткиИОбороты.СуммаПриход КАК СуммаПриход,
        |    ГСМОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
        |    ГСМОстаткиИОбороты.СуммаРасход КАК СуммаРасход,
        |    ГСМОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
        |    ГСМОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток
        |ИЗ
        |    РегистрНакопления.ДвижениеГСМ.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ГСМОстаткиИОбороты
        |ГДЕ
        |    (ГСМОстаткиИОбороты.МОЛ = &МОЛ
        |            ИЛИ &МОЛ = ЗНАЧЕНИЕ(справочник.МОЛ.ПустаяСсылка))
        |    И (ГСМОстаткиИОбороты.ГСМ.БалансовыйСчет = &БалансовыйСчет
        |            ИЛИ &БалансовыйСчет = ЗНАЧЕНИЕ(ПланСчетов.Бухгалтерский.ПустаяСсылка))
        |ИТОГИ
        |    СУММА(КоличествоНачальныйОстаток),
        |    СУММА(СуммаНачальныйОстаток),
        |    СУММА(КоличествоПриход),
        |    СУММА(СуммаПриход),
        |    СУММА(КоличествоРасход),
        |    СУММА(СуммаРасход),
        |    СУММА(КоличествоКонечныйОстаток),
        |    СУММА(СуммаКонечныйОстаток)
        |ПО
        |    МОЛ,
        |    ГСМБалансовыйСчет,
        |    ГСМ";


Второй
"ВЫБРАТЬ
    |    ДвижениеГСМОбороты.МОЛ КАК МОЛ,
    |    ДвижениеГСМОбороты.ГСМ.БалансовыйСчет КАК ГСМБалансовыйСчет,
    |    ДвижениеГСМОбороты.ГСМ КАК ГСМ,
    |    ДвижениеГСМ.ВидДвижения КАК ВидДвижения,
    |    ДвижениеГСМ.Счет КАК Счет,
    |    ДвижениеГСМОбороты.СуммаПриход КАК СуммаПриход,
    |    ДвижениеГСМОбороты.СуммаРасход КАК СуммаРасход
    |ИЗ
    |    РегистрНакопления.ДвижениеГСМ КАК ДвижениеГСМ
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДвижениеГСМ.Обороты(&ДатаНачала, &ДатаОкончание, Регистратор, ) КАК ДвижениеГСМОбороты
    |        ПО ДвижениеГСМ.Регистратор = ДвижениеГСМОбороты.Регистратор
    |ГДЕ
    |    (ГСМОстаткиИОбороты.МОЛ = &МОЛ
    |            ИЛИ &МОЛ = ЗНАЧЕНИЕ(справочник.МОЛ.ПустаяСсылка))
    |    И (ГСМОстаткиИОбороты.ГСМ.БалансовыйСчет = &БалансовыйСчет
    |            ИЛИ &БалансовыйСчет = ЗНАЧЕНИЕ(ПланСчетов.Бухгалтерский.ПустаяСсылка))
    |ИТОГИ
    |    СУММА(СуммаПриход),
    |    СУММА(СуммаРасход)
    |ПО
    |    МОЛ,
    |    ГСМБалансовыйСчет,
    |    ГСМ,
    |    ВидДвижения,
    |    Счет";



 ! 

Выделяйте код!
 


Сообщение отредактировал Vofka - 21.03.14, 13:08

SergXP Подменю пользователя
сообщение 21.03.14, 14:19
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 55
Спасибо сказали: 1 раз
Рейтинг: 0

Принято, ща попробую сделать правильно...

Здается кое что нашел...

Цитата
НайтиСледующий (FindNext)
Вариант синтаксиса: По значению в колонке
Поиск по значению в колонке.
Синтаксис:
НайтиСледующий(<3начение> , <Колонки>)
Параметры:
<3начение> Обязательный
Тип: Произвольный. Искомое значение.
<Колонки> Необязательный
Тип: Строка. Названия колонок, в которых будет осуществляться поиск
значений. Если "Пустая строка" - поиск во всех колонках.
Значение по умолчанию: Пустая строка
Возвращаемое значение:
Тип: Бу лево. Истина запись найдена; Ложь в противном слу­
чае.
Описание:
Осуществляет поиск записи по указанным условиям и установку указа­
теля выборки на нее.
Примечание:
Текущая запись не рассматривается.
Пример:
Стуктурапоиска = Новый Структура ("Товар, Контрагент11);
СтуктураПоиска.Товар НужныйТовар;
Стуктурапоиска.Контрагент нужныйКонтрагент;


Попробую применить эту функцию типа ВыборкаИзРезультатаЗапроса

sava1 Подменю пользователя
сообщение 21.03.14, 14:38
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2697
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

оОтбор в ТЗ по нескольким полям:
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Наименование", 123);
ПараметрыОтбора.Вставить("Серия", 789);
НайденныеСтроки = ТЗ.НайтиСтроки(ПараметрыОтбора);

Спасибо сказали: vadim007,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.06.24, 10:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!