![]() |
![]() |
|
Ошибка Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.Ока 🠗 (Волшебник 30.05.2025 20:31) | ☑ | ||
---|---|---|---|---|
0
HolySheep
30.05.25
✎
20:05
|
Добрый вечер. Для учебы выполняю задания по 1с. При проведении оказания услуг возникает ошибка - Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине: {Документ.ОказаниеУслуги.МодульОбъекта(67)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос2.Выполнить(); по причине: {(9, 2)}: Таблица не найдена "НоменклатураДокумента" <<?>>НоменклатураДокумента КАК НоменклатураДокумента Все делала по учебнику, временная таблица существует. помогите пожалуйста Процедура ОбработкаПроведения(Отказ, Режим) Движения.ОстаткиМатериалов.Записывать = Истина; Движения.СтоимостьМатериалов.Записывать = Истина; Движения.Продажи.Записывать = Истина; //Создать менеджер временных таблиц. МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; //Укажем, какой менеджер временных таблиц использует этот запрос Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | ОказаниеУслугиПереченьНоменклатуры.Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры, | СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе, | СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе |ПОМЕСТИТЬ НоменклатураДокумента |ИЗ | Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры |ГДЕ | ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ОказаниеУслугиПереченьНоменклатуры.Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры"; Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Запрос2 = Новый Запрос; Запрос2МенеджерВременныхТаблиц = МенеджерВТ; Запрос2.Текст = "ВЫБРАТЬ | ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость, | ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество, | НоменклатураДокумента.Номенклатура КАК Номенклатура, | НоменклатураДокумента.ВидНоменклатуры КАК ВидНоменклатуры, | НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе, | НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе |ИЗ | НоменклатураДокумента КАК НоменклатураДокумента | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки( | , | Материал В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура | ИЗ | НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки | ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки( | , | Материал В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура | ИЗ | НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки | ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материал"; //Запишем пустые наборы записей, чтобы читать остатки без учета данных в документе. Движения.СтоимостьМатериалов.Записать(); Движения.ОстаткиМатериалов.Записать(); Результат = Запрос2.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда СтоимостьМатериала = 0; Иначе СтоимостьМатериала = ВыборкаДетальныеЗаписи.Стоимость/ВыборкаДетальныеЗаписи.Количество; КонецЕсли; Если ВыборкаДетальныеЗаписи.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда // регистр ОстаткиМатериалов Расход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Склад = Склад; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; // регистр СтоимостьМатериалов Расход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе*СтоимостьМатериала; КонецЕсли; // Регистр Продажи Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Клиент = Клиент; Движение.Мастер = Мастер; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе; Движение.Стоимость = СтоимостьМатериала * ВыборкаДетальныеЗаписи.КоличествоВДокументе; КонецЦикла; КонецПроцедуры |
|||
1
Волшебник
30.05.25
✎
20:05
|
Тупой бот
|
|||
2
Волшебник
30.05.25
✎
20:06
|
Точку пропустили
|
|||
3
Волшебник
30.05.25
✎
20:06
|
И сразу ветку на форум
|
|||
4
Волшебник
30.05.25
✎
20:06
|
Лесенка не соблюдается
|
|||
5
Волшебник
30.05.25
✎
20:08
|
Два левых соединения к одной таблице
|
|||
6
Волшебник
30.05.25
✎
20:15
|
Хотя нет... Прикольно разделены количество и стоимость материалов.
Всё равно, есть ошибки. Нет даты в запросе |
|||
7
Волшебник
30.05.25
✎
20:22
|
Нельзя суммировать количество по номенклатуре, там могут быть разные единицы измерения
|
|||
8
Волшебник
30.05.25
✎
20:31
|
Тема не отражает суть сообщения
|
|||
9
HolySheep
30.05.25
✎
20:39
|
То есть ошибка только в дате по запросу ? Я сама это писала , по учебнику
|
|||
10
Волшебник
30.05.25
✎
20:41
|
(9) Вы вообще ветку читали?
|
|||
11
HolySheep
31.05.25
✎
00:34
|
да читала,извините, я только учусь, не все еще понимаю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |