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

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Pro1009I, 4 окт 2016.

  1. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

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

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

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    условие не верное
  3. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    подскажи что не так? какое бы условие не вставлял все равно заглавку только вставляет и все...
  4. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    ребят помогите - много отчетов висит по данному вопросу...
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Условие(СокрЛП(ЗаявлениеСчет.Контрагент) = ""Частные лица"");
  6. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Спасибо - ИДЕАЛ!!!
    Только как еще добавить итог снизу? под количеством?
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    суммировать в цикле и выводить отдельную секцию
  8. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    итог добавил, а как по синтаксису добавить еще условие?
    Условие(СокрЛП(ЗаявлениеСчет.Контрагент) = ""Частные лица"")
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    заменить ваше условие в запросе на вышеописанное
  10. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    надо и то и другое... в каком синтаксисе писать?
  11. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Я, конечно, дико извиняюсь, но о каком синтаксисе идет речь?
  12. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Здравствуйте.
    Логическое ИЛИ в условиях запроса не подойдет?
  13. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

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

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Я не специалист по запросам, но как-то так:
    Код:
    Условие((ЗаявлениеСчет.КодСИ = 3001635) или (ЗаявлениеСчет.КодСИ = 3001634))
  15. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Увы... Пустая табл... Что-то пошло не так...
  16. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Может КодСИ строковый тип имеет ?
  17. TopicStarter Overlay
    Pro1009I
    Offline

    Pro1009I

    Регистрация:
    4 окт 2016
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    именно, вот и про синтексис спрашиваю
  18. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    тогда цифры в двойных кавычках
    Код:
    Условие((СокрЛП(ЗаявлениеСчет.КодСИ) = ""3001635"") или (СокрЛП(ЗаявлениеСчет.КодСИ) = ""3001634""))
  19. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    А зачем экранировать кавычки ?
  20. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Это же текст запроса, а в нем текстовые значения. Или не об этом речь?

Поделиться этой страницей