Контроль Остатков

1. katyaa 25.05.20 20:59 Сейчас в теме
Почему при проведении документа он "ВыборкаДетальныеЗаписи.КоличествоОстаток" всегда видит как ноль, хотя там есть номенклатура?
Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = новый МенеджерВременныхТаблиц;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	РасходнаяНакладанаяТовары.Номенклатура КАК Номенклатура,
		|	СУММА(РасходнаяНакладанаяТовары.Количество) КАК Количество,
		|	СУММА(РасходнаяНакладанаяТовары.Сумма) КАК Сумма
		|ПОМЕСТИТЬ ВТ
		|ИЗ
		|	Документ.РасходнаяНакладаная.Товары КАК РасходнаяНакладанаяТовары
		|ГДЕ
		|	РасходнаяНакладанаяТовары.Ссылка = &Ссылка
		|
		|СГРУППИРОВАТЬ ПО
		|	РасходнаяНакладанаяТовары.Номенклатура
		|
		|ИНДЕКСИРОВАТЬ ПО
		|	Номенклатура
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|ВЫБРАТЬ
		|	ЕСТЬNULL(СтоимостьТоваровОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
		|	ЕСТЬNULL(СтоимостьТоваровОстатки.СебестоимостьОстаток, 0) КАК СебестоимостьОстаток,
		|	ВТ.Количество КАК Количество,
		|	ВТ.Сумма КАК Сумма,
		|	ВТ.Номенклатура КАК Номенклатура
		|ИЗ
		|	ВТ КАК ВТ
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьТоваров.Остатки(
		|				,
		|				Номенклатура В
		|					(ВЫБРАТЬ
		|						ВТ.Номенклатура
		|					ИЗ
		|						ВТ КАК ВТ)) КАК СтоимостьТоваровОстатки
		|		ПО ВТ.Номенклатура = СтоимостьТоваровОстатки.Номенклатура
		|ИТОГИ
		|	СУММА(КоличествоОстаток),
		|	СУММА(СебестоимостьОстаток),
		|	МАКСИМУМ(Количество),
		|	МАКСИМУМ(Сумма)
		|ПО
		|	Номенклатура";
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	Если ВыборкаДетальныеЗаписи.КоличествоОстаток < ВыборкаДетальныеЗаписи.Количество Тогда
	
		сообщить ("Не хватает!");
		отказ = истина;
	
	КонецЕсли;	
	КонецЦикла;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 25.05.20 23:02 Сейчас в теме
(1)не надо в запросе Итоги использовать, вы и так уже все проагрегирровали.
и еще для отладки(проверки данных) используйте консоль запросов.

запрос при проведении, а сам документ уже сделал движения в этот регистр?
его надо выполнять без учета движений самого документа, хотя это зависит от того что вы хотите проверить, может это и правильно что остатки = 0, как раз списалось то что было!!!
3. Salavat 13 26.05.20 06:30 Сейчас в теме
(2)
может это и правильно что остатки = 0, как раз списалось то что было!!!
"Современная" методика контроля остатков.
(хотя ей - уже ХХ лет)
4. katyaa 26.05.20 07:19 Сейчас в теме
(2)Он мне выдаёт вот такую ошибку.
Остатки точно не 0.
Прикрепленные файлы:
5. Salavat 13 26.05.20 07:43 Сейчас в теме
(4)так и надо смотреть (в отладчике) - какие там данные получаются.
Подозреваю -
ВТ.Количество КАК Количество,
- не число, попадается.
6. katyaa 26.05.20 07:48 Сейчас в теме
(5) из временной таблицы он видит данные (то есть то число,которое я ввожу при списании), а вот остаток он не видит и выдает тип Null.
Прикрепленные файлы:
7. Salavat 13 26.05.20 07:50 Сейчас в теме
(6)Таблицу ВТ - покажите содержимое.
8. katyaa 26.05.20 07:57 Сейчас в теме
9. Salavat 13 26.05.20 08:02 Сейчас в теме
(8)Что - тоже самое? Я сказал - привести содержимое.
Всю таблицу ВТ - целиком.
Второй подзапрос, просто -
Выбрать ВТ.* из ВТ
1 таблица - только.
10. katyaa 26.05.20 08:06 Сейчас в теме
(9)Я поменяла на правое соединение, но ошибка та же самая.
11. Salavat 13 26.05.20 08:07 Сейчас в теме
(10)Я сказал - привести содержимое.
Всю таблицу ВТ - целиком.
Второй подзапрос, просто сделайте -
Выбрать ВТ.* из ВТ
1 таблица - только.

(если будете через конструктор делать - эта одна строка, преобразуется в Х (или ХХ) строк)
12. Salavat 13 26.05.20 08:21 Сейчас в теме
(10) и в Табло (лучше, чем в "Выражении"), добавьте -
РезультатЗапроса.Выгрузить()

результат покажите, на строке -
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Оставьте свое сообщение

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