Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД Ошибка при вызове метода контекста (Инициализировать)

СКД Ошибка при вызове метода контекста (Инициализировать)
Я
   skupidom
 
16.11.17 - 15:59
{ВнешнийОтчет.рар_ПроектнаяСтатистикаДокументов.МодульОбъекта(225)}: Ошибка при вызове метода контекста (Инициализировать)
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Не найден внешний набор данных "ТЗПроектнаяСтатистика
 
 
   vicof
 
1 - 16.11.17 - 16:01
Да
   ildary
 
2 - 16.11.17 - 16:01
Ждем историю, куда подевался ТЗПроектнаяСтатистика
   skupidom
 
3 - 16.11.17 - 16:32
ТабДок.Очистить();     
                     
    //Получим ТаблицуЗначений

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

    ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   skupidom
 
4 - 16.11.17 - 16:33
Функция ПолучитьТекстЗапроса() Экспорт
                        
    ТекстПодЗапроса = "";
    
    МассивТипов = Новый Массив;
    
    МассивТипов.Очистить();
    МассивТипов.Добавить(Тип("Дата"));
    ПараметрыДаты = Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя);
    ТипДата = Новый ОписаниеТипов(МассивТипов, , ПараметрыДаты);
    
    МассивТипов.Очистить();
    МассивТипов.Добавить(Тип("СправочникСсылка.Проекты"));
    ТипПроекты = Новый ОписаниеТипов(МассивТипов);
    
    МассивТипов.Очистить();
    МассивТипов.Добавить(Тип("СправочникСсылка.Пользователи"));
    ТипОтветственный = Новый ОписаниеТипов(МассивТипов);
    
    МассивТипов.Очистить();
    МассивТипов.Добавить(Тип("Число"));
    ПараметрыЧисла = Новый КвалификаторыЧисла(5,0);
    ТипЧисло = Новый ОписаниеТипов(МассивТипов, , ПараметрыЧисла);    
    
    МассивТипов.Очистить();
    
    //МассивТипов.Добавить(Тип("ДокументСсылка.ПоступлениеТоваровУслуг"));

    //МассивТипов.Добавить(Тип("ДокументСсылка.ПоступлениеДопРасходов"));

    //МассивТипов.Добавить(Тип("ДокументСсылка.АктОбОказанииПроизводственныхУслуг"));

    //МассивТипов.Добавить(Тип("ДокументСсылка.рар_РасчетУправленческойВыручки"));

    МассивТипов.Очистить();
    МассивТипов.Добавить(Тип("Строка"));
    ПараметрыСтроки = Новый КвалификаторыСтроки(100);
    ТипСтрока = Новый ОписаниеТипов(МассивТипов,,ПараметрыСтроки);     
    ТипВидДокумента = Новый ОписаниеТипов(МассивТипов);    
    
    ТЗПроектнаяСтатистика = Новый ТаблицаЗначений();
    ТЗПроектнаяСтатистика.Колонки.Добавить("Период",ТипДата);
    ТЗПроектнаяСтатистика.Колонки.Добавить("ГруппаПроектов",ТипПроекты);
    ТЗПроектнаяСтатистика.Колонки.Добавить("Проект",ТипПроекты);
    ТЗПроектнаяСтатистика.Колонки.Добавить("Ответственный",ТипОтветственный);
    ТЗПроектнаяСтатистика.Колонки.Добавить("ВидДокумента",ТипВидДокумента);
    
    ТЗПроектнаяСтатистика.Колонки.Добавить("Счетчик",ТипЧисло);
    
    //ТЗПроектнаяСтатистика.Индексы.Добавить("ГруппаПроектов,Ответственный,Период,ВидДокумента");

    
    Если НЕ ЗначениеЗаполнено(ФильтрВидовДокументов) Тогда
        
         ФильтрВидовДокументов.Очистить();
         
         НоваяСтрВидыДок = ФильтрВидовДокументов.Добавить();
         НоваяСтрВидыДок.ДокументМетаданные = "ПоступлениеТоваровУслуг";
         НоваяСтрВидыДок.ДокументСиноним = "Поступление товаров и услуг";
         
         НоваяСтрВидыДок = ФильтрВидовДокументов.Добавить();
         НоваяСтрВидыДок.ДокументМетаданные = "ПоступлениеДопРасходов";
         НоваяСтрВидыДок.ДокументСиноним = "Поступление доп. расходов";
         
         НоваяСтрВидыДок = ФильтрВидовДокументов.Добавить();
         НоваяСтрВидыДок.ДокументМетаданные = "АктОбОказанииПроизводственныхУслуг";
         НоваяСтрВидыДок.ДокументСиноним = "Акт об оказании производственных услуг";
         
         НоваяСтрВидыДок = ФильтрВидовДокументов.Добавить();
         НоваяСтрВидыДок.ДокументМетаданные = "рар_РасчетУправленческойВыручки";
         НоваяСтрВидыДок.ДокументСиноним = "Расчет управленческой выручки (Рарус)";
         
    КонецЕсли;    
        
    Для Каждого ВидДок Из ФильтрВидовДокументов Цикл
    ТекстПодЗапроса = ТекстПодЗапроса + "ВЫБРАТЬ
    |    """ + ВидДок.ДокументСиноним + """ КАК ВидДокумента,
    |    СУММА(1) КАК Счетчик,
    |    НАЧАЛОПЕРИОДА(Накладная.Дата, МЕСЯЦ) КАК Месяц,
    |    Накладная.Ответственный КАК Ответственный,
    |    УСЛ,
    |    ПарамВидДок
    |ИЗ
    |    Документ." + ВидДок.ДокументМетаданные + " КАК Накладная
    |ГДЕ
    |    Накладная.Дата МЕЖДУ &Нач И &Кон
    |И ВЫБОР
    |КОГДА &ФильтрОтветственный = ИСТИНА
    |ТОГДА Накладная.Ответственный В ИЕРАРХИИ (&СписокОтветственных)
    |ИНАЧЕ ИСТИНА
    |КОНЕЦ
    |И ВЫБОР
    |КОГДА &ФильтрПроекты = ИСТИНА
    |ОВИЕ
    |ИНАЧЕ ИСТИНА
    |КОНЕЦ
    |
    |СГРУППИРОВАТЬ ПО
    |    НАЧАЛОПЕРИОДА(Накладная.Дата, МЕСЯЦ),
    |    СТРОЧКА,
    |    123,
    |    Накладная.Ответственный
    |";
    
    Если ВидДок.ДокументМетаданные = "ПоступлениеДопРасходов" Тогда
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"ПарамВидДок","Накладная.рар_Проект КАК Проект");
    Иначе
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"ПарамВидДок","Накладная.Проект КАК Проект");
    КонецЕсли;
    
    Если ВидДок.ДокументМетаданные = "ПоступлениеДопРасходов" Тогда
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"ОВИЕ","ТОГДА Накладная.рар_Проект В ИЕРАРХИИ (&СписокПроектов)");
    Иначе
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"ОВИЕ","ТОГДА Накладная.Проект В ИЕРАРХИИ (&СписокПроектов)");
    КонецЕсли;
    
    Если ВидДок.ДокументМетаданные = "ПоступлениеДопРасходов" Тогда
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"УСЛ","Накладная.рар_Проект.Родитель КАК ГруппаПроектов");
    Иначе
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"УСЛ","Накладная.Проект.Родитель КАК ГруппаПроектов");
    КонецЕсли;
    
    Если ВидДок.ДокументМетаданные = "ПоступлениеДопРасходов" Тогда
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"СТРОЧКА","Накладная.рар_Проект.Родитель");
    Иначе
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"СТРОЧКА","Накладная.Проект.Родитель");
    КонецЕсли;
    
    Если ВидДок.ДокументМетаданные = "ПоступлениеДопРасходов" Тогда
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"123","Накладная.рар_Проект");
    Иначе
        ТекстПодЗапроса = СтрЗаменить(ТекстПодЗапроса,"123","Накладная.Проект");
    КонецЕсли;    
    
    Если ВидДок.НомерСтроки <> ФильтрВидовДокументов.Количество() Тогда
        
        ТекстПодЗапроса = ТекстПодЗапроса + "
        |ОБЪЕДИНИТЬ ВСЕ
        |";  
        
    КонецЕсли;
    
КонецЦикла;

ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    ПодЗапрос.Месяц КАК Период,
|    ПодЗапрос.ГруппаПроектов КАК ГруппаПроектов,
|    ПодЗапрос.Проект КАК Проект,
|    ПодЗапрос.Ответственный КАК Ответственный,
|    ПодЗапрос.ВидДокумента КАК ВидДокумента,
|    СУММА(ПодЗапрос.Счетчик) КАК Счетчик
|ИЗ
|    (" + ТекстПодЗапроса + ") КАК ПодЗапрос
|
|    СГРУППИРОВАТЬ ПО
|    ПодЗапрос.Месяц,
|    ПодЗапрос.ГруппаПроектов,
|    ПодЗапрос.ВидДокумента,
|    ПодЗапрос.Ответственный,
|    ПодЗапрос.Проект
|
|УПОРЯДОЧИТЬ ПО
|    ПодЗапрос.Месяц";
               
возврат ТекстЗапроса;

КонецФункции
   skupidom
 
5 - 16.11.17 - 16:33
что я делаю не так ?
   skupidom
 
6 - 16.11.17 - 16:33
в чем ошибся ?
   vicof
 
7 - 16.11.17 - 16:37
В ДНК ошибка.
Тип ТЗПроектнаяСтатистика должен быть ТаблицаЗначений
   skupidom
 
8 - 16.11.17 - 16:48
получилось! ВСЕ СПАСИБО!!!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует