Язык запросов — 1C-h
 

Предположим в конструкторе запроса Схемы компоновки данных имеется запрос: ВЫБРАТЬ РАЗРЕШЕННЫЕ * ИЗ РегистрНакопления.ЗамещенныеШтатныеЕдиницыОрганизаций.Остатки(&Период, ) КАК ЗамещенныеШтатныеЕдиницыОрганизацийОстатки Задача. Предположим, что значение параметра &Период может быть передано любым, а нам требуется осуществить получение данных на конец указанного дня. Решение. Напрямую в параметрах виртуальной таблицы применить конструкцию запроса вида КОНЕЦПЕИОДА(&НужнаяДата,ДЕНЬ) мы не […]

1

Вопрос Как в регистре сведений изменить значение какого-либо параметра по условию? Ответ Пример. Регистр сведений «усСтрокиОтбора» содержит ресурс «Исполнитель» (тип – справочник «усРаботники»). Требуется не заполненное значение «Исполнителя» в регистре заменить на конкретного исполнителя «Жеглов». Для этих целей можно использовать универсально написанную процедуру:

2

Вопрос Как в 1С получить срез данных на даты из другого множества, т.е. для каждого элемента множества получить значение, действующее на конкретную дату из другого множества. Ответ Постановка задачи. Итак, есть множество в виде таблицы «Срез»: ДатаСреза ОбъектСреза 14.01.2010 1

Вопрос Обход запроса по группировкам, как собираются данные в запросе с конструкцией ИТОГИ ПО. Предположим, требуется организовать цикл, в котором должен формироваться массив заказов, в разрезе Контрагентов и Адреса доставки. Как это сделать? Ответ Пишем запрос:

2

Вопрос Как разбираться в больших запросах. Консоль запросов. Как посмотреть, чем заполнены временные таблицы в запросе? Ответ Довольно часто в типовых конфигурациях 1С встречаются очень большие сложные для восприятия запросы. Например, запрос автозаполнения документа «Начисление зарплаты» содержит в себе порядка 3000 строк. И это далеко не предел. В современных редакциях […]

Вопрос Когда используется директива «ИМЕЮЩИЕ» в языке запросов 1С? Чем «ИМЕЮЩИЕ» отличается от условия «ГДЕ»? Ответ Отличие директивы «ИМЕЮЩИЕ» от условия «ГДЕ» состоит в том, что ее можно использовать для агрегатных функций. Обязательным условием при этом является использование группировки по остальным полям. Пример: «ВЫБРАТЬ | тбЗадания.Задание, | СУММА(тбЗадания.КоличествоИсполнителей) КАК КоличествоИсполнителей […]

3

Что означает сообщение об ошибке «Тип не может быть выбран в запросе» Такая ошибка возникает, когда при выполнении запроса не получается определить тип выбираемого значения. Пример. В текст запроса требуется передать таблицу значений &ТЗПС и из этой таблицы значений построить новый запрос. В параметры мы передаем ТаблицуЗначений: ТЗПС = ПолучитьТЗСуммаПоПартииТоваровНаСкладах(); […]

4

Как в запросе отобрать элементы, значение которых — «битая ссылка», т.е. «объект не найден» Для этого используется логический оператор ЕСТЬ NULL функций языка запросов. Например, допустим, в регистре накопления «ПартииТоваровНаСкладах» мы хотим найти записи, в которых измерение «ДокументОприходования» оказалось такой вот битой ссылкой на «объект не найден». Запрос будет выглядеть […]

10

Как с помощью языка запросов 1С получить множество значений, состоящее из значений текущего множества, за исключением подмножества, принадлежащего другому множеству. См. рис. По условию задачи требуется получить значения, попадающие в синюю область значений множества «А» и не попадающие в заштрихованную фиолетовую область значений подмножества «С» Решить задачу можно разными способами. […]