1С 8.3 Данные таблицы БД по запросу
Данные > Примеры кода 1С > 1С 8.3 Запросы
Перейти в раздел примеры кода 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.
// Источник: 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
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник