Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 03:03

Приходная Накладная

Автор Кирюха, 17 мар 2013, 12:49

0 Пользователей и 1 гость просматривают эту тему.

Кирюха

Здравствуйте.

Делаю Проведение Документа РасходнаяНакладная на основе регистра накопления ОстаткиНоменклатуры.

При записи, возникает ошибка

Ошибка при выполнении обработчика - '{Документ.РасходнаяНакладная(36)}: Ошибка при вызове метода контекста (Остатки): Недопустимое значение параметра (параметр номер '2')'
по причине:
{Документ.РасходнаяНакладная(36)}: Ошибка при вызове метода контекста (Остатки): Недопустимое значение параметра (параметр номер '2')

по причине:
Недопустимое значение параметра (параметр номер '2')

Модуль обьекта таков:

Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ОстаткиТовара=РегистрыНакопления.ОстаткиНоменклатуры;
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ТекТовар=ТекСтрокаМатериалы.Материал;
ТекСклад=Склад;
ФильтрТовара=Новый Структура();
ФильтрТовара.Вставить("Материал",ТекТовар);
ФильтрТовара.Вставить("Склад",ТекСклад);
ТаблицаОстатков=ОстаткиТовара.Остатки(МоментВремени(),ФильтрТовара,"Материал","Количество");
Остатки=ТаблицаОстатков.Итог("Количество");
Если Остатки>=ТекСтрокаМатериалы.Количество Тогда
// регистр ОстаткиНоменклатуры Расход
Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаМатериалы.Материал;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаМатериалы.Количество;
Движение.Сумма = ТекСтрокаМатериалы.Себестоимость*ТекСтрокаМатериалы.Количество;
Иначе
Сообщить("На складе "+Склад.Наименование+" недостаточно товара "+ТекСтрокаМатериалы.Материал.Наименование+". Документ не проводится");
отказ = истина;
возврат;
КонецЕсли;
КонецЦикла;
Движения.ОстаткиНоменклатуры.Записать();
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры

Подскажите пожалуйста, где ошибка?

Besart

Цитата: Кирюха от 17 мар 2013, 12:49ТаблицаОстатков=ОстаткиТовара.Остатки(МоментВремени(),ФильтрТовара,"Материал","Количество");
явно ругается на эту строку, а елси хоите сделать контроль оставткв, то это необходимо делать с помощью запроса см. тему https://forum-baza.ru/index.php?topic=27187.0


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск