1С запрос выгрузить в список значений

bless18
04.05.2010 19:29
Прочитано: 14404
Здравствуйте, можно выгрузить результат запроса в список или таблицу значений?

Код 1C v 8.х
Нужно, чтобы каждая ячейка при разных условиях закрашивалась разными цветами, а у меня получается, что только одним все ячейки?
Может быть возможно как-то это исправить?

Yandex
Возможно, вас также заинтересует
bless18
04.05.2010 20:41
Ответ № 1
А еще проблема такая, что вместо получения 3-х результатов, получаю 9, то есть цикл выполняется лишних 2 раза
E_Migachev
04.05.2010 23:48
Ответ № 2
ухххх. у тебя получилось что при выводе каждой строки выполняется запрос.

тут надо совсем по другому
1. запросом тебе нужно получить данные выгрузить их в ТЗ и потом вывести в табличное поле на форме как тут
2. потом для этого таблич поля описывай процедуру при выводе строки,что-то типа:
Код 1C v 8.х

bless18
05.05.2010 07:44
Ответ № 3
Выгружать данные в табличное поле нужно отдельной процедурой или можно при выводе строки?
bless18
05.05.2010 07:55
Ответ № 4
ТзВрем=ПолучитьТаблицуЧисленностейВТЗ(Организация, НачПериода,КонПериода);
Какие параметры нужно записвать?
Если запрос:
Код 1C v 8.х
Пишу в параметрах
Код 1C v 8.х
Но поля не найдены: Дата и ДатаВыполнения
Также ошибка, что процедура "ПолучитьТаблицуЧисленностейВТЗ" не определена
bless18
05.05.2010 09:10
Ответ № 5
Попробовала сделать так:
[c8]
Процедура ПользователиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Дата,
| РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения
|ИЗ
| Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам";

Результат = Запрос.Выполнить();
ЭлементыФормы.Пользователи.Значение = Результат.Выгрузить();
ЭлементыФормы.Пользователи.СоздатьКолонки();
ДатаНачала = ДанныеСтроки.ДатаНачалаВыполнения;
ДатаКонца = ДанныеСтроки.ДатаВыполненияПоПлану;

Если Год(ДатаНачала)=Год(ДатаКонца) Тогда
КоличествоДнейНаВыполнение = День(ДатаКонца)-День(ДатаНачала);
КоличествоДнейСоДняНачалаВыполнения = День(ТекущаяДата())-День(ДатаНачала);
ПроцентОставшегосяВремени=Окр(Число(КоличествоДнейСоДняНачалаВыполнения / КоличествоДнейНаВыполнение)*100, 2);
КонецЕсли;

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

Сообщить(ПроцентОставшегосяВремени);
Сообщить(Пользователи.Количество());
КонецПроцедуры
/c8]
Но ни одного поля не выводится

Читайте также:  Снайпер элит 3 моды на оружие
E_Migachev
05.05.2010 09:37
Ответ № 6
Смотри делаешь на форме Табличное поле и называешь его ТЗРезультата

далее делаешь кнопку и к ней процедуру ЗаполнитьТЗрузельтата, где пишешь:
Код 1C v 8.х
После нажатия на кнопку у тебя должна зполниться ТЗ столбцами Дата и ДатаВыполнения
Потом создаешь для этой ТЗ процедуру при выводе строки вида:
Код 1C v 8.х

Как выгрузить результат запроса в СписокЗначений в 1С:Предприятие 8.2, 8.3?

Как выгрузить результат запроса в СписокЗначений в 1С:Предприятие 8.2, 8.3?

Ответ на вопрос: Как выгрузить результат запроса в СписокЗначений в 1С: Предприятие 8.2, 8.3?

Запросы в системе "1С:Предприятие 8" предназначены для выборки информации из базы данных. По сути, запрос — это обращение к системе с просьбой выбрать определенную информацию из базы данных, а часто не только выбрать, но и произвести некоторую обработку: сгруппировать, отсортировать, вычислить. Например, с помощью запроса можно легко узнать объем продаж каждого товара в течение года с детализацией до месяца или выбрать элементы справочников по определенному условию. Заметьте, что изменять данные с помощью запросов в 1С:Предприятии не разрешается.

Язык запросов 1С:Предприятия 8 основан на стандартном SQL, но при этом содержит значительное количество расширений, ориентированных на финансово-экономические задачи, и значительно облегчает разработку бизнес-приложений.

Для работы с запросами в системе "1С:Предприятие 8" предусмотрено несколько специальных объектов, а именно:

  • Запрос
  • РезультатЗапроса
  • ВыборкаИзРезультатаЗапроса.

Общая схема выполнения запроса такова:

  1. Создание объекта "Запрос" с нужным текстом запроса на специальном языке запросов.
  2. Установка параметров запроса с помощью метода УстановитьПараметр.
  3. Выполнение запроса, получение результата.
  4. Получение выборки из результата запроса или выгрузка результата в таблицу значений / дерево значений. Также есть возможность использовать результат запроса для формирования сводной таблицы.
  5. Обработка выборки или таблицы значений (например, перебор строк) и выполнение действий, для которых был нужен запрос, например, вывод области при формировании отчета
Читайте также:  Установка цветового профиля windows 10

Графически это можно представить следующим образом:

Цифрами на схеме обозначены следующие действия:

1. Установка текста запроса

Объект "Запрос" имеет свойство "Текст", которое содержит строку с текстом запроса на языке запросов. Этому свойству, во-первых, можно явно присвоить значение или, во-вторых, воспользоваться конструктором объекта "Запрос". В последнем случае текст запроса передается в качестве параметра в конструктор объекта "Запрос" при его создании.

2-й вариант (с другим текстом запроса):

2. Установка параметров запроса

Объект "Запрос" имеет метод "УстановитьПараметр", с помощью которого в запрос передаются значения параметров. Параметры запроса обычно используются в условиях отбора (конструкции ГДЕ, ИМЕЮЩИЕ) или в качестве параметров вызова виртуальных таблиц. В тексте запроса параметры обозначаются знаком "&" (например, параметр "ВыбГруппа" в первом запросе).

В качестве параметров используются значения, которые указываются пользователем в диалоге или значения типов, для которых нет литералов, например, пустых ссылок на элементы справочников. Литералы же есть только у примитивных типов данных, а именно, число, строка, дата, булево, Null, Неопределено.

3. Выполнение запроса

После присвоения текста и установки параметров, запрос запускается на выполнение с помощью метода "Выполнить()" объекта "Запрос". Этот метод возвращает другой объект "РезультатЗапроса", содержащий выбранные данные из базы данных.

Далее возможны три варианта:

  • во-первых, из результата запроса может быть получена выборка (линейная, иерархическая и т.д.),
  • во-вторых, результат запроса может быть выгружен в таблицу или дерево значений,
  • в-третьих, результат запроса может являться источником данных для сводной таблицы.

4. Получение выборки из результата запроса

Объект "РезультатЗапроса" имеет метод "Выбрать()", который возвращает новый объект "ВыборкаИзРезультатаЗапроса". В зависимости от параметра метода "Выбрать()" выборка будет линейной (по умолчанию), иерархической или по группировкам. Далее выборка обходится с помощью цикла "Пока Выборка.Следующий() Цикл", а в теле цикла производятся какие-то действия, например, вывод областей в табличный документ.

5. Выгрузка результата запроса в таблицу или дерево значений

Объект "РезультатЗапроса" имеет метод "Выгрузить()", который возвращает таблицу значений или дерево значений, в зависимости от переданного параметра . Если устанавливается прямой тип обхода (по умолчанию), то будет создана таблица значений, иначе — дерево значений. Далее таблица значений (дерево значений) может быть обработана средствами встроенного языка или показана пользователю в табличном поле.

6. Формирование сводной таблицы

Результат запроса может быть использован как источник данных для сводной таблицы. При этом итоги (см. предложение ИТОГИ в тексте запроса) становятся ресурсами (отображаются в области данных), а группировочные поля, по которым они подсчитываются, становятся измерениями сводной таблицы. В качестве источника данных для сводной таблицы может быть также использован объект "ПостроительОтчета", но ему на вход тоже подается запрос, поэтому можно сказать, что основа любой сводной таблицы — это запрос к базе данных.

Оцените статью
Добавить комментарий

Adblock detector