Вот шаблон таблицы (чтобы было понятно о чем речь):
Базовый период
| Товар | Разница |
Сравниваемый период
| |||||
Сумма
|
Рентабельность
|
Наценка
|
Рентабельность
|
Наценка
|
Сумма
|
Рентабельность
|
Наценка
|
Вот тут я и поймал глюк: когда делается второй запрос в этом отчете, если не было продаж по этому товару, то данные во втором запросе копируются из первого.
К примеру, некий товар "Снеки" продавался в первом периоде, но не продавался во втором: отчет покажет что он продавался в обоих периодах и с одними и теми же суммой, наценкой, рентабельностью. Что не есть правильно.
Предполагаю что 1С не обнуляет sql результат, пробовал перед выполнением второго запроса:
Запрос = 0; //Тупо обнулить запросЗапрос.Выгрузить(ТЗ); //сначала выгрузить в Таблицу Значений, а затем обработать
ничего не помогло.Пришлось делать через регистры
Запрос2 = СоздатьОбъект("Регистр.Наценка");//Устанавливаем фильтр по клиенту/продавцуЗапрос2.УстановитьФильтр(?(ВыбКлиент.Выбран() = 1,ВыбКлиент,""),?(ВыбПродавец.Выбран() = 1,ВыбПродавец,""));Запрос2.ВыбратьДвижения(НачСрав,КонСрав);//ну а дальше заносим данные в таблицу
Серёг, только правильнее писать "маржа"... И табличка к сожалению в формат странички не влезла, срезалась в конце.
ОтветитьУдалитьв табличке и так шрифт -3 выставил, все равно не влазит, за маржу спасибо, поправлю :)
ОтветитьУдалить