|
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
|
Ещё раз спасибо, и правда прочитал тупо из текстового файла.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |