Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 18:52

Начальный уровень запроса

Автор boyarincev, 05 окт 2016, 13:27

0 Пользователей и 1 гость просматривают эту тему.

boyarincev

Ребят добрый день, нужна помощь... Учился давно - вспомнить надо помочь:
Имеется Документ - ЗаявлениеСчет ( в котором имеются поля: ЗаявлениеСчет.Контрагент, ЗаявлениеСчет.ВидУслуг, ЗаявлениеСчет.ВидРабот, ЗаявлениеСчет.Количество) по крайней мере мне нужны только эти поля пока...
Задача - надо вывести через запрос:
сумму всего ЗаявлениеСчет.Количество за определенный период где ЗаявлениеСчет.Контрагент="Частные лица" (код 1) и "Доп лица" (код 2) а так же ЗаявлениеСчет.ВидУслуг = "Тест"

Вот что не получилось:
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ОбрабатыватьДокументы все;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ЗаявлениеСчет = Документ.ЗаявлениеСчет.ТекущийДокумент;
    |Группировка ЗаявлениеСчет упорядочить по ЗаявлениеСчет.Контрагент, ЗаявлениеСчет.ВидУслуг, ЗаявлениеСчет.ВидРабот, ЗаявлениеСчет.Количество;
    |Условие(ЗаявлениеСчет.Контрагент = ""Частные лица"");
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей ЗаявлениеСчет
        Таб.ВывестиСекцию("ЗаявлениеСчет");
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры

boyarincev

В чём ошибка? - выдаёт только заглавку

prog1c7.7


boyarincev

Бухгалтерия для бюджетных учреждений

alexandr_ll

В условии запроса вы сравниваете Контрагент (Ссылка на элемент справочника) со строкой, отсюда и пустой результат запроса. Сравнивайте наименование контрагента, а лучше в форме отчета добавить поле "Нужный контрагент" типа справочник. контрагенты и сравнивать с ним.

boyarincev

отлично, вот что получилось
Условие(СокрЛП(ЗаявлениеСчет.Контрагент) = ""Частные лица""
все работает, а как по синтаксису добавить еще условие?

prog1c7.7

1.А что контрагент , это строка у тебя?
2.Условие какое хочешь добавить?

boyarincev

контрагент это справочник - с этим разобрался, но есть еще вопрос:
1) Есть ЗаявлениеСчет.КодСИ (в счете их может быть несколько разных)
КодСИ - строка (10 симв)
2) Надо чтобы работала группа условий пример(синтаксис не знаю)
Условие(СокрЛП(ЗаявлениеСчет.Контрагент) = ""Частные лица"");
Вот как прикрутить и чтоб работало вместе:
Условие(ЗаявлениеСчет.КодСИ = 3001635 или 3001634); (синтаксис по любому не верный...)

VivaBrunko

Бухгалтерия для бюджетных учреждений

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск