Расчет средней цены запасов номенклатуры
1.
Гость
11.10.18 11:26
Добрый день. Нужно рассчитать среднюю цену запасов номенклатуры для документа перемещение (состав: табличная часть ->Номенклатура, Количество, Сумма). Есть так же документы приход и расход. В них устанавливается произвольная цена номенклатуры в каждом документе. Также есть последовательность "КонтрольСтоимостиЗапасовНаСкладах" возможно через запрос к последовательности можно получить эту среднюю цену. В общем надо получить среднюю цену и при изменении количества в документе перемещения, сумма получалось по формуле "средняяцена/количество". Помогите пожалуйста :)
По теме из базы знаний
- РАУЗ: составление уравнений для расчета себестоимости товаров в программе 1С:Управление торговлей, редакция 11
- Расчет средней стоимости по счету запасов (10.Х, 11.Х, 41.Х, 43.Х)
- Расчет себестоимости по средней: не так все просто, как кажется на первый взгляд
- Анализ цен за период. УТ 11
- Установка цен номенклатуры по себестоимости для корректного формирования отчетов в ценах себестоимости и работы интеркампани – УТ 11, КА 2, ЕРП 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| КонтрольСтоимостиЗапасовНаСкладах.Номенклатуры КАК Номенклатуры,
| КонтрольСтоимостиЗапасовНаСкладах.Склад КАК Склад,
| КонтрольСтоимостиЗапасовНаСкладах.Цена КАК Цена,
| КонтрольСтоимостиЗапасовНаСкладах.Количество КАК Количество,
| СУММА(КонтрольСтоимостиЗапасовНаСкладах.Цена) / СУММА(КонтрольСтоимостиЗапасовНаСкладах.Количество) КАК СредняяЦенаЗапасов
|ИЗ
| Последовательность.КонтрольСтоимостиЗапасовНаСкладах КАК КонтрольСтоимостиЗапасовНаСкладах
|
|СГРУППИРОВАТЬ ПО
| КонтрольСтоимостиЗапасовНаСкладах.Номенклатуры,
| КонтрольСтоимостиЗапасовНаСкладах.Склад,
| КонтрольСтоимостиЗапасовНаСкладах.Цена,
| КонтрольСтоимостиЗапасовНаСкладах.Количество";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
СтрокаТабличнойЧасти = ЭтаФорма.Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = Выборка.СредняяЦенаЗапасов * СтрокаТабличнойЧасти.Количество;
КонецПроцедуры
ПоказатьКод написанный на данный момент
Это решение
если нужна средняя цена из нескольких (где-то заданных цен), то надо Сумму цен / количество просуммированных цен
Это решение
(11)Вы сперва разберитесь со средней ценой. У вас в запросе не средняя цена, а средняя температура по больнице.
| СУММА(КонтрольСтоимостиЗапасовНаСкладах.Цена) / СУММА(КонтрольСтоимостиЗапасовНаСкладах.Количество) КАК
| СУММА(КонтрольСтоимостиЗапасовНаСкладах.Цена) / СУММА(КонтрольСтоимостиЗапасовНаСкладах.Количество) КАК
Это решение
(11)Еще пара моментов:
После Результат.Выбрать(), хорошо еще писать пока Выборка.Следущий()
Если вы хотите работать с конкретной строкой (на что указывает "ТекущиеДанные"), то стоит в запросе делать выборку только по параметрам строки, а не по всем записям за всю историю.
И всю эту кашу нужно писать не ПриСозданииНаСервере, а при изменении количества, вам же вроде так надо.
После Результат.Выбрать(), хорошо еще писать пока Выборка.Следущий()
Если вы хотите работать с конкретной строкой (на что указывает "ТекущиеДанные"), то стоит в запросе делать выборку только по параметрам строки, а не по всем записям за всю историю.
И всю эту кашу нужно писать не ПриСозданииНаСервере, а при изменении количества, вам же вроде так надо.
Это решение
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот