Средняя продажа. 1с 77, Торговля и Склад, Оптово-розничная конфигурация 7.70.941

Новая тема
Показывать по 10 20 40 сообщений
> Они скорее всего хотят сначала продавать товар который чаще расходится или наоборот! Вот для этого и нужен средний расход.

Это верно.
"Имхо, нужно всего лишь подправить запрос.
Знающим 1с77 людям это недолго, я и обращаюсь к знающим за помощью.
Исправьте, плиз, запрос, чтобы он выдавал расход.
А если точнее, то вот эта функция, которая в столбец в форме подбора возвращает неверно 0.
Функция shitHappends()
ssh=0;
Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Фирма = Регистр.ОстаткиТМЦ.Фирма,
|                 Регистр.РезервыТМЦ.Фирма;
|Док = Регистр.ОстаткиТМЦ.ТекущийДокумент,            
|                 Регистр.РезервыТМЦ.ТекущийДокумент;
|УпрАналитика = Регистр.ОстаткиТМЦ.Фирма.УпрАналитика,
|                 Регистр.РезервыТМЦ.Фирма.УпрАналитика;
|ЮрЛицо = Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо,
|                 Регистр.РезервыТМЦ.Фирма.ЮрЛицо;
|Номенклатура = ТекущийЭлемент(),Регистр.ОстаткиТМЦ.Номенклатура,Регистр.РезервыТМЦ.Номенклатура;
|СвойствоТМЦ = Регистр.ОстаткиТМЦ.Номенклатура.ОсновноеСвойство.ЗначениеСвойства,
|                 Регистр.РезервыТМЦ.Номенклатура.ОсновноеСвойство.ЗначениеСвойства;
|Склад = Регистр.ОстаткиТМЦ.Склад,            
|                 Регистр.РезервыТМЦ.Склад;
|Внутреннее     = Регистр.ОстаткиТМЦ.Внутреннее;";

ТекстЗапроса = ТекстЗапроса +
"Количество = Регистр.ОстаткиТМЦ.Количество;
|Резерв     = Регистр.РезервыТМЦ.Количество;
|Функция КоличествоНачОст       = НачОст(Количество);
|Функция КоличествоПриход       = Приход(Количество);
|Функция КоличествоРасход       = Расход(Количество);
|Функция КоличествоПриходВнутр  = Приход(Количество) когда ((Внутреннее = 1) и (Док.Вид() <> """"ПереоценкаРозница""""));
|Функция КоличествоРасходВнутр = Расход(Количество) когда ((Внутреннее = 1) и (Док.Вид() <> """"ПереоценкаРозница""""));
|Функция КоличествоПриходПереоц = Приход(Количество) когда (Док.Вид() = """"ПереоценкаРозница"""");
|Функция КоличествоРасходПереоц = Расход(Количество) когда (Док.Вид() = """"ПереоценкаРозница"""");
|Функция КоличествоКонОст   = КонОст(Количество);
|Функция РезервНачОст          = НачОст(Резерв);
|Функция РезервПриход       = Приход(Резерв);
|Функция РезервРасход           = Расход(Резерв);
|Функция РезервКонОст           = КонОст(Резерв);
|Группировка Номенклатура;
|"//}}ЗАПРОС
;


//Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
// Возврат;
//КонецЕсли;

Пока Запрос.Группировка(1) = 1 Цикл
ssh = Запрос.КоличествоРасход;
КонецЦикла;

Возврат ssh;

КонецФункции //

Кто знает, как исправить запрос, чтобы возвращался расход по товару за весь период?
Если за весь нельзя, то как за определенный период?"
Я может чего-то не понимаю, но если тебе нужны продажи товара за период, то зачем ты пытаешься переделать запрос к остаткам и резервам? Регистр продаж и анализ по нему чем не устраивает? Посмотри на инфостарте, наверняка там есть что-нибудь похожее на твою задачу.
Читают тему
(гостей: 1)

Быстрый переход