|   |   | 
| 
 | Правильное изменение кода запроса | ☑ | ||||||
|---|---|---|---|---|---|---|---|---|
| 0
    
        Дебет 19.04.16✎ 11:35 | 
 
        как правильно написать код запроса если есть кнопка выбора, от который запрос будет немного различаться?
 Писать новый запрос указав на него или оставив старый снабдить его обильными... | Подбор.КоличествоОстатокОрганизации, //***********НАЧАЛО |"+ ?(Использовать, " Подбор.Ко "") + " //************* | |||||||
| 1
    
        WebberNSK 19.04.16✎ 11:36 | 
        (0) использовать схему запроса     | |||||||
| 2
    
        butterbean 19.04.16✎ 11:36 | 
        все зависит от размера "немного"     | |||||||
| 3
    
        Fragster гуру 19.04.16✎ 11:36 | 
        (0) использовать построитель запроса     | |||||||
| 4
    
        birkoFFFF 19.04.16✎ 11:37 | 
        Зависит от обстоятельств     | |||||||
| 5
    
        Дебет 19.04.16✎ 11:37 | 
        20% всего запроса, запрос на 118 строк     | |||||||
| 6
    
        salvator 19.04.16✎ 11:38 | 
        А что добавляется-то? Секрет?     | |||||||
| 7
    
        samozvanec 19.04.16✎ 11:38 | 
        (0) что важнее - читабельность, производительность, или повторное использование?     | |||||||
| 8
    
        Дебет 19.04.16✎ 11:39 | 
        (7) для меня читабельность, но пред прог писал с комментами     | |||||||
| 9
    
        Дебет 19.04.16✎ 11:40 | 
        не удобно, нельзя сразу через конструктор скопировать текст запроса, приходиться через отладчик Запрос.текст     | |||||||
| 10
    
        Dmitrii гуру 19.04.16✎ 12:07 | 
        (1) +1.
 Рекомендации от самой 1С: Рекомендации к использованию схемы запроса: - для внесения изменений в запрос, созданный через конструктор запроса; - в местах, где запрос «склеивается» через строки; - для динамического формирования запроса, в зависимости от параметров, заданных пользователем Преимущества использования схемы запроса, по сравнению с программным редактированием текста запроса: - удобство сопровождения кода, - удобство отладки кода (из схемы запроса можно в любой момент получить текст запроса), - динамическое формирование запроса во время выполнения в зависимости от параметров, заданных пользователем, - удобно вносить небольшие изменения в большой запрос, - гарантия корректности запроса на выходе. Вывод: очередная бездарная голосовалка, не содержащая правильного ответа. | |||||||
| 11
    
        Fragster гуру 19.04.16✎ 12:09 | 
        (10) схема запроса не очень хорошо работает с условиями - их все равно надо формировать склейкой строк. В этом плане Построитель (и СКД для сложных условий например с группами по ИЛИ) ИМХО лучше.     | |||||||
| 12
    
        Господин ПЖ 19.04.16✎ 12:10 | 
        >схема запроса не очень хорошо работает с условиями - их все равно надо формировать склейкой строк
 вот это вообще вымораживает в ней... | |||||||
| 13
    
        Господин ПЖ 19.04.16✎ 12:11 | 
        сделать казалось бы полезную вещь и не решить базовый вопрос     | |||||||
| 14
    
        Карупян 19.04.16✎ 12:14 | 
        схему запроса удобно юзать для внедрения в типовой код.
 А по этой задаче скорее вссего достаточно будт построителя | |||||||
| 15
    
        TormozIT гуру 19.04.16✎ 12:16 | 
        ПостроительЗапроса будет оптимальным решением.     | |||||||
| 16
    
        Diman000 19.04.16✎ 12:19 | 
        Схема запроса это из 8.3 я так понимаю?
 Наверное, прикольная штука... Но лично мне недоступная (( Я обычно использую строчки типа &ДопТекстЗапроса. Чтобы конструктор съедал такие вещи. И через СтрЗаменить. Мне очень не нравятся запросы с динамическим текстом, который не съедается конструктором... | |||||||
| 17
    
        Dmitrii гуру 19.04.16✎ 12:20 | 
        (11) >>  с условиями - их все равно надо формировать склейкой строк.
 Почему? А разве так плохо добавлять условия: Если ВидыДвиженийДенежныхСредств Неопределено Тогда Схемазапроса = Новый СхемаЗапроса; СхемаЗапроса.УстановитьТекстЗапроса(ТекстЗапроса); Отбор = "СтатьиДвиженияДенежныхСредств.ВидДвиженияДенежныхСредств В (&ВидыЦвиженийДенежныхСредств)"; СхемаЗапроса.ПакетЗапросов[О].Операторы (О).Отбор.Добавить(Отбор); ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); КонецЕсли; По сути конечно тоже склейка, но ИМХО, тут сложно что-то лучше можно придумать. | |||||||
| 18
    
        f_vadim 19.04.16✎ 12:34 | 
        ВЫБОР КОГДА ТОГДА всегда использовал. редко СтрЗаменить     | |||||||
| 19
    
        Fragster гуру 19.04.16✎ 12:38 | 
        (18) это может привести к падению производительности     | |||||||
| 20
    
        Dmitrii гуру 19.04.16✎ 12:43 | 
        (18) Не всегда применимо + см. (19)
 И вообще не совсем относится к теме ветки. Автор ветки интересовался не тем какой текст и на что менять в запросе (тут вариантов и случаев может быть миллионы), а тем - как именно эти изменения текста присобачивать - полностью рисуя свой текст или модифицируя существующий. | |||||||
| 21
    
        f_vadim 19.04.16✎ 12:50 | 
        (19) это может если с неприведёнными типами какие-то манипуляции делать, пока не сталкивался.
 (20) для этого нужно не ограничивать себя только текстом запроса. например, у меня запрос в одних ситуациях должен использовать данные заранее сформированноой таблицы значений, а в других - нет. можно во втором случае на вход подавать пустую таблицу и добавить ещё один параметр в сам запрос. формирование текста склейкой строк - считаю гвнкодом. стрзаменить тоже рядом где-то, крайний случай. | |||||||
| 22
    
        b_ru 19.04.16✎ 12:51 | 
        Дописывать надо, но не такое вот уродство
 |"+ ?(Использовать, " Подбор.Ко "") + " а &МоеКлевоеДополнительноПоле и стрЗаменить потом, чтобы запрос можно было конструктором открывать. Схемы запросов и прочие ORM от лукавого. Дописать имеющийся | |||||||
| 23
    
        Fragster гуру 19.04.16✎ 12:58 | 
        (22) путаешь орм     | |||||||
| 24
    
        Dmitrii гуру 19.04.16✎ 14:30 | 
        (21) >> с неприведёнными типами ... не сталкивался. 
 Открой для себя типовые конфигурации от 1С. Там скорее редкость запрос с приведенными типами. В большинстве же случаев - в запросах куча полей с составными типами. >> у меня запрос.... У меня тоже запрос. Речь не о твоём или моём запросе. Прочитай внимательно вопрос автора ветки в (0). Ситуация, которую он описывает заключается в том, что есть уже готовый чей-то запрос и задача заключается в том, чтобы модифицировать текст этого запроса таким образом, чтобы одновременно максимально достигались цели: - сохранения читабельности запроса; - возможность открывать текст в конструкторе; - внесением минимального количества изменений в исходный код. А написать какой-то свой новый супер-пупер-запрос, который будет мега-универсальным тут любой может. Для этого много ума не надо. Здесь 9 человек из 10 придут, назовут код предыдущего писателя капрокодом и изъявят готовность переписывать всё с нуля. | |||||||
| 25
    
        f_vadim 19.04.16✎ 14:44 | 
        >> В большинстве же случаев - в запросах куча полей с составными типами.
 речь об использовании таких полей в условиях и соединениях, а не в наличии вообще. >> Ситуация, которую он описывает заключается в том, что есть уже готовый чей-то запрос богатая фантазия, завидую >> А написать какой-то свой новый супер-пупер-запрос, который будет мега-универсальным тут любой может ага-ага, знаем-знаем. тут от вопросов связанных с запросами не знаешь то ли плакать, то ли смеяться отказ от склейки строк и стрзаменить даёт нам - сохранение читабельности запроса; - возможность открывать текст в конструкторе; ну про это я уже писал. - внесением минимального количества изменений в исходный код. если уж говорить о доработке типовой конфигурации текст запроса можно получать из своего модуля или переопределить процедуру целиком. схемы запросов удобными не считаю. | |||||||
| 26
    
        Dmitrii гуру 19.04.16✎ 15:06 | 
        (25) Вот ты упёртый однако ))))
 Перечитай (0). Да можешь даже не перечитывать. Посмотри тупо пункты голосовалки: "Писать с нуля" и "Дописать имеющийся" - эти варианты ответов разве не подразумевают наличия уже некоего существующего готового запроса? А ты впариваешь про мою фантазию.... >> отказ от склейки строк и стрзаменить ... Я где-то предлагал делать склейку или использовать СтрЗаменить? Я сам против подобных подходов. >> от вопросов связанных с запросами не знаешь то ли плакать, то ли смеяться +100500. особенно от высказываний типа "ВЫБОР КОГДА ТОГДА всегда использовал". Прям сразу живо представляются запросы, состоящие исключительно из конструкций ВЫБОР..., но зато супер универсальные - которым можно скормить любой источник данных. | |||||||
| 27
    
        mikecool 19.04.16✎ 15:07 | 
        (0) все параметры описать сразу в запросе с добавкой ИЛИ Парметр == Неопределено     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |