|
| ||
Nyarlathotep 12.05.20 - 11:11 | Добрый день!
Делаю отчет на скд, с внешними источниками данных. Создал исчтоники источники данных в макете (см. картинку, https://drive.google.com/file/d/1cTUpcqSIDtcqswfgnKeiyivCYNZzOO-z/view?usp=sharing). В процедуре ПриКомпоновкеРезультата указываю таблицы для созданных источников данных, вот так: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) CтандартнаяОбработка = ложь; получитьДанныеИзБазДанных1С(); рассчитатьИтоговыеТаблицы(); внешнийНаборДанных = Новый Структура(); внешнийНаборДанных.Вставить("таблицаРассчетЗаработнойПлаты", таблицаРассчетЗаработнойПлаты); внешнийНаборДанных.Вставить("таблицаРассчетНДСИНалогаНаПрибыль", таблицаРассчетНДСИНалогаНаПрибыль); внешнийНаборДанных.Вставить("таблицаРассчетСебесоимостиАутсорсинговойПродукции", таблицаРассчетСебесоимостиАутсорсинговойПродукции); внешнийНаборДанных.Вставить("таблицаРассчетСебестоимостиСырьяПроизводства", таблицаРассчетСебестоимостиСырьяПроизводства); внешнийНаборДанных.Вставить("таблицаОбщиеИтоги", таблицаОбщиеИтоги); СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; // - Если сделать так, как показано выше(рекомендуют на некоторых ресурсах), то при изменении настроек в режиме клиента // этих изменений Вы не увидите, потому что настройки всегда будут по умолчанию. Как правильно - вариант ниже Настройки = КомпоновщикНастроек.ПолучитьНастройки(); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, внешнийНаборДанных, ДанныеРасшифровки); ДокументРезультат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры сами таблицы с данными имеют такую сруктуру функция инициализироватьТаблицуЗаработнойПлаты() КЧ = Новый КвалификаторыЧисла(10,2); КС = Новый КвалификаторыСтроки(500); КД = Новый КвалификаторыДаты(); Массив = Новый Массив; Массив.Добавить(Тип("Строка")); ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС); Массив.Очистить(); Массив.Добавить(Тип("Число")); ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ); Массив.Очистить(); Массив.Добавить(Тип("Дата")); ОписаниеТиповД = Новый ОписаниеТипов(Массив, , ,КД); таблицаРассчетЗаработнойПлаты = новый ТаблицаЗначений; таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_наименованиеТовара", ОписаниеТиповС); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_артикулТовара", ОписаниеТиповС); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_видНоменклатуры", ОписаниеТиповС); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_видПроизводства", ОписаниеТиповС); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_датаПроизводстваСерии", ОписаниеТиповД); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_номерСерии", ОписаниеТиповС); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_количествоПроизведенныхТоваров", ОписаниеТиповЧ); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_выплатыРабочимБезНДФЛ", ОписаниеТиповЧ); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_выплатыРабочимСНДФЛ", ОписаниеТиповЧ); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_выплаченоРабочимВключаяФонды", ОписаниеТиповЧ); таблицаРассчетЗаработнойПлаты.Колонки.Добавить("зп_заработнаяПлатаНаЕдиницуПродукции", ОписаниеТиповЧ); КонецФункции в итоге при нажатии на кнопку Сформировать получаю такую ошибку Ошибка выполнения отчета по причине: Ошибка исполнения отчета по причине: Ошибка инициализации по причине: Ошибка создания набора данных "таблицаРассчетЗаработнойПлаты" по причине: Не найден внешний набор данных "таблицаРассчетЗаработнойПлаты" исчтоники данных в скд есть, имена совпадают. Что не так? | ||
SleepyHead 1 - 12.05.20 - 11:16 | Опечатка или в коде, или в идентификаторе внешнего набора в схеме. Рус/лат. | ||
toypaul 2 - 12.05.20 - 11:18 | таблицаРассчетЗаработнойПлаты, таблицаРассчетЗаработнойПлаты пишется с одной буквой "С" :) | ||
SleepyHead 3 - 12.05.20 - 11:33 | (2) а еще он забыл правильно поименовать таблицы. Надо так: ТаблицаРасчетЗаработнойПлатыИмениНуралиеваБорисаГеоргиевича. | ||
Nyarlathotep 4 - 12.05.20 - 12:09 | (1) Проверил, никаких опечаток нет, все имена полностью совпадают | ||
toypaul 5 - 12.05.20 - 13:00 | по хорошему надо у наборов данных все типы у полей прописывать | ||
toypaul 6 - 12.05.20 - 13:00 | по-моему именно такая ошибка "Ошибка создания набора данных" появляется если не задаешь типы |
|
Список тем форума
|