Есть вот такой код
Как мне вывести (можно с помощью функции Сообщить()) все данные?
Подозреваю, что у меня ошибка в Группировке (если я Группирую по НомерДок, то могу вывести как раз только НомерДок)
Подскажите, пожалуйста, в чем ошибки?
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|Без итогов;
|ПлатежноеПоручение = Документ.ПлатежноеПоручение.ТекущийДокумент;
|НомерДок = Документ.ПлатежноеПоручение.НомерДок;
|ДатаДок = Документ.ПлатежноеПоручение.ДатаДок;
|ЮрЛицо = Документ.ПлатежноеПоручение.ЮрЛицо;
|БанковскийСчет = Документ.ПлатежноеПоручение.БанковскийСчет;
|ВидПлатежа = Документ.ПлатежноеПоручение.ВидПлатежа;
|Контрагент = Документ.ПлатежноеПоручение.Контрагент;
|Очередность = Документ.ПлатежноеПоручение.Очередность;
|ИННПлательщика = Документ.ПлатежноеПоручение.ИННПлательщика;
|ИННПолучателя = Документ.ПлатежноеПоручение.ИННПолучателя;
|СтавкаНДС = Документ.ПлатежноеПоручение.СтавкаНДС;
|Сумма = Документ.ПлатежноеПоручение.Сумма;
|Группировка ПлатежноеПоручение;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
ПоказатьКак мне вывести (можно с помощью функции Сообщить()) все данные?
Подозреваю, что у меня ошибка в Группировке (если я Группирую по НомерДок, то могу вывести как раз только НомерДок)
Подскажите, пожалуйста, в чем ошибки?
По теме из базы знаний
- Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя"
- Конструктор чат-ботов Telegram: разработка ботов в ТГ, редакция 2
- Начните уже использовать хранилище запросов
- Мигрируем с MS SQL на PostgreSQL
- Применение 1С:Аналитики и Дата акселератора, или Как получить в 1С прозрачность и скорость обработки данных для прямого доступа и контроля руководителя
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) planod, после
необходимо перебрать результаты группировки
или выгрузить в ТЗ =)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
необходимо перебрать результаты группировки
Пока Запрос.Группировка("ПлатежноеПоручение") = 1 Цикл
сообщить(Запрос.ПлатежноеПоручение+", "+Запрос.НомерДок+" ")//и т.д.
КонецЦикла;
или выгрузить в ТЗ =)
ТЗ=Создатьобъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,,);
(10) planod, с семеркой не всегда так (особенно если база ДБФ), при построении отчетов запрос зачастую быстрее, особенно если большой объем данных. Но этот выигрыш теряется если нужны какие то изменения в объектах. Плюс возможности запроса в 77 ограничены и его имеет смысл использовать если разом можно получить все данные. А скажем отчет ДеревоДокументов через запрос уже сделать гемарно.
(10) planod, В Вашем случае сомнительно... Запрос нацелен на быстрый отбор по условиям, а в Вашем контексте условий нет. %80 времени все рано будет занимать вывод информации, а не перебор или выполнение запроса. И в конце концов что вам мешает сделать два варината и замер производительноси по каждому?
(14) Sibul, Конечная задача довольна-таки интересна. Стоит ТиС релиза 924, обновить не можем, так как предыдущий 1с-специалист влил туда кучу своих доработок и реквизитов. Нужна выгрузка в "Клиент Банка". Это обработка повилась только в 930 релизе. Если её выдернуть из 930, но работать не будет, так как, повторюсь, куча своих реквизитов натыкано. Вот я и сижу, человек, который сразу начал изучать 8.2, с конфигуратиором 7.7, и по имеющейся структуре файла обмена "1с - Клиент Банка" пытаюсь создать внешнюю обработку для выгрузки.
Тогда точно вариантом не запроса. потому как вам 100% понадобиться отмечать что данный документ уже был выгружен, а это запись и запрос 77 тут не подойдет. Искать же объект по списку запроса тем более увеличит время обработки.
(17) planod, Ну если Вам клиент-банк нужен, то при чем здесь скорость!:) Несколько десятков платежек в день (даже сотен) - вы разницу и не заметите.
Достаточно просто я думаю и в клюшке:)
ПП = СоздатьОбъект("Документ.ПлатежноеПоручение");
ПП.УстановитьФильтр(1,0);//если нужны только проведенные
ПП.ВыбратьДокументы(НачДата,КонДата);
Пока ПП.ПолучитьДокумент() = 1 Цикл
ДатаПП = ПП.ДатаДок;
ЮрЛицо = ПП.ЮрЛицо;//Для агрегатных объектов скорее всего нужно указать конкретное значение реквизита например ПП.ЮрЛицо.Наименование
...
//Перед концом цикла можете засовывать переменные ДатаПП, ЮрЛицо и т.д куда хотите
КонецЦикла;
ПоказатьДостаточно просто я думаю и в клюшке:)
(19) planod, Это я думаю вопрос не по программированию, а по бухгалтерии. У меня, например, счета собственный и получателя являются реквизитами платежного поручения и получить через точку доступ к коррсчетам, МФО и прочим реквизитам этих счетов совсем не сложно. Ну а если у Вас в платежке нет реквизита расчетный счет получателя и плательщика, то мне сложно представить как это работает, а тем более что-то посоветовать...
(19) planod, это все есть в ПП, зачем запрос? В восьмерке когда получение таблицы дает некий выйгрыш и получить запросом значение реквизита выгоднее, то в семерке и на ДБФ запросы наоборот могут увеличить время обработки.
Опять же, речь про клиент-банк, где критичность скорости так низка что теряется всякий смысл разговора о том что быстрее. Человек явно путается с запросами, опыт еще небольшой, так зачем ему заморачиваться, когда можно написать прямо и понятно (а иначе зачем вообще метод ВыбратьДокументы()). А после того как девочка на банке будет довольна, будет несколько свободного времени, можно и по изучать вариант с запросом и это будет очень полезно на будущие задачи.
PS По опыту скажу так, запросы к дбф в 77 иногда (особенно на серверных платформах в терминале в купе с каким нибудь аладином и докторвебером вгоняют в ступор на 1-2 минуты с не пойми чего... Поэтому ради простой выборки документов стараюсь их не использовать, но это возможно только мне так повезло.
Опять же, речь про клиент-банк, где критичность скорости так низка что теряется всякий смысл разговора о том что быстрее. Человек явно путается с запросами, опыт еще небольшой, так зачем ему заморачиваться, когда можно написать прямо и понятно (а иначе зачем вообще метод ВыбратьДокументы()). А после того как девочка на банке будет довольна, будет несколько свободного времени, можно и по изучать вариант с запросом и это будет очень полезно на будущие задачи.
PS По опыту скажу так, запросы к дбф в 77 иногда (особенно на серверных платформах в терминале в купе с каким нибудь аладином и докторвебером вгоняют в ступор на 1-2 минуты с не пойми чего... Поэтому ради простой выборки документов стараюсь их не использовать, но это возможно только мне так повезло.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот