новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Анализ и обработка полученных данных 1С. Консоль компоновки данных - практические советы, часть 2.

  • Добавить свою публикацию
  • для этого требуется регистрация

В прошлых статьях: Консоль компоновки данных и Консоль компоновки данных – практические приемы работы.Часть 1 вскользь упоминалось об возможности анализа данных 1С, выбираемых с помощью консоли компоновки. Остановимся на этом моменте подробнее.

Когда может понадобиться анализ результатов.

Конечно же, далеко не во всех случаях нужно использовать консоль. Если отчет состоит из простого запроса, созданного с помощью конструктора, то вполне достаточно стандартных средств. Но бывают и другие ситуации. Запрос сложен, либо почему-то возвращает неверные данные. Либо данные 1с, полученные в результате запроса нуждаются в дополнительной обработке.

Средства для анализа полученных результатов данных 1с

Как выполнять запросы и выставлять параметры, я уже рассказывал в предыдущей статье. Теперь рассмотрим средства для анализа полученных результатов. Когда мы выполняем запрос, то на панели результатов мы видим таблицу значений, который этот запрос возвращает. Самое простое что может понадобиться –наложить отбор на уже полученный результат. Для этого конечно можно написать дополнительное условие в запросе. Но это отнимет драгоценное время, ведь все можно сделать проще. На панели результата видим кнопки стандартные кнопки отбора 

Консоль компоновки данных - отбор 

Можно отобрать по текущему значению в колонке – при этом итоговые суммы (в нижней части онка, количество строк, суммы числовых колонок) пересчитаются .

Можно подсчитать количество различных значений в колонке – частая задача для поиска неуникальных записей. Если количество различных совпадает с общим числом строк – то все значения в колонке уникальны.

Консоль компоновки данных - уникальные строки 

 

Еще одна возможность – сравнение результатов двух различных (или одинаковых, но с разными параметрами) запросов. Текущий запрос можно скопировать вместе с установленными параметрами. Кнопка «Копировать» в левом верхнем углу.

 Консоль компоновки данных - как скопировать запрос

Далее выполняя запросы поочередно, можно визуально сравнивать их результаты – они не сбрасываются после выполнения текущего запроса.

Отдельно следует напомнить о возможности просмотра данных временных таблиц. Для этого есть два способа – один в меню текста запроса – Данные временных таблиц запроса.

Консоль компоновки данных - данные временных таблиц 

 

При другом способе достаточно просто выделить имя временной таблицы и нажать кнопку выполнить – ее данные отразятся на панели результатов.

Выполнение запросов, содержащих в параметрах таблицы значений.

Допустим,есть запрос :

 

Выбрать Т.* Поместить ВременнаяТаблица ИЗ &ТаблицаЗначений

 

Таблица значений заполняется кодом и устанавливается как параметр. Чтобы выполнить подобный запрос в консоли, нужно консоли объектов заполнить таблицу значений и передать ее как параметр в консоль запросов. На вкладке консоли объектов, пишем код, который в переменной «Результат» возвращает нужную таблицу значений.

Консоль компоновки данных - задать алиас 

Задаем алиас этой вкладки

 Консоль компоновки данных - алиас

В консоли запросов в соответствующем параметре указываем заданный ранее в объектах алиас. Для этого ставим флажок выражения и претворяем имя алиаса знаком решетки.

 Консоль компоновки данных - алиас как параметр

При запуске запроса таблица в объекте будет заполнена и передана в параметр.

Быстрая обработка полученной в запросе выборки данных 1с.

Допустим нам нужно данными, полученными в результате работы, заполнить табличную часть документа. Для примера рассмотрим простое действие – возврат всех остатков товаров выбранного поставщика. В консоли делаем запрос, выбирающий из регистра нужные остатки.

На закладке результата есть кнопка «Поместить в объект». Ее назначение – копирование таблицы, содержащей выборку, на выбранную вкладку консоли объектов.

 

Консоль компоновки данных - результат в объект 

Итак, нажимаем ее,   выбираем нужную вкладку в консоли объектов и нажимаем ОК в диалоговом окне. Когда диалоговое окно активно, можно переключать вкладки или создавать новые. На выбранной вкладке появляется таблица значений – копия выборки запроса.

Теперь можно перейти на панель исходного кода и заполнить выбранную (или новую, тогда ее нужно создать в коде) накладную на возврат товаров поставщику. Для этого напишем следующий код:

 

Таб = #ТаблицаЗначений; //обращение к таблице из закладки "Таблица значений"
Док = &Док.ПолучитьОбъект(); //Будем заполнять уже готовый записанный документ, указанный в параметре
Док.Товары.Очистить();

//Перебираем строки
Для Каждого СтрОстатка Из Таб Цикл
	НоваяСтрока = Док.Товары.Добавить();
	ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрОстатка); // Заполняем новую строку данными из строки запроса
	
	//Для заполенения остальных полей, которых нет в запросе, воспользуемся готовыми фрагментами кода из формы документа
	ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(НоваяСтрока, Док, "Приобретение"); 
	СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС",
	                                         Док.Контрагент, Док.ТипЦен, Док.ДоговорКонтрагента, Док.Дата,Док.ВалютаДокумента, Док.УчитыватьНДС,Док.СуммаВключаетНДС);
	ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(НоваяСтрока, Док, СтруктураШапкиДокумента, Док.мВалютаРегламентированногоУчета); 
	ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(НоваяСтрока, Док);
	ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(НоваяСтрока, Док);
	
	#Итератор //выводит число повторений цикла
КонецЦикла;	

Док.ПолучитьФорму().Открыть(); //Открываем форму, не записывая ее 

 

Выполняем его и видим нужный результат 

 
0
Читайте также
(V 7.7) Справка по работе с метаданными (с примерами)
Получение метаданных в программе 1С 7.7 происходит через объект "Метаданные"
Работа с хранилищем конфигурации
Хранилище конфигурации в 1С8
Разработки
Нумератор документов 7.7
Как установить нумерацию документов? Можно использовать во всех конфигурациях.
Универсальная замена значений для ЛЮБОЙ конфигурации
Замена объектов на новые или перенос данных по счету
Скрипт для РИБ
Дописанный скрипт для автоматического обновления конфигурации в узлах РИБ
Еще от автора
≡ к списку статей