Комментарий в языке запросов

1. Manticor 66 07.11.11 15:15 Сейчас в теме
Подскажите как ставится комментарий в конструкторе запросов или уже в тексте модуля где запрос прописан.
запрос=Новый запрос("ВЫБРАТЬ
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка,
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.НомерСтроки,
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.Номенклатура,
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.Склад,
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.Количество,
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.Сумма
					|ИЗ
					|	Документ.РасходныйКассовыйОрдер.ОплачиваемыеТовары КАК РасходныйКассовыйОрдерОплачиваемыеТовары,
					|	РегистрНакопления.ОплаченныеТовары.Обороты(
					|			,
					|			,
					|			,
					|			Номенклатура В
					|					(ВЫБРАТЬ РАЗЛИЧНЫЕ
					|						ВтТовары.Номенклатура
					|					ИЗ
					|						ВтТовары КАК ВтТовары)
					|				И Организация = &Организация
					|				И Поставщик = &Контрагент
					|				И Склад В
					|					(ВЫБРАТЬ РАЗЛИЧНЫЕ
					|						ВтТовары.Склад
					|					ИЗ
					|						ВтТовары КАК ВтТовары)
					|				И (НЕ Оплачено)) КАК ОплаченныеТоварыОбороты
					|ГДЕ
					|	РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка = &Ссылка"
Показать
native-api; +1 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TheGrr 142 07.11.11 17:27 Сейчас в теме
Как и в коде: //Текст комментария.
native-api; adhocprog; Vovanich; +3 Ответить
3. Збянтэжаны Саўка 245 08.11.11 11:42 Сейчас в теме
Только в коде ибо конструктор убивает комментарий :(
4. EugeneMIPT 10.11.11 15:30 Сейчас в теме
manticor пишет:

Подскажите как ставится комментарий в конструкторе запросов или уже в тексте модуля где запрос прописан.


Тоже с этим столкнулся... Когда запросы большие - очень тяжело в них разобраться.
Если написать комменты прямо в тексте запроса - то после изменения запроса с помощью конструктора - все комменты будут удалены.
Если писать комменты в разрыв текста запроса - то же самое.

Остается только либо писать комменты в запросе, но изменения вносить уже вручную,
либо писать комменты перед или после самого запроса,
либо, составлять запрос из временных таблиц, формирование каждой делать отдельным запросом (привязанным к одному менеджеру временных таблиц), каждый такой маленький запрос отдельно комментарить.
adhocprog; +1 Ответить
5. EugeneMIPT 10.11.11 15:42 Сейчас в теме
Для данного примера это может выглядеть примерно так:
МВТ = Новый МенеджерВременныхТаблиц;
// Коммент 1
Запрос1 = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
               |                  ВтТовары.Склад
               |        ПОМЕСТИТЬ ТабСклады
               |               ИЗ
               |                  ВтТовары КАК ВтТовары")
;
Запрос1.МенеджерВременныхТаблиц = МВТ;
Запрос1.Выполнить;

// Коммент 2
Запрос2 = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
               |                  ВтТовары.Номенклатура
               |        ПОМЕСТИТЬ ТабТовары
               |               ИЗ
               |                  ВтТовары КАК ВтТовары)
               |            И Организация = &Организация
               |            И Поставщик = &Контрагент
               |            И Склад В ТабСклады
               |            И (НЕ Оплачено)")
;
Запрос2.МенеджерВременныхТаблиц = МВТ;
Запрос2.УстановитьПараметр...
Запрос2.Выполнить;

// Коммент 3
Запрос3 = Новый Запрос("ВЫБРАТЬ
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка,
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.НомерСтроки,
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.Номенклатура,
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.Склад,
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.Количество,
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.Сумма
               |ИЗ
               |   Документ.РасходныйКассовыйОрдер.ОплачиваемыеТовары КАК РасходныйКассовыйОрдерОплачиваемыеТовары,
               |   РегистрНакопления.ОплаченныеТовары.Обороты(
               |         ,
               |         ,
               |         ,
               |         Номенклатура В ТабТовары) КАК ОплаченныеТоварыОбороты
               |ГДЕ
               |   РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка = &Ссылка")
;
Запрос3.МенеджерВременныхТаблиц = МВТ;
Запрос3.УстановитьПараметр...
Рез = Запрос3.Выполнить;
Показать
11. idjumatov 17 28.10.21 13:48 Сейчас в теме
(11)
(5) При использовании данного подхода очень тяжко приходится при отладке, например когда нужно быстренько все протестить в консоли
6. serginios 13.11.11 20:15 Сейчас в теме
Можно в конце строки писать //коментарий
7. aspiid 9 14.11.11 10:32 Сейчас в теме
либо, составлять запрос из временных таблиц, формирование каждой делать отдельным запросом (привязанным к одному менеджеру временных таблиц), каждый такой маленький запрос отдельно комментарить.

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

Правильней было бы копировать текст запроса куда-нибудь, перед тем как вы к нему притронулись (бэкап, опять же), и потом нужные каменты добавлять заново.
8. yoyoman 14.11.11 11:10 Сейчас в теме
Всегда бекапил запрос :)
9. Lost 17.11.11 08:38 Сейчас в теме
aspiid пишет:
Через временные таблицы вы, в более-менее серьезных запросах, рискуете сильно увеличить время выполнения, т.к. временная таблица записывается на жесткий диск.


Это из какого источника Вам известно, что временные таблицы записываются на жесткий диск? В книге профессиональной разработки в разделе оптимизации наоборот рекомендуется выполнять сложные запросы через временные таблицы или пакетные запросы, потому что они ХЭШИРУЮТСЯ на сервере. А в вебинаре Чистова наглядно продемонстрировано насколько быстрее пакетный запрос, чем соединение/объединение. И никогда ничего временное на жесткий диск не записывалось.
baracuda; MrFlanker; Gavary; +3 Ответить
10. aspiid 9 17.11.11 09:00 Сейчас в теме
(9)
все временные таблицы пишутся в tempdb.
В принципе, потери на запись временной таблицы не очень существенны, но они есть. В каких то случаях они компенсируются тем, что Скуль может выбрать более правильный план выполнения, в каких-то нет.
В любом случае, правильно составленный запрос значит значительно больше для производительности.
Lost пишет:
А в вебинаре Чистова наглядно продемонстрировано насколько быстрее пакетный запрос, чем соединение/объединение.

Все верно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот