Имя: Пароль:
1C
 
Ошибка при использовании внешних источников данных в СКД
0 Nyarlathotep
 
12.05.20
11:11
Добрый день!

Делаю отчет на скд, с внешними источниками данных. Создал исчтоники источники данных в макете (см. картинку, https://drive.google.com/file/d/1cTUpcqSIDtcqswfgnKeiyivCYNZzOO-z/view?usp=sharing). В процедуре ПриКомпоновкеРезультата указываю таблицы для созданных источников данных, вот так:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

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

    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

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

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

сами таблицы с данными имеют такую сруктуру

функция инициализироватьТаблицуЗаработнойПлаты()

    КЧ = Новый КвалификаторыЧисла(10,2);
    КС = Новый КвалификаторыСтроки(500);
    КД = Новый КвалификаторыДаты();
  
    Массив = Новый Массив;
    Массив.Добавить(Тип("Строка"));
    ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
  
    Массив.Очистить();
    Массив.Добавить(Тип("Число"));
    ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);
  
    Массив.Очистить();
    Массив.Добавить(Тип("Дата"));
    ОписаниеТиповД = Новый ОписаниеТипов(Массив, , ,КД);
  
    таблицаРассчетЗаработнойПлаты = новый ТаблицаЗначений;
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_наименованиеТовара", ОписаниеТиповС);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_артикулТовара", ОписаниеТиповС);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_видНоменклатуры", ОписаниеТиповС);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_видПроизводства", ОписаниеТиповС);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_датаПроизводстваСерии", ОписаниеТиповД);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_номерСерии", ОписаниеТиповС);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_количествоПроизведенныхТоваров", ОписаниеТиповЧ);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_выплатыРабочимБезНДФЛ", ОписаниеТиповЧ);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_выплатыРабочимСНДФЛ", ОписаниеТиповЧ);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_выплаченоРабочимВключаяФонды", ОписаниеТиповЧ);
    таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_заработнаяПлатаНаЕдиницуПродукции", ОписаниеТиповЧ);

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

в итоге при нажатии на кнопку Сформировать получаю такую ошибку

Ошибка выполнения отчета
по причине:
Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "таблицаРассчетЗаработнойПлаты"
по причине:
Не найден внешний набор данных "таблицаРассчетЗаработнойПлаты"

исчтоники данных в скд есть, имена совпадают. Что не так?
1 SleepyHead
 
гуру
12.05.20
11:16
Опечатка или в коде, или в идентификаторе внешнего набора в схеме. Рус/лат.
2 toypaul
 
гуру
12.05.20
11:18
таблицаРассчетЗаработнойПлаты, таблицаРассчетЗаработнойПлаты пишется с одной буквой "С" :)
3 SleepyHead
 
гуру
12.05.20
11:33
(2) а еще он забыл правильно поименовать таблицы. Надо так: ТаблицаРасчетЗаработнойПлатыИмениНуралиеваБорисаГеоргиевича.
4 Nyarlathotep
 
12.05.20
12:09
(1) Проверил, никаких опечаток нет, все имена полностью совпадают
5 toypaul
 
гуру
12.05.20
13:00
по хорошему надо у наборов данных все типы у полей прописывать
6 toypaul
 
гуру
12.05.20
13:00
по-моему именно такая ошибка "Ошибка создания набора данных" появляется если не задаешь типы
AdBlock убивает бесплатный контент. 1Сергей