Работа с конструктором запроса в 1С
Всем привет!
У меня возник к вам вопрос по работе с конструктором запроса.
У меня имеется документ "Инвентаризация продукции в торговом зале"
Хочется получится остаток продукции в зале на данный момент.
Логика в моей самописной конфигурации такова.
1)Поступление;
2)Передача в торг.зал;
3)Реализация;
4)Инвентаризация;
Документы (1) и (2) имеют один Рег.Накопления.
(1) тип движения - приход; (2) тип движения - расход;
(3) тип движения - расход;
---------------------------------------------------------------------------------------------------------
Создал в документе кнопку по подбору остаткам в зале.
Пока что получил количество проданное.
Как получить мне количество остатка продукции?
Всем заранее спасибо.
У меня возник к вам вопрос по работе с конструктором запроса.
У меня имеется документ "Инвентаризация продукции в торговом зале"
Хочется получится остаток продукции в зале на данный момент.
Логика в моей самописной конфигурации такова.
1)Поступление;
2)Передача в торг.зал;
3)Реализация;
4)Инвентаризация;
Документы (1) и (2) имеют один Рег.Накопления.
(1) тип движения - приход; (2) тип движения - расход;
(3) тип движения - расход;
---------------------------------------------------------------------------------------------------------
Создал в документе кнопку по подбору остаткам в зале.
Пока что получил количество проданное.
Как получить мне количество остатка продукции?
Всем заранее спасибо.
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(4) Значит Вы не верно пользуетесь регистром накопления ) пересмотрите логику движений в соответствии с реальными движениями документа ()
(1)
а реализация это 100% Расход
(1)
(1) тип движения - приход; (2) тип движения - расход;
вот тут косяк - это не совсем расход, а опять же таки в зависимости от измерения (обычно это склад или МОЛ) поэтому это перемещение по факту - т.е. где то расход, а где то Приход
а реализация это 100% Расход
(6)
1)Поступление
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ПриходПродукции Приход
Движения.ПриходПродукции.Записывать = Истина;
Для Каждого ТекСтрокаПрайсЛист Из ПрайсЛист Цикл
Движение = Движения.ПриходПродукции.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Ответственный = Ответственный;
Движение.МестоХранения = СкладХранения;
Движение.Продукция = ТекСтрокаПрайсЛист.Продукция;
Движение.ТипПродукции = ТекСтрокаПрайсЛист.ТипПродукции;
Движение.Фирма = ТекСтрокаПрайсЛист.Фирма;
Движение.ЕдиницаИзмерения = ТекСтрокаПрайсЛист.ЕдИзмерения;
Движение.Цена = ТекСтрокаПрайсЛист.Цена;
Движение.Количество = ТекСтрокаПрайсЛист.Количество;
Движение.Сумма = ТекСтрокаПрайсЛист.Сумма;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
2)Передача в зал
Движения.ПриходПродукции.Записывать = Истина;
Для Каждого ТекСтрокаСписокПродукции Из СписокПродукции Цикл
Движение = Движения.ПриходПродукции.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Ответственный = Ответственный;
Движение.МестоХранения = МестоХранения;
Движение.Продукция = ТекСтрокаСписокПродукции.Номенклатура;
Движение.ТипПродукции = ТекСтрокаСписокПродукции.ТипПродукции;
Движение.Фирма = ТекСтрокаСписокПродукции.Фирма;
Движение.ЕдиницаИзмерения = ТекСтрокаСписокПродукции.ЕдИзмерения;
Движение.Цена = ТекСтрокаСписокПродукции.Цена;
Движение.Количество = ТекСтрокаСписокПродукции.Количество;
Движение.Сумма = ТекСтрокаСписокПродукции.Сумма;
КонецЦикла;
3)Реализация
Движения.ПередачаРеализацииПродукции.Записывать = Истина;
Для Каждого ТекСтрокаПрайсЛист Из ПрайсЛист Цикл
Движение = Движения.ПередачаРеализацииПродукции.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Ответственный = Ответственный;
Движение.МестоХранения = МестоРеализации;
Движение.Продукция = ТекСтрокаПрайсЛист.Продукция;
Движение.ТипПродукции = ТекСтрокаПрайсЛист.ТипПродукции;
Движение.Фирма = ТекСтрокаПрайсЛист.Фирма;
Движение.ЕдиницаИзмерения = ТекСтрокаПрайсЛист.ЕдиницаИзмерения;
Движение.Цена = ТекСтрокаПрайсЛист.Цена;
Движение.Количество = ТекСтрокаПрайсЛист.Количество;
Движение.Сумма = ТекСтрокаПрайсЛист.Сумма;
КонецЦикла;
1)Поступление
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ПриходПродукции Приход
Движения.ПриходПродукции.Записывать = Истина;
Для Каждого ТекСтрокаПрайсЛист Из ПрайсЛист Цикл
Движение = Движения.ПриходПродукции.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Ответственный = Ответственный;
Движение.МестоХранения = СкладХранения;
Движение.Продукция = ТекСтрокаПрайсЛист.Продукция;
Движение.ТипПродукции = ТекСтрокаПрайсЛист.ТипПродукции;
Движение.Фирма = ТекСтрокаПрайсЛист.Фирма;
Движение.ЕдиницаИзмерения = ТекСтрокаПрайсЛист.ЕдИзмерения;
Движение.Цена = ТекСтрокаПрайсЛист.Цена;
Движение.Количество = ТекСтрокаПрайсЛист.Количество;
Движение.Сумма = ТекСтрокаПрайсЛист.Сумма;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
2)Передача в зал
Движения.ПриходПродукции.Записывать = Истина;
Для Каждого ТекСтрокаСписокПродукции Из СписокПродукции Цикл
Движение = Движения.ПриходПродукции.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Ответственный = Ответственный;
Движение.МестоХранения = МестоХранения;
Движение.Продукция = ТекСтрокаСписокПродукции.Номенклатура;
Движение.ТипПродукции = ТекСтрокаСписокПродукции.ТипПродукции;
Движение.Фирма = ТекСтрокаСписокПродукции.Фирма;
Движение.ЕдиницаИзмерения = ТекСтрокаСписокПродукции.ЕдИзмерения;
Движение.Цена = ТекСтрокаСписокПродукции.Цена;
Движение.Количество = ТекСтрокаСписокПродукции.Количество;
Движение.Сумма = ТекСтрокаСписокПродукции.Сумма;
КонецЦикла;
3)Реализация
Движения.ПередачаРеализацииПродукции.Записывать = Истина;
Для Каждого ТекСтрокаПрайсЛист Из ПрайсЛист Цикл
Движение = Движения.ПередачаРеализацииПродукции.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Ответственный = Ответственный;
Движение.МестоХранения = МестоРеализации;
Движение.Продукция = ТекСтрокаПрайсЛист.Продукция;
Движение.ТипПродукции = ТекСтрокаПрайсЛист.ТипПродукции;
Движение.Фирма = ТекСтрокаПрайсЛист.Фирма;
Движение.ЕдиницаИзмерения = ТекСтрокаПрайсЛист.ЕдиницаИзмерения;
Движение.Цена = ТекСтрокаПрайсЛист.Цена;
Движение.Количество = ТекСтрокаПрайсЛист.Количество;
Движение.Сумма = ТекСтрокаПрайсЛист.Сумма;
КонецЦикла;
Вам верно написали - сначала пропишите правильную архитектуру. Если смущают "минусы" - дополните проводки списывающих документов контролем остатка.
А уже после просто получайте остаток по регистру накопления.
Если хотите знать количество именно проданного товара - сделайте отдельно регистр оборотов "Продажи" и пропишите движения по нему у документа реализация.
А уже после просто получайте остаток по регистру накопления.
Если хотите знать количество именно проданного товара - сделайте отдельно регистр оборотов "Продажи" и пропишите движения по нему у документа реализация.
Конечно остатки вам надо учитывать в одном регистре а не в двух разных. А для учета продаж сделать отдельный регистр. Цена в регистре совершенно ни к чему. Место хранения у вас в приходе одно а в расходе другое, что тоже неверно, куда пришло, оттуда и должно списываться. Посмотрите как делаются движения в любой типовой конфигурации.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)