Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИмяПараметра1", ЗначениеПараметра1);
...
Запрос.УстановитьПараметр("ИмяПараметраN", ЗначениеПараметраN);
Запрос.Текст = "ВЫБРАТЬ ... ";
Или конструкций вида:
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить(ИмяКолонки1);
...
ТЗ.Колонки.Добавить(ИмяКолонкиN);
Для ускорения ввода конструкций языка по шаблонам есть соответствующие средства. Однако существует и другой путь справиться со ставшей уже привычной избыточностью кода. Этот путь – использование функций.
Для получения готового к выполнению запроса можно использовать функцию:
Функция НовыйЗапрос(Текст, Параметры = 0) Экспорт
Результат = Новый Запрос(Текст);
Для Каждого Параметр Из Результат.НайтиПараметры() Цикл Результат.Параметры.Вставить(Параметр.Имя)
КонецЦикла;
Если Параметры <> 0 Тогда ЗаполнитьЗначенияСвойств(Результат.Параметры, Параметры)
КонецЕсли;
Возврат Результат
КонецФункции
Здесь параметрами является текст запроса и структура или объект, реквизиты которого содержат значения параметров запроса. В модуле объекта удобнее использовать в качестве параметра значение «ЭтотОбъект». А параметры запроса именовать также как реквизиты этого объекта.
Примеры использования функции:
Для получения количества всех элементов справочника можно использовать код:
ВсегоВНоменклатуре = НовыйЗапрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура").Выполнить().Выгрузить().Количество();
Для получения таблицы значений из табличной части "Товары" документа "РеализацияТоваровИУслуг" можно использовать код:
Товары_ = НовыйЗапрос("ВЫБРАТЬ * ИЗ Документ.РеализацияТоваровУслуг.Товары ГДЕ Ссылка = &Ссылка", ЭтотОбъект).Выполнить().Выгрузить();
Также, например, в обработке заполнения табличной части для удаления строк с нулевой суммой в модуле объекта обработки достаточно будет записать такую короткую процедуру:
Процедура Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
Объект.Товары.Загрузить(
НовыйЗапрос("ВЫБРАТЬ * ИЗ Документ.РеализацияТоваровУслуг.Товары ГДЕ Ссылка = &Ссылка И Сумма > 0"
, Объект).Выполнить().Выгрузить())
КонецПроцедуры
Конечно, это только небольшая часть возможных примеров. После того, как использование этой функции входит в привычку, к обычному варианту через повторение "УстановитьЗначениеПараметра" возвращаться уже не хочется. В редких случаях, когда объекта-параметра с походящим набором свойств подобрать не удается, в качестве параметра можно использовать Новый Структура("ИмяПараметра1, ... ", ЗначениеПараметра1, ... ). Все равно за счет возможности записать после функции через точку метод "Выполнить" код получается короче.
Для получения таблицы значений, имена колонок которой перечислены в строке через запятую, можно использовать функцию:
Функция НоваяТаблицаЗначений(ИменаКолонокЧерезЗапятую) Экспорт
Результат = Новый ТаблицаЗначений;
Для Каждого Элемент Из Новый Структура(ИменаКолонокЧерезЗапятую) Цикл Результат.Колонки.Добавить(Элемент.Ключ)
КонецЦикла;
Возврат Результат
КонецФункции
Пример использования функции:
ВзаимоРасчетыФИФО = НоваяТаблицаЗначений("ДокументОтгрузки, ДокументОплаты, Сумма");
купить, программ, 1С, 1, С, в, Егорьевске, Московской, бухгалтерия, предприятие, продукт, 2, 3, 8, 7, 10, 11, 5, 0, торговля, склад, зарплата, кадры, управление, персонал, настроить, обучение, на, курсы, компьютерный, центр, ООО, ИНТЕХ, учет, производство, ERP, УПП, УТ, ЗУП, упрощенка, документооборот, розница, небольшая, фирма, деньги, скачать, сопровождение, внедрить, обновить, обучить, франчайзи, организация, поддержка, сертифицированный, аттестованный, компьютер, Егорьевск, Москва, область, Воскресенск, Шатура, Ликино, Коломна, Рошаль, Бронницы, Шувое, Куровское, Луховицы, ЭЦП, отчетность, ИТС, электронный, архив, автоматизация, оперативный, техподдержка, телефон, Интернет, аренда, автосервис, магазин, бухфон, горячая, линия, битрикс, версия, лицензия, линк, релиз, сайт, фреш, ЦСО, ЭДО, яндекс, карта. купить, программ, 1С, 1, С, в, Егорьевске, Московской, бухгалтерия, предприятие, продукт, 2, 3, 8, 7, 10, 11, 5, 0, торговля, склад, зарплата, кадры, управление, персонал, настроить, обучение, на, курсы, компьютерный, центр, ООО, ИНТЕХ, учет, производство, ERP, УПП, УТ, ЗУП, упрощенка, документооборот, розница, небольшая, фирма, деньги, скачать, сопровождение, внедрить, обновить, обучить, франчайзи, организация, поддержка, сертифицированный, аттестованный, компьютер, Егорьевск, Москва, область, Воскресенск, Шатура, Ликино, Коломна, Рошаль, Бронницы, Шувое, Куровское, Луховицы, ЭЦП, отчетность, ИТС, электронный, архив, автоматизация, оперативный, техподдержка, телефон, Интернет, аренда, автосервис, магазин, бухфон, горячая, линия, битрикс, версия, лицензия, линк, релиз, сайт, фреш, ЦСО, ЭДО, яндекс, карта,
Обновление 1С, управленческий учет, бухгалтерский учет
Наша компания также занимается разработкой собственных программных продуктов на платформе «1С:Предприятие 8».
В нашей компании работают сертифицированные фирмой «1С» специалисты, которые постоянно совершенствуют свои знания и навыки. Они помогут качественно и оперативно решить задачи по автоматизации управления и учета на вашем предприятии.
Наша компания опирается в своей работе на знание и повседневное применение стандартов качества, проектных методов в управлении, процессного подхода в организации нашей деятельности.
Компания хорошо организована, в ней четко распределены обязанности, процедуры, соблюдается технология работы, имеются оперативные инструкции, документированные и известные всему персоналу, существуют отработанные процедуры контроля выполняемых работ и, конечно, профессиональный и хорошо обученный персонал, способный качественно выполнять свою работу.