Имя: Пароль:
1C
1C 7.7
v7: Установить параметр в запросе
,
0 qwasqu
 
24.01.16
06:48
Здравствуйте, сформировал конструктором запрос, в запросе есть "Условие", как задать значение данному параметру?
1 PuhUfa
 
24.01.16
07:00
(0) просто присвоить переменной в запросе нужное значение
2 rphosts
 
24.01.16
07:28
Продам СП, дорого...

Запрос.УстановитьПараметр("ВКавычкахИмяПараметра", ЗдесьЗначениеПараметра);
3 qwasqu
 
24.01.16
07:34
(1) А подскажите, как выбрать поля как детальные записи?
(2) Мне по 7 нужно.
4 Любопытная
 
24.01.16
07:37
(3) Чего тебе нужно?
5 rphosts
 
24.01.16
07:42
(4) ему нужно было запустить не конструктор запроса а конструктор запроса с обработкой результата.
6 DDwe
 
24.01.16
08:25
(5) У него 7.7
7 qwasqu
 
24.01.16
09:22
Подскажите, как получить ТЗ со значениями?

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

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

В конце ставлю точку останова и получить строку(), но 1с не предоставляет выбор.
8 rphosts
 
24.01.16
09:26
(6) действительно клюшки.
9 rphosts
 
24.01.16
09:27
(7) покури типовые
10 PuhUfa
 
24.01.16
09:36
(7)
Выгрузить(<?>,,)
Синтаксис:
Выгрузить(<ТаблЗнач>,<Флаг>,<Итоги>)
Назначение:
Выгружает результаты запроса в таблицу значений. Возвращает число: 1 - если выгрузка произошла успешно, иначе - 0.
Параметры:
<ТаблЗнач> - Таблица значений, куда выгружаются результаты запроса.
<Флаг> - необязательный параметр. Число или строка:
0 - значения групп и функций (по умолчанию);
1 - значения групп и функций, дополнительных переменных;
2 - значения упорядочиваний групп и функций;
3 - значения упорядочиваний групп и функций, дополнительных переменных;
Строка - '' Товар(1), Товар(2), Товар, Склад, Приход, Расход'', где Товар(1) - значение первого упорядочивания группировки ''Товар''.
<Итоги> - необязательный параметр. Число:
0 - итоги по группировкам не выводить;
1 - итоги по группировкам выводить сверху (по умолчанию);
2 - итоги по группировкам выводить снизу;
3 - итоги по группировкам выводить сверху и снизу.
11 qwasqu
 
24.01.16
09:43
(10) Меня интересует не как выгрузить а как получить детальные записи запроса,
Т.е. вначале обходим группировку, а как детальные записи?
Если все поля добавить в группировки, запрос просто не сможет выполниться.
12 rphosts
 
24.01.16
10:00
(11) т.е. посмотреть в типовых влом, почитать описание макроязыка влом - нужно что-бы за вас сделал кто-то другой
13 Chameleon1980
 
24.01.16
10:11
(6)
и что. Где-то в клюшках есть такое типа конструктор запроса с обработкой результатта.

он там циклы сам потом создает.

счас специально проверю

нее. отдельно нет.
но..

блин когда просто создаешь внешнюю отчет/обработку
после вызова конструктора создается все нужно для обработки этого запроса
14 Chameleon1980
 
24.01.16
10:12
+(13)

например так (потом выкидываем ненужное):

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

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