При проведении проверить остатки

1. BARDER 37 10.10.14 10:47 Сейчас в теме
Здравствуйте.
Подскажите такую вещь, что то не соображу как это делается:
Конфа самописная.
Есть регистр накопления, при поступлении записывается в регистр накопления "ТоварыВПродаже"
При продаже списывается расходом:
Процедура ОбработкаПроведения(Отказ, Режим)
	//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

Как мне проверить если в остатке, если нету, то процедура завершается Отказ = Ложь;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 129 10.10.14 11:32 Сейчас в теме
(1) BARDER, достаточно взглянуть в какую-нибудь типовую конфу и посмотреть.
4. BARDER 37 10.10.14 15:59 Сейчас в теме
Я сделал проще:

Процедура ОбработкаПроведения(Отказ, Режим)
	//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    ЕстьНаСкладе = Ложь;
	
	Движения.ТоварыВПродаже.Записывать = Истина;
	Для Каждого ТекСтрокаТовары Из Товары Цикл
	Товар = ТекСтрокаТовары.Наименование;
	 
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ТоварыВПродажеОстатки.Товары,
		|	ТоварыВПродажеОстатки.КоличествоОстаток
		|ИЗ
		|	РегистрНакопления.ТоварыВПродаже.Остатки КАК ТоварыВПродажеОстатки
		|ГДЕ
		|	ТоварыВПродажеОстатки.Товары = &Товар";

	Запрос.УстановитьПараметр("Товар", Товар);
	Результат = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = Результат.Выбрать();

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

		Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
		Движение.Период = Дата;
		Движение.Дата = Дата;
		Движение.Товары = ТекСтрокаТовары.Наименование;
		Движение.Количество = 1;
		Движение.Цена = ТекСтрокаТовары.Цена;
		 ЕстьНаСкладе = Истина;
	КонецЦикла;

	
		  Если НЕ ЕстьНаСкладе Тогда
	  
	  	Отказ = Истина;
	  
	  КонецЕсли;  

			КонецЦикла;
	КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот