Имя: Пароль:
1C
 
Таблица не найдена
🠗 (Волшебник 15.12.2023 21:55)
0 kolutus
 
15.12.23
21:51
Выдаёт ошибку Таблица не найдена "НомеклатураДокумента", хотя почти такой же запрос в другой базе данных работает нормально

#Область КонтрольОстатков
	МенеджерВТ = Новый МенеджерВременныхТаблиц;
		Если Режим = РежимПроведенияДокумента.Оперативный Тогда
			Запрос3 = Новый Запрос;
			Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
			Запрос3.Текст = "ВЫБРАТЬ
							|	ОстаткиКомпьютеровОстатки.Деталь КАК Деталь1,
							|	ОстаткиКомпьютеровОстатки.КоличествоОстаток КАК КоличествоОстаток
							|ИЗ
							|	РегистрНакопления.ОстаткиКомпьютеров.Остатки(
							|			,
							|			Деталь В
							|					(ВЫБРАТЬ
							|						НомеклатураДокумента.Деталь
							|					ИЗ
							|						НомеклатураДокумента)
							|				И Склад = &Склад) КАК ОстаткиКомпьютеровОстатки
							|ГДЕ
							|	ОстаткиКомпьютеровОстатки.КоличествоОстаток < 0";							
			Запрос3.УстановитьПараметр("Склад", Склад);
			
			РезультатЗапроса = Запрос3.Выполнить();
			ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();  
			
			Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
				Сообщение = Новый СообщениеПользователю();
				Сообщение.Текст = "Не хватает "+Строка(-ВыборкаДетальныеЗаписи.КоличествоОстаток)+""+ВыборкаДетальныеЗаписи.Материал;
				
				Сообщение.Сообщить();
				Отказ = Истина;
			Конеццикла;
		КонецЕсли;
	#КонецОбласти




Рабочий такой же запрос


#Область КонтрольОстатков
		Если Режим = РежимПроведенияДокумента.Оперативный Тогда
			Запрос3 = Новый Запрос;
			Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
			Запрос3.Текст = "ВЫБРАТЬ
							|	ОстаткиМатериаловОстатки.Материал,
							|	ОстаткиМатериаловОстатки.НаборСвойств,
							|	ОстаткиМатериаловОстатки.КоличествоОстаток
							|ИЗ
							|	РегистрНакопления.ОстаткиМатериалов.Остатки(
							|			,
							|			Материал В
							|					(ВЫБРАТЬ
							|						НоменклатураДокумента.Номенклатура
							|					ИЗ
							|						НоменклатураДокумента)
							|				И Склад = &Склад) КАК ОстаткиМатериаловОстатки
							|ГДЕ
							|	ОстаткиМатериаловОстатки.КоличествоОстаток < 0";
							
			Запрос3.УстановитьПараметр("Склад", Склад);
			
			РезультатЗапроса = Запрос3.Выполнить();
			ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
			
			Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
				Сообщение = Новый СообщениеПользователю();
				Сообщение.Текст = "Не хватает " + Строка(-ВыборкаДетальныеЗаписи.КоличествоОстаток)+
				" единиц материала " + ВыборкаДетальныеЗаписи.Материал + " из набора свойств " + ВыборкаДетальныеЗаписи.НаборСвойств;
				
				Сообщение.Сообщить();
				Отказ = Истина;
			Конеццикла;
		КонецЕсли;
		#КонецОбласти
1 Волшебник
 
15.12.23
21:52
ОстаткиКомпьютеров... 🤦
2 Волшебник
 
15.12.23
21:53
у вас нет виртуальной таблицы НомеклатураДокумента
3 Волшебник
 
15.12.23
21:53
кстати, ошибка в слове "НомеклантураДокумента"
4 kolutus
 
15.12.23
21:59
Опечатку поправил, ошибка осталась

Во втором случае тоже нет виртуальной таблицу, нет?
5 Волшебник
 
15.12.23
22:04
(4) Вы врёте
6 kolutus
 
15.12.23
22:06
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Ошибка при вызове метода контекста (Выполнить)
{Документ.Продажа.МодульОбъекта(155)}:РезультатЗапроса = Запрос3.Выполнить();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
{(11, 7)}: Таблица не найдена "НоменклатураДокумента"
<<?>>НоменклатураДокумента)
7 Волшебник
 
15.12.23
22:14
(6) Создайте уже эту таблицу и не морочьте нам голову
8 kolutus
 
15.12.23
22:15
(7) Вы думаете я не пробовал?
Проблема всё равно не уходит...
9 kolutus
 
15.12.23
22:45
(8) Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Ошибка при вызове метода контекста (Выполнить)
{Документ.Продажа.МодульОбъекта(156)}:РезультатЗапроса = Запрос3.Выполнить();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
{(13, 2)}: Таблица не найдена "НомеклатураДокумента"
<<?>>НомеклатураДокумента КАК НомеклатураДокумента





#Область КонтрольОстатков
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
        Если Режим = РежимПроведенияДокумента.Оперативный Тогда
            Запрос3 = Новый Запрос;
            Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
            Запрос3.Текст = "ВЫБРАТЬ
                            |    ОстаткиКомпьютеровОстатки.Деталь КАК Деталь,
                            |    ОстаткиКомпьютеровОстатки.КоличествоОстаток КАК КоличествоОстаток
                            |ИЗ
                            |    РегистрНакопления.ОстаткиКомпьютеров.Остатки(
                            |            ,
                            |            Деталь В
                            |                    (ВЫБРАТЬ
                            |                        НоменклатураДокумента.Деталь
                            |                    ИЗ
                            |                        НоменклатураДокумента)
                            |                И Склад = &Склад) КАК ОстаткиКомпьютеровОстатки,
                            |    НомеклатураДокумента КАК НомеклатураДокумента
                            |ГДЕ
                            |    ОстаткиКомпьютеровОстатки.КоличествоОстаток < 0";                            
            Запрос3.УстановитьПараметр("Склад", Склад);
            
            РезультатЗапроса = Запрос3.Выполнить();
            ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();  
            
            Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                Сообщение = Новый СообщениеПользователю();
                Сообщение.Текст = "Не хватает "+Строка(-ВыборкаДетальныеЗаписи.КоличествоОстаток)+""+ВыборкаДетальныеЗаписи.Материал;
                
                Сообщение.Сообщить();
                Отказ = Истина;
            Конеццикла;
        КонецЕсли;
    #КонецОбласти
10 kolutus
 
15.12.23
22:46
Исправил опечатку

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Ошибка при вызове метода контекста (Выполнить)
{Документ.Продажа.МодульОбъекта(156)}:РезультатЗапроса = Запрос3.Выполнить();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
{(13, 2)}: Таблица не найдена "НоменклатураДокумента"
<<?>>НоменклатураДокумента КАК НоменклатураДокумента
11 Мимохожий Однако
 
15.12.23
23:12
(10) Отладь в консоли запросов, если не удаётся писать руками
12 Волшебник
 
15.12.23
23:16
(9) Опять эта "НомеклатураДокумента"
Фу