Откуда берутся данные по резерву?

1. holidayinthesun 22.03.12 12:52 Сейчас в теме
Дорабатываю конфигурацию под нужды заказчика.
Требуется много где для конкретной номенклатуры выводить данные по резерву(на какую-то дату).
Данные те же, что попадают в форму подбора.
Полазал в отладчике, но не смог понять, откуда в форме подбора берутся цифры.
Подскажите, по каким регистрам смотреть или в каком стандартном отчете увидеть.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VicGuru 22.03.12 13:04 Сейчас в теме
Для хранения подобных данных существует регистры накопления, собственно там и смотри. Товары в резерве на складах называются. Соответственно Получаешь значения на дату и по складу
Как вариант вот такой код

Запрос = Новый Запрос();

Запрос.Текст =
"ВЫБРАТЬ
| ТоварыВРезервеНаСкладах.КоличествоОстаток,
| ТоварыВРезервеНаСкладах.ДокументРезерва КАК ДокументРезерва
|ИЗ
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладах";



Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
Сообщить("Док: "+Выборка.ДокументРезерва);
КонецЦикла;
4. basicm 22.03.12 13:36 Сейчас в теме
(2) (3) спамеры)) УНФ -> Регистр "Запасы и затраты"
holidayinthesun; +1 Ответить
5. holidayinthesun 22.03.12 13:41 Сейчас в теме
(4) basicm,
Спасибо, это понял. Сейчас делаю как-то так:
ВЫБРАТЬ
	               |	ЗапасыОстатки.Номенклатура КАК Номенклатура,
	               |	ЗапасыОстатки.Характеристика КАК Характеристика,
	               |	ЗапасыНаСкладахОстатки.КоличествоОстаток - ЗапасыОстатки.КоличествоОстаток КАК Остаток
	               |ИЗ
	               |	РегистрНакопления.Запасы.Остатки(
	               |			        &Дата,
	               |			        Номенклатура = &Номенклатура
	               |				И Характеристика = &Характеристика
	               |				И ЗаказПокупателя <> &ПустойЗаказПокупателя) КАК ЗапасыОстатки
	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыНаСкладах.Остатки(
	               |				&Дата,
	               |				Номенклатура = &Номенклатура
	               |					И Характеристика = &Характеристика) КАК ЗапасыНаСкладахОстатки
	               |		ПО ЗапасыОстатки.Номенклатура = ЗапасыНаСкладахОстатки.Номенклатура
	               |			И ЗапасыОстатки.Характеристика = ЗапасыНаСкладахОстатки.Характеристика
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ЗапасыОстатки.Номенклатура,
	               |	ЗапасыОстатки.Характеристика,
	               |	ЗапасыНаСкладахОстатки.КоличествоОстаток - ЗапасыОстатки.КоличествоОстаток
Показать


Насколько это верно?

Но есть, например, документ Резервирование запасов, который проводится по другому регистру.
В связи с этим вопрос и возник.
3. pss1985 3 22.03.12 13:05 Сейчас в теме
Регистр ТоварыВРезервеНаСкладах
6. holidayinthesun 22.03.12 13:53 Сейчас в теме
Понял, что соединение должно быть наоборот, так получается, что если номенклатура не зарезервирована, но есть на складе, она не попадет в выборку.
7. basicm 22.03.12 14:49 Сейчас в теме
(6) смотрите отчет "АнализЗаказовПокупателей" колонка "ЗарезирвированоНаСкладе"
holidayinthesun; +1 Ответить
8. holidayinthesun 22.03.12 17:24 Сейчас в теме
(7) basicm, Спасибо, видимо, мой запрос верный = ))
9. basicm 22.03.12 17:36 Сейчас в теме
(8) я бы внимательно подумал зачем тут вот это "ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыНаСкладах"
10. holidayinthesun 25.03.12 23:09 Сейчас в теме
(9) basicm, Я в итоге написал наоборот:
 ВЫБРАТЬ
	               |	ЗапасыОстатки.Номенклатура КАК Номенклатура,
	               |	ЗапасыОстатки.Характеристика КАК Характеристика,
	               |	ЗапасыНаСкладахОстатки.КоличествоОстаток - ЗапасыОстатки.КоличествоОстаток КАК Остаток
	               |ИЗ
	               |	РегистрНакопления.ЗапасыНаСкладах.Остатки(
	               |			&Дата,
	               |			Номенклатура = &Номенклатура
	               |				И Характеристика = &Характеристика) КАК ЗапасыНаСкладахОстатки
	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Остатки(
	               |				&Дата,
	               |				Номенклатура = &Номенклатура
	               |					И Характеристика = &Характеристика
	               |					И ЗаказПокупателя <> &ПустойЗаказПокупателя) КАК ЗапасыОстатки
	               |		ПО ЗапасыОстатки.Номенклатура = ЗапасыНаСкладахОстатки.Номенклатура
	               |			И ЗапасыОстатки.Характеристика = ЗапасыНаСкладахОстатки.Характеристика
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ЗапасыОстатки.Номенклатура,
	               |	ЗапасыОстатки.Характеристика,
	               |	ЗапасыНаСкладахОстатки.КоличествоОстаток - ЗапасыОстатки.КоличествоОстаток
Показать


То есть если товар есть на складе, то посмотрим его резерв и получим остаток на складах.
11. vigo67 30.03.12 15:16 Сейчас в теме
Я вот так делал, вроде работает

ВЫБРАТЬ
	Остатки.Номенклатура КАК Номенклатура,
	Остатки.Характеристика КАК Характеристика,
	Остатки.ЗаказПокупателя,
	СУММА(Остатки.КоличествоОстаток) КАК Остаток,
	СУММА(ВЫБОР
			КОГДА Остатки.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
				ТОГДА 0
			ИНАЧЕ Остатки.КоличествоОстаток
		КОНЕЦ) КАК Резерв,
	СУММА(Остатки.КоличествоОстаток - ВЫБОР
			КОГДА Остатки.ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
				ТОГДА 0
			ИНАЧЕ Остатки.КоличествоОстаток
		КОНЕЦ) КАК СвободныйОстаток
ИЗ
	РегистрНакопления.Запасы.Остатки(&Период, ) КАК Остатки

Показать
12. iret 01.04.12 19:24 Сейчас в теме
(11) vigo67, а если использовать документ Резервирование запасов,
то резерв не учитывается, как быть в этом случае?
13. vigo67 02.04.12 09:38 Сейчас в теме
Резервирование запасов тоже ссылается на Заказ покупателя. В моей конторе этот документ не используют, подробно его не изучал. Вопрос в теме был "Откуда берутся данные по резерву в форме подбора", я и привел кусок запроса из формы подбора. Там именно так прописано. Я сам тоже долго искал каким образом в этой форме анализируется резерв.
Если нужно могу привести весь текст запроса.
14. holidayinthesun 02.04.12 13:53 Сейчас в теме
(13) vigo67, не могли бы вы сказать, как нашли это через форму подбора?
Я данные взял из отчета Анализ заказов покупателей.
15. vigo67 02.04.12 15:29 Сейчас в теме
Ставим точку останова в Процедуре ПриСозданииНаСервере в ФормеПодбора. Из любого документа открываем подбор.
При останове программы смотрим переменную СписокЗапасов.ТекстЗапроса. Вот в ней и храниться запрос по резерву и свободному остатку. Если найдешь как он туда попал, поделись. У меня времени не было докопаться до источника.
16. iret 02.04.12 21:12 Сейчас в теме
Сегодня сделала запрос, только немного другой, мне надо было в документе при выборе характеристики знать резерв и остаток по каждой характеристики этой номенклатуры. Спасибо вам всем очень помогло.
Заметила еще одну вещь в форме подбора существуют (не у каждой номенклатуры) еще дополнительно характеристики, правда когда я ее открываю для редактирования она ссылается на номенклатуру "основная группа".
Как можно узнать что это за номенклатура и откуда данные по ней(причем резерв тоже проходит) в отчетах ее нет и движений этой характеристики тоже, появляется именно в форме подбора.
Оставьте свое сообщение

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