Предположим в конструкторе запроса Схемы компоновки данных имеется запрос: ВЫБРАТЬ РАЗРЕШЕННЫЕ * ИЗ РегистрНакопления.ЗамещенныеШтатныеЕдиницыОрганизаций.Остатки(&Период, ) КАК ЗамещенныеШтатныеЕдиницыОрганизацийОстатки Задача. Предположим, что значение параметра &Период может быть передано любым, а нам требуется осуществить получение данных на конец указанного дня. Решение. Напрямую в параметрах виртуальной таблицы применить конструкцию запроса вида КОНЕЦПЕИОДА(&НужнаяДата,ДЕНЬ) мы не […]
Язык запросов
Вопрос Как в регистре сведений изменить значение какого-либо параметра по условию? Ответ Пример. Регистр сведений «усСтрокиОтбора» содержит ресурс «Исполнитель» (тип – справочник «усРаботники»). Требуется не заполненное значение «Исполнителя» в регистре заменить на конкретного исполнителя «Жеглов». Для этих целей можно использовать универсально написанную процедуру:
Вопрос Как в 1С получить срез данных на даты из другого множества, т.е. для каждого элемента множества получить значение, действующее на конкретную дату из другого множества. Ответ Постановка задачи. Итак, есть множество в виде таблицы «Срез»: ДатаСреза ОбъектСреза 14.01.2010 1
Вопрос Обход запроса по группировкам, как собираются данные в запросе с конструкцией ИТОГИ ПО. Предположим, требуется организовать цикл, в котором должен формироваться массив заказов, в разрезе Контрагентов и Адреса доставки. Как это сделать? Ответ Пишем запрос:
Вопрос Работа с датами в 1с v8 Ответ Как явно указать нужную дату ‘20050308’ Дата(2005, 1, 1) Дата(1, 1, 1) Дата(2005, 1, 1, 10, 29, 50) ДАТАВРЕМЯ(2005, 01, 01) Как проверить дату на пустое значение
Вопрос Как разбираться в больших запросах. Консоль запросов. Как посмотреть, чем заполнены временные таблицы в запросе? Ответ Довольно часто в типовых конфигурациях 1С встречаются очень большие сложные для восприятия запросы. Например, запрос автозаполнения документа «Начисление зарплаты» содержит в себе порядка 3000 строк. И это далеко не предел. В современных редакциях […]
Вопрос Когда используется директива «ИМЕЮЩИЕ» в языке запросов 1С? Чем «ИМЕЮЩИЕ» отличается от условия «ГДЕ»? Ответ Отличие директивы «ИМЕЮЩИЕ» от условия «ГДЕ» состоит в том, что ее можно использовать для агрегатных функций. Обязательным условием при этом является использование группировки по остальным полям. Пример: «ВЫБРАТЬ | тбЗадания.Задание, | СУММА(тбЗадания.КоличествоИсполнителей) КАК КоличествоИсполнителей […]
Что означает сообщение об ошибке «Тип не может быть выбран в запросе» Такая ошибка возникает, когда при выполнении запроса не получается определить тип выбираемого значения. Пример. В текст запроса требуется передать таблицу значений &ТЗПС и из этой таблицы значений построить новый запрос. В параметры мы передаем ТаблицуЗначений: ТЗПС = ПолучитьТЗСуммаПоПартииТоваровНаСкладах(); […]
Как в запросе отобрать элементы, значение которых — «битая ссылка», т.е. «объект не найден» Для этого используется логический оператор ЕСТЬ NULL функций языка запросов. Например, допустим, в регистре накопления «ПартииТоваровНаСкладах» мы хотим найти записи, в которых измерение «ДокументОприходования» оказалось такой вот битой ссылкой на «объект не найден». Запрос будет выглядеть […]
Как с помощью языка запросов 1С получить множество значений, состоящее из значений текущего множества, за исключением подмножества, принадлежащего другому множеству. См. рис. По условию задачи требуется получить значения, попадающие в синюю область значений множества «А» и не попадающие в заштрихованную фиолетовую область значений подмножества «С» Решить задачу можно разными способами. […]