Как в запросе задать константу типа дата в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 |
Процедура КонстантаТипаДатаВЗапросе() Запрос = Новый Запрос( " | ВЫБРАТЬ | ДАТАВРЕМЯ(2013, 12, 31) КАК НовыйГод |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Функции работы с датами в запросах 1С 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
Процедура РаботаСДатамиВЗапросах1С8() // Как получить начало или конец периода в запросах 1С 8.3, 8.2 // НАЧАЛОПЕРИОДА(Дата, Период) // КОНЕЦПЕРИОДА(Дата, Период) // Как добавить сдвиг к дате в запросах 1С 8.3, 8.2 // ДОБАВИТЬКДАТЕ(Дата, Период, Количество) // Как вычислить разность между датами в запросах 1С 8.3, 8.2 // РАЗНОСТЬДАТ(Дата1, Дата2, Период) // Как вычислить квартал, месяц или день даты в запросах 1С 8.3, 8.2 // КВАРТАЛ(Дата), Месяц(Дата), День(Дата) // Период принимает одно из значений // Секунда // Минута // Час // День // Неделя // Декада // Месяц // Квартал // Полугодие // Год Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДОБАВИТЬКДАТЕ(РеализацияТоваровУслуг.Дата, Квартал, 1), | РАЗНОСТЬДАТ(РеализацияТоваровУслуг.Дата, &ВыбДата, Месяц), | КВАРТАЛ(РеализацияТоваровУслуг.Дата), | МЕСЯЦ(РеализацияТоваровУслуг.Дата), | ДЕНЬ(РеализацияТоваровУслуг.Дата), | РеализацияТоваровУслуг.Ссылка |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ | НАЧАЛОПЕРИОДА(&ВыбДата, Год) И | КОНЕЦПЕРИОДА(&ВыбДата, Год)"; Запрос.УстановитьПараметр("ВыбДата", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(ВыборкаДетальныеЗаписи.Ссылка); КонецЦикла; КонецПроцедуры |
Как в запросе указать значение поля предопределенной записи одной из таблиц в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Процедура ЗначениеПредопределеннойЗаписиОднойИзТаблиц() Запрос = Новый Запрос( " | ВЫБРАТЬ | Регистратор, СчетДт, СчетКт, Сумма | ИЗ | РегистрБухгалтерии.Хозрасчетный | ГДЕ | СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КассаОрганизации) И | Активность = ИСТИНА |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Как использовать условный оператор внутри запроса в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Процедура ИспользованиеУсловногоОператораВнутриЗапроса() Запрос = Новый Запрос( " | ВЫБРАТЬ | Валюта, | Курс, | ВЫБОР | КОГДА КУРС > 20 ТОГДА | ""> 20"" | КОГДА КУРС > 15 ТОГДА | "">15 И <= 20"" | ИНАЧЕ | ""<=15"" | | КОНЕЦ КАК ВеличинаКурса | ИЗ | РегистрСведений.КурсыВалют |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Как в запросе проверить поле на соответствие ссылочному типу в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Процедура ПроверкаПоляНаСсылочныйТип() Запрос = Новый Запрос( " | ВЫБРАТЬ | Регистратор, СчетДт, СчетКт, Сумма | ИЗ | РегистрБухгалтерии.Хозрасчетный | ГДЕ | Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Как в запросе проверить значение на вхождение в диапазон (включительно) в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Процедура ПроверкаЗначенияНаВхождениеВДиапазон() Запрос = Новый Запрос( " | ВЫБРАТЬ | Валюта, | Курс | ИЗ | РегистрСведений.КурсыВалют | ГДЕ | Курс МЕЖДУ 29 И 30 |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Как в запросе проверить значение на вхождение в список в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Процедура ПроверкаЗначенияНаВхождениеВСписок() Запрос = Новый Запрос( " | ВЫБРАТЬ | Ссылка | ИЗ | ПланСчетов.Хозрасчетный | ГДЕ | Ссылка В ИЕРАРХИИ ( | ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Касса) | ) ИЛИ | Ссылка В ( | ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КассаОрганизации), | ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами) | ) |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Как в запросе сравнить строку с шаблоном в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Процедура СравнениеСтрокиСШаблоном() Запрос = Новый Запрос( " | ВЫБРАТЬ | Наименование | ИЗ | Справочник.Номенклатура | ГДЕ | Наименование ПОДОБНО ""%[Тт][Оо][Вв][Аа][Рр]%"" |" ); // % - любое количество произвольных символов // _ - один произвольный символ // [] - любой одиночный символ, перечисленный внутри скобок // [^] - любой одиночный символ, кроме тех, что внутри скобок после ^ Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |
Как в запросе сделать проверку значения на NULL в 1с 8.3, 8.2
Как получить пустую ссылку в запросе в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Процедура ПроверкаЗначенияНаNULL_ПустаяСсылкаВЗапросе() Запрос = Новый Запрос( " | ВЫБРАТЬ | ЕСТЬNULL(Ссылка, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) | ИЗ | Справочник.Номенклатура |" ); Результат = Запрос.Выполнить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); КонецПроцедуры |