|
Ошибка при проведении документа | ☑ | ||
---|---|---|---|---|
0
Lecowi
12.05.19
✎
21:33
|
При попытке проведении документа выкидывает ошибку. Не удается понять в чем причина.
Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ОтпускМатериалов.МодульОбъекта(51)}: Поле объекта не обнаружено (ОстаткиНаСкладе) Движение.ОстаткиНаСкладе.Очистить(); Процедура из МодуляОбъекта Документ.ОтпускМатериалов Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! // регистр ОстаткиНаСкладе Расход Движения.ОстаткиНаСкладе.Записывать = Истина; Для Каждого ТекСтрокаОтгружаемыеТовары Из ОтгружаемыеТовары Цикл Движение = Движения.ОстаткиНаСкладе.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаОтгружаемыеТовары.Номенклатура; Движение.Склад = Склад; Движение.Количество = ТекСтрокаОтгружаемыеТовары.Количество; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура, | СУММА(Товары.Количество) КАК Количество |ПОМЕСТИТЬ Товары |ИЗ | Документ.ОтпускМатериалов.ОтгружаемыеТовары КАК Товары |ГДЕ | Товары.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | Товары.Номенклатура | |ИНДЕКСИРОВАТЬ ПО | Номенклатура ; |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура, | Товары.Количество КАК Количество |ИЗ | Товары КАК Товары"; Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Движение.ОстаткиНаСкладе.Очистить(); ВыборкаТовары = РезультатЗапроса.Выбрать(); Пока ВыборкаТовары.Следующий() Цикл Движение = Движение.ОстаткиНаСкладе.ДобавитьРасход(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = ВыборкаТовары.Номенклатура; Движение.Количество = ВыборкаТовары.Количество; КонецЦикла; Движение.ОстаткиНаСкладе.Записывать = Истина; Движение.Записать(); Запрос.Текст = "ВЫБРАТЬ | Остатки.Номенклатура КАК номенклатура, | Остатки.Склад КАК склад, | ПРЕДСТАВЛЕНИЕССЫЛКИ(Остатки.Номенклатура) КАК номенклатураПредставление, | -Остатки.КоличествоОстаток КАК дефицит |ИЗ | РегистрНакопления.ОстаткиНаСкладе.Остатки( | &моментвремени, | Номенклатура В | (ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура | ИЗ | Товары КАК Товары)) КАК Остатки |ГДЕ | Остатки.КоличествоОстаток < 0"; ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая); Запрос.УстановитьПараметр("моментвремени", ГраницаКонтроля); РезультатЗапроса = Запрос.Выполнить(); // Если Не РезультатЗапроса.Пустой()Тогда Отказ = Истина; ВыборкаОшибки = РезультатЗапроса.Выбрать(); Пока ВыборкаОшибки.Следующий() Цикл Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Номенклатуры " + ВыборкаОшибки.НоменклатураПредставление + "недостаточно в количество " +ВыборкаОшибки.Дефецит+" шт."; Сообщение.Сообщить(); КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
1
Beduin
12.05.19
✎
21:35
|
(0) В список движений регистр накопления "ОстаткиНаСкладе" включен у документа?
|
|||
2
Lecowi
12.05.19
✎
21:38
|
Да
|
|||
3
palsergeich
12.05.19
✎
21:39
|
тебя опечатка
Движение.ОстаткиНаСкладе.Очистить А надо Движения.ОстаткиНаСкладе.Очистить |
|||
4
Lecowi
12.05.19
✎
21:45
|
Все работает, спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |