Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
25 Сен 2017, 00:06
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Начальный уровень запроса  (Прочитано 870 раз)

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

Оффлайн boyarincev

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-06
  • Сайт: 
  • Профессия: Бухгалтер
Ребят добрый день, нужна помощь... Учился давно - вспомнить надо помочь:
Имеется Документ - ЗаявлениеСчет ( в котором имеются поля: ЗаявлениеСчет.Контрагент, ЗаявлениеСчет.ВидУслуг, ЗаявлениеСчет.ВидРабот, ЗаявлениеСчет.Количество) по крайней мере мне нужны только эти поля пока...
Задача - надо вывести через запрос:
сумму всего ЗаявлениеСчет.Количество за определенный период где ЗаявлениеСчет.Контрагент="Частные лица" (код 1) и "Доп лица" (код 2) а так же ЗаявлениеСчет.ВидУслуг = "Тест"

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

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


Оффлайн boyarincev

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-06
  • Сайт: 
  • Профессия: Бухгалтер
В чём ошибка? - выдаёт только заглавку

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
Ошибка в запросе.
Конфигурация какая?

Оффлайн boyarincev

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-06
  • Сайт: 
  • Профессия: Бухгалтер
Бухгалтерия для бюджетных учреждений

Оффлайн alexandr_ll

  • ****
  • Сообщений: 279
  • РЕПУТАЦИЯ: 39
  • КПД: 14%
  • Регистрация: 2016-08-23
  • Сайт: 
  • Профессия: Программист 1С
В условии запроса вы сравниваете Контрагент (Ссылка на элемент справочника) со строкой, отсюда и пустой результат запроса. Сравнивайте наименование контрагента, а лучше в форме отчета добавить поле "Нужный контрагент" типа справочник. контрагенты и сравнивать с ним.

Оффлайн boyarincev

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-06
  • Сайт: 
  • Профессия: Бухгалтер
отлично, вот что получилось
Условие(СокрЛП(ЗаявлениеСчет.Контрагент) = ""Частные лица""
все работает, а как по синтаксису добавить еще условие?

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
1.А что контрагент , это строка у тебя?
2.Условие какое хочешь добавить?

Оффлайн boyarincev

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-06
  • Сайт: 
  • Профессия: Бухгалтер
контрагент это справочник - с этим разобрался, но есть еще вопрос:
1) Есть ЗаявлениеСчет.КодСИ (в счете их может быть несколько разных)
КодСИ - строка (10 симв)
2) Надо чтобы работала группа условий пример(синтаксис не знаю)
Условие(СокрЛП(ЗаявлениеСчет.Контрагент) = ""Частные лица"");
Вот как прикрутить и чтоб работало вместе:
Условие(ЗаявлениеСчет.КодСИ = 3001635 или 3001634); (синтаксис по любому не верный...)

Оффлайн VivaBrunko

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: -2
  • Регистрация: 2015-04-30
  • Сайт: 
  • Профессия: ГлавБух
Бухгалтерия для бюджетных учреждений


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
135 Сообщений
alex0402
79 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
78 Сообщений
BuhRust
26 Сообщений
AIFrame
24 Сообщений
Golickoff Golickoff
22 Сообщений
ilyay ilyay
21 Сообщений
Варвар
20 Сообщений
Kironten
19 Сообщений
Римма
18 Сообщений

* Кто онлайн

  • Точка Гостей: 265
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal