Имя: Пароль:
1C
 
МенеджерВременныхТаблиц в СКД
0 gul_Sayan
 
02.09.24
14:37
В ЗУП 3.1 КОРП отчет создан с представлениями.
Пытаюсь подключить ещё одну таблицу через МВТ вот код
МВТВерность = Новый МенеджерВременныхТаблиц;
	ЗарплатаКадры.СоздатьВТПоТаблицеЗначений(МВТВерность, ШкалаОценки, "втШкалаОценки", Истина);
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки,, Тип("ГенераторМакетаКомпоновкиДанных"));
	
	// Здесь его используем
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,, ДанныеРасшифровки, Истина,, МВТВерность);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);


В менеджере таблица есть и заполнена.
В запросе СКД текст такой

ВЫБРАТЬ
	Представления_КадровыеДанныеСотрудников.Сотрудник,
	Начисления.Ссылка,
	втШкалаОценки.ЗначениеПоказателя,
	Представления_КадровыеДанныеСотрудников.Подразделение,
	Представления_КадровыеДанныеСотрудников.Подразделение.Код,
	Представления_КадровыеДанныеСотрудников.Должность,
	МАКСИМУМ(Представления_КадровыеДанныеСотрудников.ДатаПриема),
	Представления_КадровыеДанныеСотрудников.Организация,
	Представления_КадровыеДанныеСотрудников.ОбщийСтажДней,
	Представления_КадровыеДанныеСотрудников.ОбщийСтажМесяцев,
	Представления_КадровыеДанныеСотрудников.ОбщийСтажЛет,
	МАКСИМУМ(ВТ_ДатаВДолжность.Дата),
	МАКСИМУМ(ВТ_Категории.Значение),
	ВТ_КатегорииДолжности.КатегорияДолжности
ИЗ
	Представления_КадровыеДанныеСотрудников КАК Представления_КадровыеДанныеСотрудников
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатаВДолжность КАК ВТ_ДатаВДолжность
		ПО Представления_КадровыеДанныеСотрудников.Сотрудник = ВТ_ДатаВДолжность.Сотрудник
			И Представления_КадровыеДанныеСотрудников.Должность = ВТ_ДатаВДолжность.Должность
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Категории КАК ВТ_Категории
		ПО Представления_КадровыеДанныеСотрудников.Состояние = ВТ_Категории.Сотрудник
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КатегорииДолжности КАК ВТ_КатегорииДолжности
		ПО Представления_КадровыеДанныеСотрудников.Подразделение = ВТ_КатегорииДолжности.Подразделение
			И Представления_КадровыеДанныеСотрудников.Должность = ВТ_КатегорииДолжности.Должность
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК Начисления
		ПО (ИСТИНА)
			И (Начисления.Наименование = "Премия за верность (ежемесячная)")
		ЛЕВОЕ СОЕДИНЕНИЕ втШкалаОценки КАК втШкалаОценки
		ПО Представления_КадровыеДанныеСотрудников.ОбщийСтажМесяцев >= втШкалаОценки.ЗначениеОт
			И (Представления_КадровыеДанныеСотрудников.ОбщийСтажМесяцев < втШкалаОценки.ЗначениеДо
				ИЛИ втШкалаОценки.ЗначениеДо = 0)


Но при выполнении отчета выдаёт ошибку - таблица втШкалаОценки не найдена.
В чём загвоздка?
1 Ненавижу 1С
 
02.09.24
15:14
Разные экземпляры менеджеров временных таблиц похоже
2 toypaul
 
02.09.24
15:49
если "отчет создан с представлениями.", то там 99% создается свой МВТ, в который и надо запихать свою новую таблицу
3 Franchiser
 
02.09.24
15:55
(0) за все время ни разу не передавал МВТ в СКД.
4 craxx
 
02.09.24
16:12
(0) Отладчиком встань на строке
ЗарплатаКадры.СоздатьВТПоТаблицеЗначений(МВТВерность, ШкалаОценки, "втШкалаОценки", Истина);

И проверь есть ли в МВТ данная таблица после ее выполнения
5 Franchiser
 
02.09.24
16:12
(0) возможно нужно выполнить
ЗарплатаКадры.СоздатьВТПоТаблицеЗначений()
6 rozer76
 
02.09.24
16:39
в запросе СКД сначала надо выбрать втШкалаОценки в другую ВТ а потом использовать в соединении
7 gul_Sayan
 
03.09.24
09:26
(2) Скорее всего! Сделал табличку, которую передавал в менеджер запросом.
8 Гена
 
03.09.24
11:12
Из чистого любопытства: премия Татьяны Лариной, а стаж почему-то общий, логичнее было бы взять стаж работы на данном предприятии как для надбавки за выслугу лет.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn