К вопросу об оптимизации запросов v8 с использованием виртуальных таблиц (1С: v8: Язык запросов)

Вопрос Можно ли в запросах 1С v8 всегда заменять условие «ГДЕ» параметрами среза виртуальной таблицы? Ответ Часто встречающаяся рекомендация по выполнению опимизации запросов: переносить условие из конструкции ГДЕ в параметры виртуальной таблицы. Однако без понимания, как это работает, легко совершить ошибку.

Continue reading


Что такое ПОЛНОЕ СОЕДИНЕНИЕ в запросе 1C, как оно работает? (1C: 8.1: Программисту: Язык программирования: Язык запросов)

Вопрос Что такое ПОЛНОЕ СОЕДИНЕНИЕ в запросе 1C, как оно работает? Ответ Любое «СОЕДИНЕНИЕ» наборов данных, в том числе и «ПОЛНОЕ», дает команду объединить определенным образом два набора данных между собой по некоторому условию (обычно это условие равенства каких-то ресурсов в этих наборах). В случае полного соединения в результирующем наборе будут не только строки, по […]

Continue reading


Хитрости запросов: сравнения и проверки в запросах 1С. Отбор не заполненного значения. Отбор в запросе документов конкретного типа при составном типе и т.п. ( 1С: 8.1: Язык программирования: Запросы)

Вопрос Как в языке запросов 1С отобрать не заполненное значение? Какое условие указать в запросе после ключевого слова «ГДЕ», когда нужно сделать отбор по не заполненным полям? Ответ См. примеры запросов и комментарии к ним: Запрос.Текст = «ВЫБРАТЬ | усЕдиницыХранения.Ссылка |ИЗ | Справочник.усЕдиницыХранения КАК усЕдиницыХранения // Пример 1. сравнение с не заполненным булевым значением: |ГДЕ […]

Continue reading


Временные таблицы: Пример получения цен (1С: 8.1: Программисту: Работа с запросами)

Вопрос Как в языке запросов 1С используются временные таблицы? Что такое временные таблицы? Ответ В одном из последних релизов платформы 8.1 появилась возможность использовать в запросах временные таблицы. Что это такое и как их можно использовать? Рассмотрим пример, с которым наверное многие из Вас сталкивались — а именно с необходимостью расчета цен по таблице товаров. […]

Continue reading


Аналог метода Лев в запросе (1С, 8.1, Программисту, Работа с запросами)

Вопрос Как в запросе использовать «СокрЛП», «Лев», «Прав», т.е. как отсечь нужное количество символов? Ответ Использовать конструкцию «ВЫРАЗИТЬ»: … ГДЕ (ВЫРАЗИТЬ(усЕдиницыХранения.Владелец.Наименование КАК СТРОКА(4))) <> «Груз» |ГДЕ | (ВЫРАЗИТЬ(усЕдиницыХранения.Владелец.Наименование КАК СТРОКА(4))) <> &Груз … Запрос.УстановитьПараметр(«Груз»,»Груз»);

Continue reading