Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 17:36

Вгрузить данные в Анализ данных

Автор utkin295, 16 сен 2015, 14:23

0 Пользователей и 1 гость просматривают эту тему.

utkin295

Есть такой вопрос. Имеется учебная задача - получить список документов в виде какой-либо таблицы, например, дата, номер.
Я сделал так:
1. Создал обработку
2. На форме обработки кинул реквизит - Динамический список.
3. Для Динамического списка (назовем его Реквизит1)сделал произвольный запрос, откуда из нужных мне документов я выбираю Номер (документа) и Дату. Все чудесно работает и при открытии формы обработки эти данные появляются.
4. Создал кнопку Анализ
5. Прицепил на нее команду Анализ.
6. Для команды повесил процедуру Анализ
7. Пытаюсь теперь в созданный (Новый АнализДанных) АнализДанных прикрепить свой источник данных - ТабличнуюЧасть (визуальное отображение Реквизит1). И тут получаю беду - Несоответствие типов. Я понимаю, что ему надо что-то вроде ТаблицыЗначений.
В связи с этим возникает вопрос - Как преобразовать таблицу так, чтобы АнализДанных съел его? Либо как пересоздать ТаблицуЗначений и вгружать туда данные при открытии формы? Проблема в первом случае - я не умею преобразовывать один объект в другой. Проблема во втором случае - я не могу вгрузить результат запроса в ТаблицуЗначений. Потому как наКлиенте нельзя, а наСервере тупо игнорит.

ЗЫ. 1с 8.2

Дмитрий@

Попробуйте "ТабличнаяЧасть.Выгрузить()".

utkin295


Дмитрий@

А тип анализа вы определили?
Добавлено: 16 сен 2015, 15:07


Например

Анализ = Новый АнализДанных;
Анализ.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");

utkin295

Да там все также. Потом:
МойАнализДанных.ИсточникДанных  = ЭтаФорма.ТабличнаяЧасть1;
Ну и в разных вариациях :D Проблема в том что если к примеру я нашел, что нужно ИсточникуДанных, то есть типы в СинтаксисПомощнике есть, то что такое ТабличнаяЧасть я оперативно отследить не могу и молчу уже о всем том, что он своими методами выгружает.

Дмитрий@

приведи код.
По идее эта строчка должна выглядеть так МойАнализДанных.ИсточникДанных  = ЭтаФорма.ТабличнаяЧасть1.Выгрузить();
Добавлено: 16 сен 2015, 16:22


и какой тип анализа используешь

utkin295

&НаКлиенте
Процедура Анализ(Команда)                                                 

МойАнализДанных = Новый АнализДанных;
МойАнализДанных.ТипАнализа=Тип ("АнализДанныхОбщаяСтатистика");
//МойАнализДанных.ИсточникДанных = ЭлементыФормы.ТабличноеПоле1.Значение;
//МойАнализДанных.ИсточникДанных = ЭтаФорма.Элементы.ТабличнаяЧасть1.ПодчиненныеЭлементы.Дата;
МойАнализДанных.ИсточникДанных = ЭтаФорма.ТабличнаяЧасть1.Выгрузить();
РезультатАнализаДанных = МойАнализДанных.Выполнить();
Построитель = Новый ПостроительОтчетаАнализаДанных();
Построитель.Макет = Неопределено;
Построитель.ТипАнализа = Тип ("АнализДанныхОбщаяСтатистика");
ТабДок = Новый ТабличныйДокумент;
Построитель.Вывести(РезультатАнализаДанных, ТабДок);
ТабДок.Показать();

КонецПроцедуры

Как-то так.
Результат:
Цитировать{Обработка.АнализДанных.Форма.Форма.Форма(4,26)}: Тип не определен (АнализДанных)
   МойАнализДанных = Новый <<?>>АнализДанных;
{Обработка.АнализДанных.Форма.Форма.Форма(10,22)}: Тип не определен (ПостроительОтчетаАнализаДанных)
   Построитель = Новый <<?>>ПостроительОтчетаАнализаДанных();

Дмитрий@

&НаКлиенте
Процедура Анализ(Команда)                                                       
   
    ПолучитьТабДок().Показать();

КонецПроцедуры

&НаСервере
Функция ПолучитьТабДок()

    МойАнализДанных = Новый АнализДанных;
    МойАнализДанных.ТипАнализа=Тип ("АнализДанныхОбщаяСтатистика");
    ДанныеОбъект = РеквизитФормыВЗначение("Объект");
    МойАнализДанных.ИсточникДанных = ДанныеОбъект.ТабличнаяЧасть1.Выгрузить();
    РезультатАнализаДанных = МойАнализДанных.Выполнить();
    Построитель = Новый ПостроительОтчетаАнализаДанных();
    Построитель.Макет = Неопределено;
    Построитель.ТипАнализа = Тип ("АнализДанныхОбщаяСтатистика");
    ТабДок = Новый ТабличныйДокумент;
    Построитель.Вывести(РезультатАнализаДанных, ТабДок);
    Возврат ТабДок;   

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

utkin295

Взлетело! Но это не решение, а готовый ответ. Объясните мне пожалста почему надо именно так? Очень нада самому разобраться. Препод сам на замене и ему пофиг, а мне хочется понять за что я убил полдня.

Дмитрий@

Объект анализ данных работает только на сервере, читайте внимательно справку, там написано где работает тот или иной объект.
Добавлено: 16 сен 2015, 18:33


А где счас учат 1С если не секрет?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск