v8: Предопределенные данные в запросах.
Часто хочется в отчетах иметь предопределенные данные, например значения перечислений, предопределенных элементов справочников, коды счетов и т.п.. Однажды мне надоело тупо вколачивать предопределенные данные и я автоматизировал этот процесс. | Автор статьи: Гений 1С Последняя редакция №1 от 21.09.06 > |
Ключевые слова: предопределенные данные,запрос
Когда текст запроса готов, я вызываю функцию:
Функция обПредопределенныеЗначения(Запрос)
Параметры=Запрос.НайтиПараметры()
Для Каждого Эл Из Параметры Цикл
//Установка предопределенных параметров
Если Лев(Эл.Значение, 8)="Счет" Тогда
…
Запрос.УстановитьПараметр(Эл.Значение, ПланыСчетов(НайденныйПлан).НайтиПоКоду(НайденныйКод);
ИначеЕсли Лев(Эл.Значение, 10)="Справочник" Тогда
…
КонецЕсли;
КонецЦикла;
Возврат Запрос();
КонецФункции
Выполнение запроса можно оформить так:
обПредопределенныеЗначения(Запрос).Выполнить();
Вот примерная табличка, как заполняются ссылки на предопределенные данные:
&Счет_Основной_11_2 - заменяется на счет основного плана счетов с кодом 11.2
&Счет_Основной_Товары - заменяется на счет основного плана счетов с идентификатором "Товары"
&Справочник_Номенклатура_ТоварУсловный - заменяется на предопределенный элемент справочника "Номенклатура" с идентификатором "ТоварУсловный"
&Перечисление_СтавкиНДС_НДС18 - заменяется на значение перечисления СтавкиНДС c идентификатором "НДС18"
Правда с появлением 8.1 данная табличка уже становится неактуальной, т.к. там можно использовать предопределенные счета, элементы справочников и значения перечислений. Но пока еще можно использовать.