• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Группировка В Запросе И Уровни Справочника

  • Автор темы Tomash
  • Дата начала
T

Tomash

есть одноуровневый справочник Операторы, который уже разросся до неудобства, хотелось бы разделить его по группам, несколько групп по интересам и одна "неработающие" или что-то в этом роде

в конфигураторе увеличиваю кол-во уровней справочника до 2-х, влепил на форму окошко с деревом иерархии - всё вроде норм, однако отчёты, использующие прямые скуль запросы вылетают с ошибкой 42000 native 107 далее ругается то ли на отсутствие самого справочника, то ли какого-то реквизита...

например такой запрос:

Код:
	Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = 
"//{{ЗАПРОС(Сформировать)
|Период с НачДата по КонДата;	
|
|Склад = Документ.ЧекМаг.Склад;
|Консультант = Документ.ЧекМаг.Оператор;
|Бренд = Документ.ЧекМаг.Товар.Родитель;
|Товар = Документ.ЧекМаг.Товар;
|ГруппаТовара = Документ.ЧекМаг.Товар.ГруппаТовара;
|Колво = Документ.ЧекМаг.Количество;
|СуммаСНДС = Документ.ЧекМаг.СуммаСНДС;
|
|Функция КолвоСумма = Сумма(Колво);
|Функция СуммаСНДССумма = Сумма(СуммаСНДС);
|
|Группировка Консультант Без Групп Упорядочить По СуммаСНДССумма;
|Группировка Склад Без Групп;
|"//}}ЗАПРОС
;

методом научного тыка выяснилось что если убрать упорядочивание по СуммаСНДССумма

Код:
		 |Группировка Консультант Без Групп;

то отчёт начинает работать.

если снова уменьшить уровни справочника до 1, то опять же всё работает и без, и с упорядочиванием

Что же это такое? Почему? отчётов с скуль запросами в конфе - миллион, плюс какие-то обработки и документы тоже могут их содержать. Перелопачивать всю конфу очень сильно лень, мало того, легко что-то пропустить, что потом всплывёт чёрте где и чёрте как.

может я что-то не так делаю с уровнями? помогите пожалуйста
 
P

puh14

А если профайлером взглянуть что на скуле выходит из такого запроса?
 
T

Tomash

После слова "Упорядочить По " можно написать только слова "Код" или "Наименование".

если я правильно понимаю вас, то потому что группа не имеет сумм, а только код и соответственно, наименование

ОК, тогда следующий вопрос, можно ли как-нибудь определить вхождения справочника Операторы в отчёты и документы? ну может не самого справочника, а скуль таблицы

т.е. я так понимаю, что всё-таки нужно будет перелопачивать всю конфигурацию, и хотелось бы как-то автоматизировать хотя бы нахождение прямых запросов, иначе 100% что-то упущу со всеми вытекающими

пс: пока писал появилась идея - а если добавить группам отдельный реквизит Сумма...
 
V

vbs

Да что уж проще ?
1. Выкинуть упорядочивание по сумме
2. Выгрузить запрос в ТЗ
3. Отсортировать ТЗ по сумме
4. Откинуться на спинку кресла, пока негр рисует таблицу вывода
5. ... и дожидаться оплаты от заказчика


Добавлено: Кстати, если в Санкт-Петербурге есть не слишком загруженные программисты по 7.7,
готов предложить выгодное сотрудничество на ближайшие 3-4 месяца
 
T

Tomash

Да что уж проще ?
1. Выкинуть упорядочивание по сумме
2. Выгрузить запрос в ТЗ
3. Отсортировать ТЗ по сумме
4. Откинуться на спинку кресла, пока негр рисует таблицу вывода
5. ... и дожидаться оплаты от заказчика

это-то я понял, проблема в том, что подобных отчётов и проч. в конфе много, и переделывать каждый лень, ищу другие пути пока
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!