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

Ошибка в Контроле остатков

Автор MihaSerb, 31 янв 2013, 16:08

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

MihaSerb

При отладки вылетает ошибка
{Документ.РасходнаяНакладная.МодульОбъекта(75,36)}: Переменная не определена (Склад)
Запрос.УстановитьПараметр("Склад", <<?>>Склад); (Проверка: Сервер)



Процедура ОбработкаПроведения(Отказ, Режим)
   
   
   
     Запрос = Новый Запрос;

      Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

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

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

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

Движения.ТоварыНаСкладе.Записывать = Истина;

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

Пока Выборка.Следующий() Цикл

      Движение = Движения.ТоварыНаСкладе.Добавить();

      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

      Движение.Период = Дата;

      Движение.Номенклатура = Выборка.Номенклатура;

      Движение.Склад = Склад;

      Движение.Количество = Выборка.Количество;

КонецЦикла;

Движения.Записать();



Запрос.Текст = "ВЫБРАТЬ

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


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

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


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

Пока Выборка.Следующий() Цикл

            Сообщение = Новый СообщениеПользователю;

            Сообщение.Текст = "Не хватает товара " + Выборка.Номенклатура + ", после проведения документа остаток составит " + Выборка.Остаток;

            Сообщение.Сообщить();

            Отказ = Истина;       

КонецЦикла;    
   
КонецПроцедуры

tank436

Видимо вы не указали Склад как реквизит

MihaSerb

У меня строго регламентированное задание и в расходной накладной реквезит склад только в табличной части, возможно вобще как-нибудь иначе сделать контроль остатков???

Теги:

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

Рейтинг@Mail.ru

Поиск