1С 8.3 Данные таблицы БД по запросу - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Данные таблицы БД по запросу

Данные > Примеры кода 1С > 1С 8.3 Запросы
Данные Таблицы базы данных по запросу в 1С 8.3:
// Возвращает данные таблицы базы данных по отбору
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/71
//
// Параметры:
//  Таблица  - Строка - Полное имя таблицы
//  Отбор     - Массив из ЭлементОтбора
//           - Массив из Структура
//  Колонки     - Строка, Массив из Строка - Возвращаемые колонки. Если не указывать, то возвращаются все
//
// Возвращаемое значение:
//  РезультатЗапроса
//
// Пример:
//
//    ИмяТаблицы = "Справочник.ЖЧТ_ТестовыйСправочник";
//    ИменаКолонок = "Ссылка,Код";
//
//    Отборы = Новый Массив;
//    Отборы.Добавить(Новый Структура("Имя,Значение", "ПометкаУдаления", Ложь));
//    Отборы.Добавить(Новый Структура("Имя,ВидСравнения,Значение,", "Номер", ВидСравнения.Больше, 1));
//
//    Результат = ТестируемыйМодуль.ДанныеТаблицыБазы(ИмяТаблицы, Отборы, ИменаКолонок);
//
//
Функция ДанныеТаблицыБазы(Знач Таблица, Знач Отбор = Неопределено, Знач Колонки = Неопределено) Экспорт

   Построитель  = Новый ПостроительЗапроса;
   Построитель.Текст = СтрШаблон("ВЫБРАТЬ %1 ИЗ %2", "*", Таблица);
   Построитель.ЗаполнитьНастройки();

   Если НЕ Колонки = Неопределено Тогда

       Если ТипЗнч(Колонки) = Тип("Строка") Тогда
           //@skip-check statement-type-change
           Колонки = СтрРазделить(Колонки, ",");
       КонецЕсли;

       Построитель.ВыбранныеПоля.Очистить();
       Для Каждого ИмяКолонки Из Колонки Цикл
           Построитель.ВыбранныеПоля.Добавить(ИмяКолонки);
       КонецЦикла;

   КонецЕсли;

   Если ЗначениеЗаполнено(Отбор) Тогда
       Для Каждого ЭлементОтбора Из Отбор Цикл
           НовыйЭлемент = Построитель.Отбор.Добавить(ЭлементОтбора.Имя);
           НовыйЭлемент.Использование = Истина;
           ЗаполнитьЗначенияСвойств(НовыйЭлемент, ЭлементОтбора);
       КонецЦикла;
   КонецЕсли;

   Построитель.Выполнить();

   Возврат Построитель.Результат;

КонецФункции

// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 03.08.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому