Имя: Пароль:
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
Из чистого любопытства: премия Татьяны Лариной, а стаж почему-то общий, логичнее было бы взять стаж работы на данном предприятии как для надбавки за выслугу лет.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший