Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ОказаниеУслуги.М дульОбъекта(68)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос2.Выполнить();
по причине:
{(9, 2)}: Таблица не найдена "НоменклатураДокумента"
<<?>>НоменклатураДокумента КАК НоменклатураДокумента












Процедура ОбработкаПроведения(Отказ, Режим)

// регистр ОстатокМатериалов Расход
Движения.ОстатокМатериало .Записывать = Истина;
Движения.СтоимостьМатериа ов.Записывать = Истина;
Движения.Продажи.Записыват ь = Истина;

//Создать менеджер временных таблиц
МенеджерВТ = Новый МенеджерВременныхТаблиц;


Запрос = Новый Запрос;

//Какой менеджер временных таблиц использует этот запрос
Запрос.МенеджерВременныхТ блиц = МенеджерВТ;

Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура КАК Номенклатура,
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура.Вид Номенклатуры КАК ВидНоменклатуры,
| СУММА(ОказаниеУслугиПереч ньНоменклатуры.Количество ) КАК КоличествоВДокументе,
| СУММА(ОказаниеУслугиПереч ньНоменклатуры.Сумма) КАК СуммаВДокументе
|ПОМЕСТИТЬ НоменклатураДокумента
|ИЗ
| Документ.ОказаниеУслуги.Пе реченьНоменклатуры КАК ОказаниеУслугиПереченьНом енклатуры
|ГДЕ
| ОказаниеУслугиПереченьНом енклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура,
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура.Вид Номенклатуры";

Запрос.УстановитьПараметр( "Ссылка", Ссылка);

Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТ аблиц = МенеджерВТ;
Запрос2.Текст = "ВЫБРАТЬ
| НоменклатураДокумента.Ном нклатура КАК Номенклатура,
| НоменклатураДокумента.Вид оменклатуры КАК ВидНоменклатуры,
| НоменклатураДокумента.Кол чествоВДокументе КАК КоличествоВДокументе,
| НоменклатураДокумента.Сум аВДокументе КАК СуммаВДокументе,
| ЕСТЬNULL(СтоимостьМатериало Остатки.СтоимостьОстаток, 0) КАК Стоимость,
| ЕСТЬNULL(ОстатокМатериаловО татки.КоличествоОстаток, 0) КАК Количество
|ИЗ
| НоменклатураДокумента КАК НоменклатураДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Стоимос ьМатериалов.Остатки(
| ,
| Материал В
| (ВЫБРАТЬ
| НоменклатураДокумента.Ном нклатура
| ИЗ
| НоменклатураДокумента)) КАК СтоимостьМатериаловОстатк и
| ПО НоменклатураДокумента.Ном нклатура = СтоимостьМатериаловОстатк и.Материал
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остаток атериалов.Остатки(
| ,
| Материалы В
| (ВЫБРАТЬ
| НоменклатураДокумента.Ном нклатура
| ИЗ
| НоменклатураДокумента)) КАК ОстатокМатериаловОстатки
| ПО НоменклатураДокумента.Ном нклатура = ОстатокМатериаловОстатки. атериалы";

//Запишем пустые наборы записей, что бы читать остатки без учета данных в документе
Движения.СтоимостьМатериа ов.Записать();
Движения.ОстатокМатериало .Записать();

РезультатЗапроса = Запрос2.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Сл дующий() Цикл

Если ВыборкаДетальныеЗаписи.Ко ичество = 0 Тогда
СтоимостьМатериала = 0;
Иначе
СтоимостьМатериала = ВыборкаДетальныеЗаписи.Ст имость / ВыборкаДетальныеЗаписи.Ко ичество;
КонецЕсли;


Если ВыборкаДетальныеЗаписи.Ви Номенклатуры = Перечисления.ВидыНоменкла уры.Материалы Тогда

// регистр ОстатокМатериалов Расход
Движение = Движения.ОстатокМатериало .Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас од;
Движение.Период = Дата;
Движение.Материалы = ВыборкаДетальныеЗаписи.Но енклатура;
Движение.Склад = Склад;
Движение.Количество = ВыборкаДетальныеЗаписи.Ко ичествоВДокументе;

//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериа ов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас од;
Движение.Период = Дата;
Движение.Материал = ВыборкаДетальныеЗаписи.Но енклатура;
Движение.Стоимость = ВыборкаДетальныеЗаписи.Ко ичествоВДокументе * СтоимостьМатериала;
КонецЕсли;

//регистр Продажи

Движение = Движения.Продажи.Добавить() ;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но енклатура;
Движение.Клиент = Клиент;
Движение.Мастер = Мастер;
Движение.Количество = ВыборкаДетальныеЗаписи.Ко ичествоВДокументе;
Движение.Выручка = ВыборкаДетальныеЗаписи.Су маВДокументе;
Движение.Стоимость = ВыборкаДетальныеЗаписи.Ко ичествоВДокументе * СтоимостьМатериала;


КонецЦикла;



КонецПроцедуры