![]() |
![]() |
|
Помогите исправить "Ошибка при выполнении обработчика - 'ОбработкаПроведения' | ☑ | ||
---|---|---|---|---|
0
Jobeba
09.02.24
✎
09:01
|
ОбработкаПроведенияПроцедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! // регистр Продажи //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! //Создать менеджер временных таблиц МенеджерВТ = Новый МенеджерВременныхТаблиц; #Область НоменклатураДокумента Запрос = Новый Запрос; //Укажем, какой менеджер временных таблиц использует этот запрос Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | ОказаниеУслуги.Номенклатура КАК Номенклатура, | НоменклатураДокумента.СуммаВДокументе КАК Сумма, | НоменклатураДокумента.КоличествоВДокументе КАК Количество, | ОказаниеУслуги.Цена КАК Цена, | НоменклатураДокумента.Номенклатура КАК Номенклатура1, | ОказаниеУслуги.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры, | ОказаниеУслуги.Количество КАК КоличествоВДокументе, | ОказаниеУслуги.Сумма КАК СуммаВДокументе, | НоменклатураДокумента.ВидНоменклатуры КАК НоменклатураВидНоменклатуры |ПОМЕСТИТЬ НоменклатураДокумента |ИЗ | Документ.ОказаниеУслуги КАК ОказаниеУслуги, | НоменклатураДокумента КАК НоменклатураДокумента | ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.ВидыНоменклатуры КАК ВидыНоменклатуры | ПО НоменклатураДокумента.ВидНоменклатуры = ВидыНоменклатуры.Ссылка |ГДЕ | ОказаниеУслуги.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ОказаниеУслуги.Номенклатура, | ОказаниеУслуги.Сумма, | ОказаниеУслуги.Количество, | ОказаниеУслуги.Цена, | НоменклатураДокумента.Номенклатура, | НоменклатураДокумента.ВидНоменклатуры, | НоменклатураДокумента.КоличествоВДокументе, | НоменклатураДокумента.СуммаВДокументе, | ОказаниеУслуги.Номенклатура.ВидНоменклатуры"; Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); #КонецОбласти #Область ДвиженияДокумента Запрос2 = Новый Запрос; Запрос2.МенеджерВременныхТаблиц = МенеджерВТ; Запрос2.Текст="ВЫБРАТЬ | ЕСТЬNULL(НоменклатураДокумента.Номенклатура, 0) КАК Номенклатура, | НоменклатураДокумента.ВидНоменклатуры КАК ВидНоменклатуры, | НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе, | НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе, | СтоимостьМатериаловОстатки.СтоимостьОстаток КАК СтоимостьОстаток, | ОстаткиТоваровОстатки.КоличествоОстаток КАК КоличествоОстаток |ИЗ | НоменклатураДокумента КАК НоменклатураДокумента | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки КАК СтоимостьМатериаловОстатки | ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.СтоимостьОстаток, | РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки"; Движения.СтоимостьМатериалов.БлокироватьДляИзменения = Истина; Движения.ОстаткиТоваров.БлокироватьДляИзменения = Истина; Движения.ОстаткиТоваров.Записывать(); Движения.СтоимостьМатериалов.Записывать(); РезультатЗапроса = Запрос2.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда СтоимостьТоваров = 0; Иначе СтоимостьТоваров = ВыборкаДетальныеЗаписи.Стоимость /ВыборкаДетальныеЗаписи.Количество(); КонецЕсли; Если ВыборкаДетальныеЗаписи.ВидыНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда КонецЕсли; КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // регистр ОстаткиТоваров Расход Для Каждого ТекСтрокаСклад Из Склад Цикл Если ТекСтрокаСклад.Наименование.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда Движение = Движения.ОстаткиТоваров.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ТекСтрокаСклад.ВидНоменклатуры; Движение.Склад = Фирма; Движение.Количество = ВыборкаДетальныеЗаписи.Количество; КонецЕсли; КонецЦикла; // регистр СтоимостьМатериалов Приход Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Измерение1 = ВыборкаДетальныеЗаписи.НомерСтроки; Движение.Стоимость = ВыборкаДетальныеЗаписи.Количество * ВыборкаДетальныеЗаписи.Стоимость; Движение.НаименованиеМатериала = ТекСтрокаСклад.Наименование; Движение.Количество = ВыборкаДетальныеЗаписи.Количество * ВыборкаДетальныеЗаписи.Стоимость; Движение.Сумма = Сумма; КонецЕсли; КонецЦикла; Движения.Записать(); #КонецОбласти #Область КонтрольОстатков Если Режим = РежимПроведенияДокумента.Оперативный Тогда //Проверим отрицательные остатки Запрос3 = Новый Запрос; Запрос3.МенеджерВременныхТаблиц = МенеджерВТ; Запрос3.Текст = "ВЫБРАТЬ | ОстаткиТоваровОстатки.Материал КАК Материал, | ОстаткиТоваровОстатки.КоличествоОстаток КАК КоличествоОстаток, | НоменклатураДокумента.Номенклатура КАК Номенклатура, | НоменклатураДокумента.ВидыНоменклатуры КАК ВидыНоменклатуры, | НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе, | НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе |ИЗ | РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки, | НоменклатураДокумента КАК НоменклатураДокумента |ГДЕ | ОстаткиТоваровОстатки.КоличествоОстаток < 0" КонецЕсли; #КонецОбласти //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры; Возникает такая ошибка в 1C:ПРЕДПРИЯТИЯ |
|||
1
Jobeba
09.02.24
✎
08:25
|
Вот такая ошибка возникает:
Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {(14, 2)}: Таблица не найдена "НоменклатураДокумента" <<?>>НоменклатураДокумента КАК НоменклатураДокумента по причине: {(14, 2)}: Таблица не найдена "НоменклатураДокумента" <<?>>НоменклатураДокумента КАК НоменклатураДокумента |
|||
2
uPstart_
09.02.24
✎
08:33
|
(0) В первом запросе таблицы НоменклатураДокумента нету. Убери из запроса таблицу и все реквизиты ее в выборке.
|
|||
3
Jobeba
09.02.24
✎
08:46
|
Всё сделал, так и заработало. Спасибо большое, а то долго сидел и ломал голову.
|
|||
4
Волшебник
09.02.24
✎
09:01
|
(3) Балда
|
|||
5
Ёпрст
09.02.24
✎
09:56
|
(0)
// Запрос2 = Новый Запрос; // Запрос2.МенеджерВременныхТаблиц = МенеджерВТ; //Запрос2.Текст="ВЫБРАТЬ Запрос.Текст="ВЫБРАТЬ И ниже везде замени Запрос2 на Запрос. |
|||
6
Ёпрст
09.02.24
✎
09:56
|
И аналогично, с запрос3, выкинь создание объекта и МВТ и замени на Запрос.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |