Как используются квадратные скобки в запросе?
В своей упп никогда не видел что бы запросах использовался текст в квадратных скобках. А полистал типовую торговлю и попался такой текст
Стало интересно в каких случаях используются квадратные скобки ? Если они используются как параметры подстановки, то чем они оличаются от подстановки c амперсанд - например с таким вот кодом?
...
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КОЛИЧЕСТВО(ВерсииОбъектов.Объект) КАК Количество
|ИЗ
| РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
|ГДЕ
| ВерсииОбъектов.ВерсияПроигнорирована <> &ОтборПоПропущенным
| И (ВерсииОбъектов.ТипВерсииОбъекта В (&ТипыВерсий))
| [ОтборПоУзлу]
| [ОтборПоПериоду]
| [ОтборПоПричине]";
Запрос = Новый Запрос;
ОтборПоПропущенным = ?(ПоказыватьПроигнорированные, Неопределено, Истина);
Запрос.УстановитьПараметр("ОтборПоПропущенным", ОтборПоПропущенным);
Если УзлыОбмена = Неопределено Тогда
СтрокаОтбора = "";
ИначеЕсли ПланыОбмена.ТипВсеСсылки().СодержитТип(ТипЗнч(УзлыОбмена)) Тогда
СтрокаОтбора = "И ВерсииОбъектов.АвторВерсии = &УзлыОбмена";
Запрос.УстановитьПараметр("УзлыОбмена", УзлыОбмена);
Иначе
СтрокаОтбора = "И ВерсииОбъектов.АвторВерсии В (&УзлыОбмена)";
Запрос.УстановитьПараметр("УзлыОбмена", УзлыОбмена);
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ОтборПоУзлу]", СтрокаОтбора);
...
ПоказатьСтало интересно в каких случаях используются квадратные скобки ? Если они используются как параметры подстановки, то чем они оличаются от подстановки c
&ТекстЗапросаНаименованиеЕдиницыИзмерения2
...
| &ТекстЗапросаНаименованиеЕдиницыИзмерения2 КАК ЕдиницаИзмеренияНаименование,
| &ТекстЗапросаКодЕдиницыИзмерения2 КАК ЕдиницаИзмеренияКод,
| &ТекстЗапросаНаименованиеЕдиницыИзмерения2 КАК ВидУпаковки,
| ВидыЗапасов.КоличествоУпаковок КАК КоличествоУпаковок,
| ВидыЗапасов.Количество КАК Количество,
| КОНЕЦПЕРИОДА(ВидыЗапасов.Ссылка.Дата, ДЕНЬ) КАК ДатаПолученияЦены,
| АналитикаУчетаНоменклатуры.СкладскаяТерритория.УчетныйВидЦены КАК ВидЦены,
| АналитикаУчетаНоменклатуры.СкладскаяТерритория.УчетныйВидЦены.ВалютаЦены КАК ВалютаЦены,
| Шапка.ПредварительныйРасчет КАК ПредварительныйРасчет
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| Документ.ВводОстатков.Товары КАК ВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтШапка КАК Шапка
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория = Шапка.Склад
| И ВидыЗапасов.Ссылка = Шапка.Ссылка
|ГДЕ
| АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И АналитикаУчетаНоменклатуры.СкладскаяТерритория.ИсточникИнформацииОЦенахДляПечати = ЗНАЧЕНИЕ(Перечисление.ИсточникиИнформацииОЦенахДляПечати.ПоСебестоимости)
|;
|";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование", "Товары.Упаковка", "Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКодЕдиницыИзмерения1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Код", "Товары.Упаковка", "Товары.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Наименование", "ВидыЗапасов.Упаковка", "ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура"));
...
ПоказатьПо теме из базы знаний
- Создание отчетов с помощью СКД - основные понятия и элементы
- Как сдать экзамен 1С:Специалист по платформе?
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Обзор полезных методов БСП 3.1.4
- Интеграция с сайтом на WooCommerce (WordPress) через MySQL
Найденные решения
(1) Абсолютно ничем не отличаются. Каждый делает так, как ему удобно. Единственная разница, которую я мог бы здесь отметить, так это то, что при использовании амперсанда такой текст запроса можно будет открыть и отредактировать текст конструктором запроса, т.к. имеем по сути параметр запроса.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Абсолютно ничем не отличаются. Каждый делает так, как ему удобно. Единственная разница, которую я мог бы здесь отметить, так это то, что при использовании амперсанда такой текст запроса можно будет открыть и отредактировать текст конструктором запроса, т.к. имеем по сути параметр запроса.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот