|
УНФ 1.5. Склад. Учет по розничным ценам. | ☑ | ||
---|---|---|---|---|
0
Ychenik1c
09.11.16
✎
04:33
|
Здравствуйте. В базе есть несколько складов. Реализация проходит только с одного из складов. Необходимо чтобы на нем учитывался товар только по розничным ценам и остатки было видно на складе кладавщику в розничных ценах. Такого отчета в УНФ не нашел. Сделал свой. Цену брал последнию. Закрыли один месяц все правильно пошло. Но во втором месяце цены на некоторые товары зменились и поменялась сумма остатков на начало месяц. Подскажите есть ли возможность учитывать на одном из складов товары по розничным ценам?
|
|||
1
Ychenik1c
12.11.16
✎
12:17
|
Отчет сделал, но есть нюансы изза которых не правильно показываются данные:
1. Если у товара остатки на начало и конец месяца были равны нулю, а в течении месяца какое количество товара пришло тоже самое количество и ушло, но товар не попадает в отчет - из за не идет сумма прихода и расхода за месяц. 2. Если товара не оказалось на конец месяца, то и цена на конец месяца из регистра не попадает в отчет, но эта цена должна показываться, так как из её рассчитывается сумма прихода и расхода. Подскажите может в запросе что то сделал не так? http://i84.fastpic.ru/big/2016/1112/2f/1f7c7ea6e66dea6715e540f2fd70802f.jpg [spoiler] ВЫБРАТЬ ЗапасыОстаткиНачало.Номенклатура, ЦеныНоменклатурыСрезПоследнихНачало.Цена КАК ЦенаНач, ЗапасыОстаткиНачало.КоличествоОстаток КАК КоличествоОстатокНач, ЦеныНоменклатурыСрезПоследнихНачало.Цена * ЗапасыОстаткиНачало.КоличествоОстаток КАК СуммаОстатокНач ПОМЕСТИТЬ ВТ_Нач ИЗ РегистрНакопления.Запасы.Остатки(&ДатаНач {(&ДатаНач)}, ) КАК ЗапасыОстаткиНачало ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач {(&ДатаНач)}, ) КАК ЦеныНоменклатурыСрезПоследнихНачало ПО ЗапасыОстаткиНачало.Номенклатура = ЦеныНоменклатурыСрезПоследнихНачало.Номенклатура ГДЕ ЦеныНоменклатурыСрезПоследнихНачало.ВидЦен = &ВидЦен И ЗапасыОстаткиНачало.СтруктурнаяЕдиница = &СтруктурнаяЕдиница СГРУППИРОВАТЬ ПО ЦеныНоменклатурыСрезПоследнихНачало.Цена, ЗапасыОстаткиНачало.Номенклатура, ЗапасыОстаткиНачало.КоличествоОстаток ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗапасыОстаткиКонец.Номенклатура, ЦеныНоменклатурыСрезПоследнихКонец.Цена КАК ЦенаКон, ЗапасыОстаткиКонец.КоличествоОстаток КАК КоличествоОстатокКон, ЦеныНоменклатурыСрезПоследнихКонец.Цена * ЗапасыОстаткиКонец.КоличествоОстаток КАК СуммаОстатокКон ПОМЕСТИТЬ ВТ_Кон ИЗ РегистрНакопления.Запасы.Остатки(&ДатаКон {(&ДатаКон)}, ) КАК ЗапасыОстаткиКонец ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон {(&ДатаКон)}, ) КАК ЦеныНоменклатурыСрезПоследнихКонец ПО ЗапасыОстаткиКонец.Номенклатура = ЦеныНоменклатурыСрезПоследнихКонец.Номенклатура ГДЕ ЦеныНоменклатурыСрезПоследнихКонец.ВидЦен = &ВидЦен И ЗапасыОстаткиКонец.СтруктурнаяЕдиница = &СтруктурнаяЕдиница СГРУППИРОВАТЬ ПО ЦеныНоменклатурыСрезПоследнихКонец.Цена, ЗапасыОстаткиКонец.Номенклатура, ЗапасыОстаткиКонец.КоличествоОстаток ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(ВТ_Нач.Номенклатура, ВТ_Кон.Номенклатура) КАК Номенклатура, ВТ_Нач.ЦенаНач КАК ЦенаНач, ВТ_Нач.КоличествоОстатокНач КАК КоличествоОстатокНач, ВТ_Кон.ЦенаКон КАК ЦенаКон, ВТ_Кон.КоличествоОстатокКон КАК КоличествоОстатокКон, ВТ_Кон.СуммаОстатокКон КАК СуммаОстатокКон, ВТ_Нач.СуммаОстатокНач КАК СуммаОстатокНач ПОМЕСТИТЬ ВТ_Всё ИЗ ВТ_Нач КАК ВТ_Нач ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Кон КАК ВТ_Кон ПО ВТ_Нач.Номенклатура = ВТ_Кон.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Всё.Номенклатура, ВТ_Всё.ЦенаНач, ВТ_Всё.КоличествоОстатокНач, ВТ_Всё.СуммаОстатокНач, ЗапасыОбороты.КоличествоПриход, ЗапасыОбороты.КоличествоРасход, ВТ_Всё.ЦенаКон, ВТ_Всё.КоличествоОстатокКон, ВТ_Всё.СуммаОстатокКон, ВТ_Всё.ЦенаКон * ЗапасыОбороты.КоличествоПриход КАК СуммаПриход, ВТ_Всё.ЦенаКон * ЗапасыОбороты.КоличествоРасход КАК СуммаРасход ИЗ ВТ_Всё КАК ВТ_Всё ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Обороты(&ДатаНач, &ДатаКон, , СтруктурнаяЕдиница = &СтруктурнаяЕдиница) КАК ЗапасыОбороты ПО ВТ_Всё.Номенклатура = ЗапасыОбороты.Номенклатура [/spoiler] |
|||
2
Злопчинский
12.11.16
✎
13:59
|
Ты уже определить
Тебе остатки нужны иди и остатки и обоооты |
|||
3
Ychenik1c
12.11.16
✎
15:00
|
Сделал так, но теперь что то не понятное получаю.
ВЫБРАТЬ ЗапасыОстаткиИОборотыНач.Номенклатура, ЦеныНоменклатурыСрезПоследнихНач.Цена КАК ЦенаНач, ЗапасыОстаткиИОборотыНач.КоличествоНачальныйОстаток КАК КоличествоНач, ЦеныНоменклатурыСрезПоследнихНач.Цена * ЗапасыОстаткиИОборотыНач.КоличествоНачальныйОстаток КАК СуммаНач ПОМЕСТИТЬ ВТ_Нач ИЗ РегистрНакопления.Запасы.ОстаткиИОбороты(&ДатаНач {(&ДатаНач)}, &ДатаКон, , , ) КАК ЗапасыОстаткиИОборотыНач ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач {(&ДатаНач)}, ) КАК ЦеныНоменклатурыСрезПоследнихНач ПО ЗапасыОстаткиИОборотыНач.Номенклатура = ЦеныНоменклатурыСрезПоследнихНач.Номенклатура ГДЕ ЗапасыОстаткиИОборотыНач.СтруктурнаяЕдиница = &СтруктурнаяЕдиница И ЦеныНоменклатурыСрезПоследнихНач.ВидЦен = &ВидЦен СГРУППИРОВАТЬ ПО ЗапасыОстаткиИОборотыНач.Номенклатура, ЦеныНоменклатурыСрезПоследнихНач.Цена, ЗапасыОстаткиИОборотыНач.КоличествоНачальныйОстаток ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗапасыОстаткиИОборотыКон.Номенклатура, ЦеныНоменклатурыСрезПоследнихКон.Цена КАК ЦенаКон, ЗапасыОстаткиИОборотыКон.КоличествоНачальныйОстаток КАК КоличествоКон, ЦеныНоменклатурыСрезПоследнихКон.Цена * ЗапасыОстаткиИОборотыКон.КоличествоНачальныйОстаток КАК СуммаКон ПОМЕСТИТЬ ВТ_Кон ИЗ РегистрНакопления.Запасы.ОстаткиИОбороты(&ДатаНач, &ДатаКон {(&ДатаКон)}, , , ) КАК ЗапасыОстаткиИОборотыКон ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон {(&ДатаКон)}, ) КАК ЦеныНоменклатурыСрезПоследнихКон ПО ЗапасыОстаткиИОборотыКон.Номенклатура = ЦеныНоменклатурыСрезПоследнихКон.Номенклатура ГДЕ ЗапасыОстаткиИОборотыКон.СтруктурнаяЕдиница = &СтруктурнаяЕдиница И ЦеныНоменклатурыСрезПоследнихКон.ВидЦен = &ВидЦен СГРУППИРОВАТЬ ПО ЗапасыОстаткиИОборотыКон.Номенклатура, ЦеныНоменклатурыСрезПоследнихКон.Цена, ЗапасыОстаткиИОборотыКон.КоличествоНачальныйОстаток ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(ВТ_Нач.Номенклатура, ВТ_Кон.Номенклатура) КАК Номенклатура, ВТ_Нач.ЦенаНач, ВТ_Нач.КоличествоНач, ВТ_Нач.СуммаНач, ВТ_Кон.ЦенаКон, ВТ_Кон.КоличествоКон, ВТ_Кон.СуммаКон ПОМЕСТИТЬ ВТ_Всё ИЗ ВТ_Нач КАК ВТ_Нач ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Кон КАК ВТ_Кон ПО ВТ_Нач.Номенклатура = ВТ_Кон.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Всё.Номенклатура, ВТ_Всё.ЦенаНач, ВТ_Всё.КоличествоНач, ВТ_Всё.СуммаНач, ЗапасыОбороты.КоличествоПриход, ЗапасыОбороты.КоличествоРасход, ВТ_Всё.ЦенаКон, ВТ_Всё.КоличествоКон, ВТ_Всё.СуммаКон ИЗ ВТ_Всё КАК ВТ_Всё ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Обороты(&ДатаНач, &ДатаКон, , ) КАК ЗапасыОбороты ПО ВТ_Всё.Номенклатура = ЗапасыОбороты.Номенклатура |
|||
4
Ychenik1c
12.11.16
✎
17:41
|
Если смотреть первый вариант запроса я там из остатков получаю остатки на начало и конец месяца, а из оборотов движение внутри месяца. Может у меня там связь не правильно настроена.
|
|||
5
Ychenik1c
18.11.16
✎
05:06
|
Отчет сделал. Но он не учитывает меняющуюся цену. К примеру один товар может быть с разных партий с разной ценой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |