Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 💫 читайте на сайте

1C Запрос Имеющие в Конструкторе Запросов • Saving the query

Все, можем проверять, загружаем предприятие под толстым клиентом, вводим простой запрос без параметров, нажимаем на кнопку ВыполнитьЗапрос см.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Фрагмент процедуры для вывода результата запроса в табличный документ, созданный с помощью конструктора запроса с обработкой результата. П/р № 3.11. Реализация простых запросов с помощью конструктора Обращайтесь в форму связи

Конструктор запросов

Представление конструктора запросов позволяет создавать и редактировать запросы базы данных.

Большинство баз данных использует запросы для фильтрации или сортировки таблиц для отображения записей на локальном компьютере. Представления выполняют то же самое, но на сервере. Если база данных расположена на сервере, который поддерживает представления, можно использовать их для фильтрации записей на сервере и уменьшения времени отображения.

Выбор команды Создать представление на вкладке Таблицы в документе базы данных приводит к открытию окна Конструктор представлений , похожего на описанное здесь окно Дизайнер запросов .

Расположение элементов в окне «Дизайнер запросов» сохраняется вместе с созданным запросом, но не может быть сохранено с созданным представлением.

Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013) — Стр 17

Обзор

Дважды щёлкните поля, чтобы добавить их к запросу. Перетаскивание для определения связей.

При разработке запроса изменить выбранные таблицы невозможно.

Удалить таблицы

Чтобы удалить таблицу из конструктора, щёлкните верхнюю границу окна таблицы для отображения контекстного меню. Для удаления таблицы из конструктора можно воспользоваться командой Удалить . Кроме того, можно нажать клавишу DELETE.

Переместить таблицу и изменить размер таблицы

Расположение таблиц и их размер можно менять в соответствии с личными предпочтениями. Чтобы переместить таблицу, перетащите её верхнюю границу в нужное положение. Чтобы увеличить или уменьшить размер отображаемой таблицы, поместите указатель мыши на границу или угол таблицы и перетаскивайте её до достижения нужного размера.

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

В заключение заканчивается автоматическая группировка строк табличного документа, и в него выводятся области подвала документа и подвала таблицы, полученные из макета.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
2 Добавила возможность в нашу простую Консоль запросов вводить сложные запросы с передаваемой в параметры Временной таблицей. 1C: Enterprise | 1C: Enterprise Developer s Community Обращайтесь в форму связи

Функция Подобно

Если нужно убедиться, что строковый реквизит соответствует определённым критериям мы его сравниваем:

А что, если нужно более хитрое сравнение? Не просто на равенство или неравенство, а на подобие определенному шаблону? Вот как раз для этого и создана функция ПОДОБНО.

ПОДОБНО – Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL.

Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

  • % (процент): последовательность, содержащая любое количество произвольных символов;
  • _ (подчеркивание): один произвольный символ;
  • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;
  • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания.

Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать . Сам (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

В данном примере мы получим всех контрагентов, наименование которых начинается на букву “Г”

Как получить значение из результата запроса в 1С? — Хабр Q&A

Функция Подобно

Если нужно убедиться, что строковый реквизит соответствует определённым критериям мы его сравниваем:

А что, если нужно более хитрое сравнение? Не просто на равенство или неравенство, а на подобие определенному шаблону? Вот как раз для этого и создана функция ПОДОБНО.

ПОДОБНО – Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL.

Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

  • % (процент): последовательность, содержащая любое количество произвольных символов;
  • _ (подчеркивание): один произвольный символ;
  • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;
  • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания.

Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать . Сам (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

В данном примере мы получим всех контрагентов, наименование которых начинается на букву “Г”

в квадратных скобках значок отрицания, за которым следует один или несколько символов любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Вам нужно не просто результаты запроса читать, а или обходить все строки таблицы в цикле или прямо обращаться к первой строчке таблицы. Конструктор запросов Обращайтесь в форму связи

Как получить значение из результата запроса в 1С?

Есть таблица с товарами и ценами в документе Поставка. Есть справочник контрагентов с таблицей цен для каждого контрагента. Нужно из таблицы цен контрагента вытащить цену на нужный товар. Для этого написал такой код:

Но вот получить цену так и не удалось. Где здесь может быть ошибка?

При отладке данного кода такой результат:
: Поле объекта не обнаружено (Цена)
Возврат Результат.Цена;

Имейте ввиду, что если в результате запроса возвращается несколько строк, то вы получите результат последней строки.

Спасибо! Попробовал, ошибки при отладке не возникают. Но цена по прежнему не передается. Буду искать ошибки в другом месте.

Константин Нагибович: &НаСервере
Функция ПолучитьЦены(Контрагент, Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст ;
Запрос.УстановитьПараметр(«Контрагент», «Иванов К.Е.»);
Запрос.УстановитьПараметр(«Номенклатура», «Металлочерепица»);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Цена = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Цена = ВыборкаДетальныеЗаписи.Цена;
КонецЦикла;
Возврат Цена;
КонецФункции

Павел Богданов: вы в консоли запросов свой запрос проверяли? Под отладчиком смотрели что получаете в переменной Цена?

Константин Нагибович: В консоли проверял, там строка приходит. Под отладчиком не знаю как посмотреть. Сейчас попробую.

Павел Богданов: вы параметры устанавливаете как-то странно. Подставляете строки там, где нужны ссылки на объекты справочников.

Павел Богданов: вы в функцию передаете параметры, а для запроса их не используете. Так и должно быть?

Константин Нагибович:
«Запрос.УстановитьПараметр(«Контрагент», «Иванов К.Е.»);
Запрос.УстановитьПараметр(«Номенклатура», «Металлочерепица»);»

Это я просто проверял один из методов. Сейчас там уже стоят ссылки на объекты.

&НаСервере
Функция ПолучитьЦены(Контрагент, Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст ;
Запрос.УстановитьПараметр(«Контрагент», Контрагент);
Запрос.УстановитьПараметр(«Номенклатура», Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Цена = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Цена = ВыборкаДетальныеЗаписи.Цена;
КонецЦикла;
Возврат Цена;
КонецФункции

gunsmyth: «Справочник.Контрагенты.Цены» это ТЧ. Убрал «Цены», потому что с ними не срабатывали условия. Разве недостаточно того, что указано «ВЫБРАТЬ Контрагент.Цены.Цена»? Здесь же идет обращение к ТЧ.

Константин Нагибович: Нашел похоже где ошибка. При вызове функции выходит:

: Ошибка при вызове метода контекста (ПолучитьЦены)
ЦенаТовара = ПолучитьЦены(Контрагент, Номенклатура);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘param’:
форма: Элемент
имя: param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ПолеФормы’

Функции языка запросов 1С. Работа со строками
Внимание! Использование функции ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины не рекомендуется. Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ().

1С результат запроса в структуру – ПК портал

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts