Я раньше боялся схемы запросов. Для меня это какая-то неведомая технология, где обычный текст запихивается в сложный объект и с ним там работаешь. Я старательно избегал его и для редактирования запросов использовал СтрЗаменить и конкантенацию строк.
Но редактирование текста ошибкоемко - легко можно развалить запрос, особенно когда используются сложные условия. Да и редактировать текст не всегда может быть удобно удобно. Конечно, нужно использовать параметры в запросе, а не просто менять текст, например, так неправильно:
"ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование ,
| Номенклатура. " + ИмяПоляКод + " КАК КодАртикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
а вот так правильно:
ТекстЗапроса =
"ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование,
| &ИмяПоляКод КАК КодАртикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляКод", "Номенклатура." + ИмяПоляКод);
Про это целый стандарт есть как правильно оформлять тексты запросов. Там разбираются типичные ошибки в оформлениях и предлагаются решения.
Я с легкой завистью смотрел на коллег, которые используют Схему запросов. Но самому было как-то страшновато это пробовать. Да и зачем - если через замену строк все так же будет работать, да и выглядит понятнее. Так я себя оправдывал.
И вот на текущем проекте настало время. Нужно редактировать запрос так, что через СтрЗаменить и параметры работает и выглядит плохо. И я начал использовать СхемаЗапросов. Было страшно…
Причем я использовал только замену условий сортировки и параметров, а сам текст запроса заполнил изначально как обычно. И вот тут мне прям понравилось - это гораздо проще для редактирования и программной обработки запроса. Сначала, кажется, сложно и непонятно, но уже относишься к этому проще.
Может быть неправильный термин - боюсь технологию, но я за собой такое замечал, что не хочу что-то использовать, чтобы не тратить силы на изучение или не бороться с последствиями, если что-то пойдет не так. Думаешь, что вот сейчас разбираться в этом, а потом если что-то пойдет не так, но ошибку очень долго искать. Гораздо проще использовать свой Золотой молоток.
И вот такие моменты, где я выбирал инструмент попроще вместо сложного - у меня остаются в памяти. Я к ним иногда примеряюсь - смогу ли я сейчас его применить?
Потихоньку такой список становится все меньше и меньше. Еще есть сложные задачи в виде удаления субконто с плана счетов, но и к этому придем.
Стандарт: Оформление текстов запросов Статья: Объектная модель запроса Схема запросов Антипаттерн: Золотой молоток
· 02.07.2024
Если я правильно понял, то можно готовый уже запрос закинуть в схему запросов и через него спокойно модифицировать текст, добавляя поля, источники данных и соединения. Решение маст-хев для кейсов когда нужно программно поменять например текст динамического запроса в форме списка через расширение - постоянно это практикуем
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 02.07.2024
Да, это ровно для этого. Удобно, хоть и есть вопросики к производительности
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён