|
Оптимизация запроса УПП | ☑ | ||
---|---|---|---|---|
0
asder117
14.08.17
✎
11:35
|
Доброе время суток коллеги. Поступила от бухов дибильная задача. собрать доходную часть. причем согласно нашей работы яего должен собрать по разным типом договоров, а договора я могу отлючить только по букве в наименовании
сделал запрос: ЗапросА = Новый Запрос; ЗапросА.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ОсновнойДвиженияССубконто.ВалютнаяСуммаКт КАК ВалютнаяСуммаКт, | ОсновнойДвиженияССубконто.СубконтоДт1, | ПРЕДСТАВЛЕНИЕ(ОсновнойДвиженияССубконто.СубконтоДт1) КАК СубконтоДт1Представление, | ОсновнойДвиженияССубконто.СубконтоКт1, | ПРЕДСТАВЛЕНИЕ(ОсновнойДвиженияССубконто.СубконтоКт1) КАК СубконтоКт1Представление, | ОсновнойДвиженияССубконто.СубконтоДт2, | ПРЕДСТАВЛЕНИЕ(ОсновнойДвиженияССубконто.СубконтоДт2) КАК СубконтоДт2Представление, | ОсновнойДвиженияССубконто.СубконтоКт2, | ПРЕДСТАВЛЕНИЕ(ОсновнойДвиженияССубконто.СубконтоКт3) КАК СубконтоКт3Представление, | ОсновнойДвиженияССубконто.Сумма КАК Сумма, | ПРЕДСТАВЛЕНИЕ(ОсновнойДвиженияССубконто.Регистратор) КАК ПредставлениеОперации, | ОсновнойДвиженияССубконто.Регистратор КАК ДокументОперации, | ОсновнойДвиженияССубконто.Период КАК ДатаОперации, | ОсновнойДвиженияССубконто.Содержание КАК Операция, | ОсновнойДвиженияССубконто.НомерЖурнала, | ОсновнойДвиженияССубконто.НомерСтроки, | ПРЕДСТАВЛЕНИЕ(ОсновнойДвиженияССубконто.Организация) КАК Организация |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( | &НачПериода, | &КонПериода, | Активность = ИСТИНА | И Счет В ИЕРАРХИИ (&СчетАнализа) | И Организация = &Организация | И Субконто1 = &Значение1, | , | ) КАК ОсновнойДвиженияССубконто |ГДЕ | ОсновнойДвиженияССубконто.СубконтоДт2.Наименование ПОДОБНО &Наименование | //ИЛИ ОсновнойДвиженияССубконто.СубконтоДт2.Наименование ПОДОБНО &Наименование2 | |УПОРЯДОЧИТЬ ПО | ДатаОперации, | ОсновнойДвиженияССубконто.Регистратор |ИТОГИ | СУММА(Сумма) |ПО | ОБЩИЕ"; ЗапросА.УстановитьПараметр("Значение1", Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000003")); ЗапросА.УстановитьПараметр("КонПериода", КонечнаяДата); //Дата ЗапросА.УстановитьПараметр("Наименование", "%А%"); //Строка ЗапросА.УстановитьПараметр("НачПериода", НачальнаяДата); //Дата ЗапросА.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоКоду("000000001")); //Организация ЗапросА.УстановитьПараметр("СчетАнализа", ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01")); //План счетов бухгалтерского учета "90.01" РезультатЗапросаА = ЗапросА.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока РезультатЗапросаА.Следующий() цикл все работает на ура сумму выводит. но "&Наименование" у меня будет с десяток (%А%, %Б%, %С%, %ХЯ% и т.д.) т.е. это 10 таких запросов и потом вывод в строку код получится километровый. либо убирать из запроса "| ОсновнойДвиженияССубконто.СубконтоДт2.Наименование ПОДОБНО &Наименование" и потом при обходе результата по подобию наименования отсеивать. тогда я думаю будут тормоза неимоверные. Кто что посоветует. заранее спасибо |
|||
1
asder117
14.08.17
✎
11:36
|
все работает на ура сумму выводит. но "&Наименование" у меня будет с десяток (%А%, %Б%, %С%, %ХЯ% и т.д.) т.е. это 10 таких запросов и потом вывод в строку код получится километровый. либо убирать из запроса "| ОсновнойДвиженияССубконто.СубконтоДт2.Наименование ПОДОБНО &Наименование" и потом при обходе результата по подобию наименования отсеивать. тогда я думаю будут тормоза неимоверные. Кто что посоветует. заранее спасибо
|
|||
2
Numerus Mikhail
14.08.17
✎
11:38
|
Завести реквизит "ТипДоговора" -> Заполнить его -> Профит
|
|||
3
1dvd
14.08.17
✎
11:41
|
(2) или задействуй Свойства/Категории
|
|||
4
тарам пам пам
14.08.17
✎
12:02
|
во-первых, исправь в запросе
ОсновнойДвиженияССубконто.СубконтоДт2.Наименование на ВЫРАЗИТЬ(ОсновнойДвиженияССубконто.СубконтоДт2 КАК Справочник.ДоговорыКонтрагентов).Наименование А во-вторых, как выше правильно написали, заведи в договорах реквизит, заполни его один раз автоматом и пни бухов чтобы в дальнейшем сами его заполняли. Иначе потом задолбаешься отчет дорабатывать, т. к. будет "этот договор добавь, а этот попадать не должен, хоть там и есть буквы "х * я" в наименовании". |
|||
5
asder117
14.08.17
✎
12:15
|
(4) "а этот попадать не должен, хоть там и есть буквы "х * я" в наименовании" вот блин я с этим и столкнулся. Договор бухи тянут из другой базы. надо подумать какой реквизит засандалить. И потом получается группировки-итоги по данному реквизиту собирать...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |