|   |   | 
| 
 | v7: Забыл язык запросов 7.7 | ☑ | ||
|---|---|---|---|---|
| 0
    
        Sevish 14.05.18✎ 21:02 | 
        Добрый день.
 Задача вывести все ПКО и значения реквизитов, например, в табличный документ, чтобы показать и сохранить в xls. Делаю: Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(ПКО) |Период с ВыбНачПериода по ВыбКонПериода; |Без итогов; |ПринятоОт = Документ.ПриходныйОрдер.ПринятоОт; |Основание = Документ.ПриходныйОрдер.Основание; |Приложение = Документ.ПриходныйОрдер.Приложение; |КоррСчет = Документ.ПриходныйОрдер.КоррСчет; |Субконто1 = Документ.ПриходныйОрдер.Субконто1; |Субконто2 = Документ.ПриходныйОрдер.Субконто2; |Субконто3 = Документ.ПриходныйОрдер.Субконто3; |ФормироватьПроводки = Документ.ПриходныйОрдер.ФормироватьПроводки; |Количество = Документ.ПриходныйОрдер.Количество; |Сумма = Документ.ПриходныйОрдер.Сумма; |СтавкаНДС = Документ.ПриходныйОрдер.СтавкаНДС; |НДС = Документ.ПриходныйОрдер.НДС; |ДвижениеДенежныхСредств = Документ.ПриходныйОрдер.ДвижениеДенежныхСредств; |Контрагент = Документ.ПриходныйОрдер.Контрагент; |ТекущийДокумент = Документ.ПриходныйОрдер.ТекущийДокумент; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("ПКО"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка() = 1 Цикл // Заполнение полей ПКО Таб.ВывестиСекцию("ПКО"); КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("ПКО", ""); Результат - пусто, что не так? | |||
| 1
    
        ildus78 14.05.18✎ 21:08 | 
        а группировки в запросе, собственно, где? цикл не выполняется?     | |||
| 2
    
        Остап Сулейманович 14.05.18✎ 21:18 | 
        (0) Запрос по документам без функций не але. По справочнику - да. По документам - нет.     | |||
| 3
    
        goodzone 14.05.18✎ 23:52 | 
        (0) И правильно сделал! ))     | |||
| 4
    
        goodzone 14.05.18✎ 23:54 | 
        (0) Что бы по документам сработало, нужно что-то просуммировать     | |||
| 5
    
        big 15.05.18✎ 04:37 | 
        (0) Не слушай этих неграмотных и неопытных ))
 Надо добавить строку ОбрабатыватьДокументы Проведенные|Непроведенные|Все И не надо никаких ни суммирований, ни функций )) | |||
| 6
    
        Chameleon1980 15.05.18✎ 04:49 | 
        (4), (5)
 только группировку нужно таки | |||
| 7
    
        Chameleon1980 15.05.18✎ 04:50 | 
        и потом можно или обойти или 
 Запрос.Выгрузить(ТЗ,1,0) | |||
| 8
    
        Sevish 15.05.18✎ 05:02 | 
        Воспользовался советами, получилось так, но в таблице я вижу только документ и две суммы, а мне нужно значения реквизитов :(
 ТекстЗапроса = "//{{ЗАПРОС(ПКО) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |ПринятоОт = Документ.ПриходныйОрдер.ПринятоОт; |Основание = Документ.ПриходныйОрдер.Основание; |Приложение = Документ.ПриходныйОрдер.Приложение; |КоррСчет = Документ.ПриходныйОрдер.КоррСчет; |Субконто1 = Документ.ПриходныйОрдер.Субконто1; |Субконто2 = Документ.ПриходныйОрдер.Субконто2; |Субконто3 = Документ.ПриходныйОрдер.Субконто3; |ФормироватьПроводки = Документ.ПриходныйОрдер.ФормироватьПроводки; |Количество = Документ.ПриходныйОрдер.Количество; |Сумма = Документ.ПриходныйОрдер.Сумма; |СтавкаНДС = Документ.ПриходныйОрдер.СтавкаНДС; |НДС = Документ.ПриходныйОрдер.НДС; |ДвижениеДенежныхСредств = Документ.ПриходныйОрдер.ДвижениеДенежныхСредств; |Контрагент = Документ.ПриходныйОрдер.Контрагент; |ТекущийДокумент = Документ.ПриходныйОрдер.ТекущийДокумент; |Функция СуммаСумма = Сумма(Сумма); |Функция НДССумма = Сумма(НДС); |Группировка ТекущийДокумент; |"//}}ЗАПРОС | |||
| 9
    
        big 15.05.18✎ 05:30 | 
        (8) убери функции попробуй     | |||
| 10
    
        big 15.05.18✎ 05:31 | 
        (9) + кстати, НеПомеченныеНаУдаление - это для справочников. Для документов - это как в (5)     | |||
| 11
    
        Chameleon1980 15.05.18✎ 06:34 | 
        Даты норм задал?     | |||
| 12
    
        vladko 15.05.18✎ 09:06 | 
        (8) 1.Убери 
 |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; 2. в Макете вывода прописывай вручную нужные тебе реквизиты: например, Запрос.КоррСчет или Запрос.Основание, т.к. по умолчанию конструктор запроса прописывает там только значения группировок и функций. | |||
| 13
    
        trk415e76 15.05.18✎ 09:54 | 
        Молодежь, целую конференцию устроили. Есть замечательная стандартная обработка для 7.7 docprint.ert. Выводит любой документ со всеми реквизитами в табличном виде. Там же можно и запрос посмотреть. Только как ее прицепить к сообщению не знаю.     | |||
| 14
    
        Chameleon1980 15.05.18✎ 13:04 | 
        ...Только как ее прицепить к сообщению не знаю... Молодежь. :)
 я тоже не знаю, если честно. | |||
| 15
    
        PC 15.05.18✎ 13:10 | 
        (13) Да она небось на ИТСе есть.     | |||
| 16
    
        Sevish 15.05.18✎ 21:59 | 
        Так, спасибо, разобрался, добавил в макет поля и понеслось :)
 Теперь другой важный вопрос: есть список контрагентов (наименование) 800-900 строк в экзеле, вбрать их из БД никак не получится, я и так выбрал всех, человек оставил в списке нужных. Теперь мне надо выбрать по ним договора. Вроде не проблема, но как в запрос этот отбор внести? В 8ке я бы разместил этот список в макете, а потом из макета прочитал и через поиск в справочнике по наименованию добавил бы в "СписокЗначений", отбр и все готово. А тут как сделать? Задача усложняется тем, что список сделан по "НаименованиеПолное"... Подскажите, пожалуйста. | |||
| 17
    
        Злопчинский 16.05.18✎ 00:35 | 
        (16) "В 8ке я бы разместил этот список в макете,"
 - восьмерочники такие выдумщики-проказники-извращенцы - из простоко текстового файла или из экселя не читается? если вставлять в макет - то нахрена? не проще вставить в многострочное поле и тупо прочиатть строку с разделителями? нахрена сюда в восьмерке макет хренячить..? хотя я в 8-ке - ноль, может, оно, конечно, есть скрытые смыслы... | |||
| 18
    
        Злопчинский 16.05.18✎ 00:36 | 
        (16) тупо построчно читаешь список
 для текущей строки списка перебираешь тупо записи справочника и сравниваешь полные наименования. для совпадающих - выдергиваешь договор. | |||
| 19
    
        Chameleon1980 16.05.18✎ 04:22 | 
        (17)
 ну как тебе сказать. Я бы в 8, как один из вариантов, например, сделал бы через построитель т.е. загрузил в макет и скормил бы нужную область построителю получил бы и отборы (если нужно) по колонкам и быструю загрузку с результатом запроса. | |||
| 20
    
        Sevish 17.05.18✎ 06:33 | 
        Ещё раз спасибо, и правда прочитал тупо из текстового файла.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |