Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Забыл язык запросов 7.7

v7: Забыл язык запросов 7.7
Я
   Sevish
 
14.05.18 - 21:02
Добрый день.
Задача вывести все ПКО и значения реквизитов, например, в табличный документ, чтобы показать и сохранить в xls.
Делаю:
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(ПКО)

    |Период с ВыбНачПериода по ВыбКонПериода;
    |Без итогов;
    |ПринятоОт = Документ.ПриходныйОрдер.ПринятоОт;
    |Основание = Документ.ПриходныйОрдер.Основание;
    |Приложение = Документ.ПриходныйОрдер.Приложение;
    |КоррСчет = Документ.ПриходныйОрдер.КоррСчет;
    |Субконто1 = Документ.ПриходныйОрдер.Субконто1;
    |Субконто2 = Документ.ПриходныйОрдер.Субконто2;
    |Субконто3 = Документ.ПриходныйОрдер.Субконто3;
    |ФормироватьПроводки = Документ.ПриходныйОрдер.ФормироватьПроводки;
    |Количество = Документ.ПриходныйОрдер.Количество;
    |Сумма = Документ.ПриходныйОрдер.Сумма;
    |СтавкаНДС = Документ.ПриходныйОрдер.СтавкаНДС;
    |НДС = Документ.ПриходныйОрдер.НДС;
    |ДвижениеДенежныхСредств = Документ.ПриходныйОрдер.ДвижениеДенежныхСредств;
    |Контрагент = Документ.ПриходныйОрдер.Контрагент;
    |ТекущийДокумент = Документ.ПриходныйОрдер.ТекущийДокумент;
    |"//}}ЗАПРОС

    ;
    // Если ошибка в запросе, то выход из процедуры

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("ПКО");
    // Заполнение полей "Заголовок"

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

        Таб.ВывестиСекцию("ПКО");
    КонецЦикла;
    // Вывод заполненной формы

    Таб.ТолькоПросмотр(1);
    Таб.Показать("ПКО", "");

Результат - пусто, что не так?
 
 
   ildus78
 
1 - 14.05.18 - 21:08
а группировки в запросе, собственно, где? цикл не выполняется?
   Остап Сулейманович
 
2 - 14.05.18 - 21:18
(0) Запрос по документам без функций не але. По справочнику - да. По документам - нет.
   goodzone
 
3 - 14.05.18 - 23:52
(0) И правильно сделал! ))
   goodzone
 
4 - 14.05.18 - 23:54
(0) Что бы по документам сработало, нужно что-то просуммировать
   big
 
5 - 15.05.18 - 04:37
(0) Не слушай этих неграмотных и неопытных ))

Надо добавить строку ОбрабатыватьДокументы Проведенные|Непроведенные|Все

И не надо никаких ни суммирований, ни функций ))
   Chameleon1980
 
6 - 15.05.18 - 04:49
(4), (5)
только группировку нужно таки
   Chameleon1980
 
7 - 15.05.18 - 04:50
и потом можно или обойти или 
Запрос.Выгрузить(ТЗ,1,0)
   Sevish
 
8 - 15.05.18 - 05:02
Воспользовался советами, получилось так, но в таблице я вижу только документ и две суммы, а мне нужно значения реквизитов :(

    ТекстЗапроса = 
    "//{{ЗАПРОС(ПКО)

    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Без итогов;
    |ПринятоОт = Документ.ПриходныйОрдер.ПринятоОт;
    |Основание = Документ.ПриходныйОрдер.Основание;
    |Приложение = Документ.ПриходныйОрдер.Приложение;
    |КоррСчет = Документ.ПриходныйОрдер.КоррСчет;
    |Субконто1 = Документ.ПриходныйОрдер.Субконто1;
    |Субконто2 = Документ.ПриходныйОрдер.Субконто2;
    |Субконто3 = Документ.ПриходныйОрдер.Субконто3;
    |ФормироватьПроводки = Документ.ПриходныйОрдер.ФормироватьПроводки;
    |Количество = Документ.ПриходныйОрдер.Количество;
    |Сумма = Документ.ПриходныйОрдер.Сумма;
    |СтавкаНДС = Документ.ПриходныйОрдер.СтавкаНДС;
    |НДС = Документ.ПриходныйОрдер.НДС;
    |ДвижениеДенежныхСредств = Документ.ПриходныйОрдер.ДвижениеДенежныхСредств;
    |Контрагент = Документ.ПриходныйОрдер.Контрагент;
    |ТекущийДокумент = Документ.ПриходныйОрдер.ТекущийДокумент;
    |Функция СуммаСумма = Сумма(Сумма);
    |Функция НДССумма = Сумма(НДС);
    |Группировка ТекущийДокумент;
    |"//}}ЗАПРОС
   big
 
9 - 15.05.18 - 05:30
(8) убери функции попробуй
   big
 
10 - 15.05.18 - 05:31
(9) + кстати, НеПомеченныеНаУдаление - это для справочников. Для документов - это как в (5)
 
 Рекламное место пустует
   Chameleon1980
 
11 - 15.05.18 - 06:34
Даты норм задал?
   vladko
 
12 - 15.05.18 - 09:06
(8) 1.Убери 
|Обрабатывать НеПомеченныеНаУдаление;
|Без итогов;
2. в Макете вывода прописывай вручную нужные тебе реквизиты: например, Запрос.КоррСчет или Запрос.Основание, т.к. по умолчанию конструктор запроса прописывает там только значения группировок и функций.
   trk415e76
 
13 - 15.05.18 - 09:54
Молодежь, целую конференцию устроили. Есть замечательная стандартная обработка для 7.7 docprint.ert. Выводит любой документ со всеми реквизитами в табличном виде. Там же можно и запрос посмотреть. Только как ее прицепить к сообщению не знаю.
   Chameleon1980
 
14 - 15.05.18 - 13:04
...Только как ее прицепить к сообщению не знаю... Молодежь. :)
я тоже не знаю, если честно.
   PC
 
15 - 15.05.18 - 13:10
(13) Да она небось на ИТСе есть.
   Sevish
 
16 - 15.05.18 - 21:59
Так, спасибо, разобрался, добавил в макет поля и понеслось :)

Теперь другой важный вопрос: есть список контрагентов (наименование) 800-900 строк в экзеле, вбрать их из БД никак не получится, я и так выбрал всех, человек оставил в списке нужных. Теперь мне надо выбрать по ним договора. Вроде не проблема, но как в запрос этот отбор внести? В 8ке я бы разместил этот список в макете, а потом из макета прочитал и через поиск в справочнике по наименованию добавил бы в "СписокЗначений", отбр и все готово. А тут как сделать?
Задача усложняется тем, что список сделан по "НаименованиеПолное"...

Подскажите, пожалуйста.
   Злопчинский
 
17 - 16.05.18 - 00:35
(16) "В 8ке я бы разместил этот список в макете,"
- восьмерочники такие выдумщики-проказники-извращенцы - из простоко текстового файла или из экселя не читается? если вставлять в макет - то нахрена? не проще вставить в многострочное поле и тупо прочиатть строку с разделителями? нахрена сюда в восьмерке макет хренячить..? хотя я в 8-ке - ноль, может, оно, конечно, есть скрытые смыслы...
   Злопчинский
 
18 - 16.05.18 - 00:36
(16) тупо построчно читаешь список
для текущей строки списка перебираешь тупо записи справочника и сравниваешь полные наименования. для совпадающих - выдергиваешь договор.
   Chameleon1980
 
19 - 16.05.18 - 04:22
(17)
ну как тебе сказать.
Я бы в 8, как один из вариантов, например, сделал бы через построитель

т.е. загрузил в макет и скормил бы нужную область построителю
получил бы и отборы (если нужно) по колонкам и быструю загрузку с результатом запроса.
   Sevish
 
20 - 17.05.18 - 06:33
Ещё раз спасибо, и правда прочитал тупо из текстового файла.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует