Анализ продаж от закупочных цен ТиС 9.2 (7.7)

Опубликовал Юрий Зайцев (Yury1001) в раздел Отчеты - Управленческие

В стандартный анализ продаж добавлена возможность заменять себестоимость товаров на значения цен любого типа.

Это позволяет получить значения прибыли, приближенные к реальным в случае плохого состояния регистра "Партии наличие" и, как следствие, себестоимости товаров в отчёте. А также можно оценить отклонения от базовой цены (например, розничной или оптовой), то есть сделанные скидки и/или дополнительные наценки.

 

Кратко поясню реализованный механизм:

На форму добавляется реквизит ВыбТипЦен.

Добавляется функция вычисления по типу цены:

Функция ПоТипуЦен(Номенклатура, Количество, ТекДок)
     Цена = глПолучитьЦену(Номенклатура, ВыбТипЦен, ТекДок.ДатаДок, Номенклатура.БазоваяЕдиница, Константа.ВалютаУпрУчета);
     Возврат Цена * Количество;
КонецФункции

 

В запросе отчета заменяются функции вычисления сумм стоимости:

Если ВыбТипЦен.Выбран() = 0 Тогда // стандартное вычисление
     ТекстЗапроса = ТекстЗапроса + "
     |Функция СуммаСебест      = Сумма(Себест);
     |Функция СуммаСебестВ     = Сумма(СебестВ);";
Иначе // расчёт по типу цены
     ТекстЗапроса = ТекстЗапроса + "
     |ТекДок     = Регистр.Продажи.ТекущийДокумент;
     |Функция СуммаСебест      = Сумма(ПоТипуЦен(Номенклатура, Количество, ТекДок));
     |Функция СуммаСебестВ     = Сумма(ПоТипуЦен(Номенклатура, КоличествоВ, ТекДок));";
КонецЕсли;

 

Подобным образом можно выполнять массу полезных вычислений в запросах, недостаток, пожалуй, только один: при использовании внешних функций в запросе сильно возрастает время его выполнения.

Скачать файлы

Наименование Файл Версия Размер
АнализПродаж.ert
.ert 215,00Kb
10.06.15
74
.ert 215,00Kb 74 Скачать

См. также

Комментарии
1. Эд Хз (Tatar_Ed) 03.03.14 10:59 Сейчас в теме
Полезная вещь. будем пробовать. автору спасибо. Особая благодарность за описание процесса реализации.
2. Эд Хз (Tatar_Ed) 22.04.14 16:23 Сейчас в теме
выдает ошибку.

//*******
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.АнализПродаж.Форма.Модуль(511)}: Функция СуммаСебест = Сумма(ПоТипуЦен(Номенклатура, Количество <<?>> , ТекДок));
Запрос[13] : Ошибка в выражении 'Количество'
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.АнализПродаж.Форма.Модуль(511)}: Функция СуммаСебестВ = Сумма(ПоТипуЦен(Номенклатура, КоличествоВ <<?>> , ТекДок));
Запрос[14] : Ошибка в выражении 'КоличествоВ'
3. Юрий Зайцев (Yury1001) 1417 22.04.14 16:58 Сейчас в теме
(2) Tatar_Ed, значит у вас не торговля и склад 9.2 для России
4. Эд Хз (Tatar_Ed) 24.04.14 10:40 Сейчас в теме
(3) уверен на все 100% у меня торговля и склад 9.2 и точно для России.
брал не готовый "Анализ", а пытаюсь сделать самостоятельно, по Вашей инструкции. Ну видать напутал что-то
5. Юрий Зайцев (Yury1001) 1417 24.04.14 11:07 Сейчас в теме
(4) Tatar_Ed, тогда в вашем отчете не хватает строки
КоличествоВ = Регистр.Продажи.КоличествоВ;
6. Эд Хз (Tatar_Ed) 29.04.14 11:24 Сейчас в теме
(5) Спасибо, буду пробовать.
7. Эд Хз (Tatar_Ed) 29.04.14 13:08 Сейчас в теме
теперь такая ошибка

КОЛИЧЕСТВО<<?>>
Переменная не определена (КОЛИЧЕСТВО)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.АнализПродаж.Форма.Модуль(517)}: Функция СуммаСебест = Сумма(ПоТипуЦен(Номенклатура, Количество <<?>> , ТекДок));
Запрос[13] : Ошибка в выражении 'Количество'

((((((((((((
8. Эд Хз (Tatar_Ed) 29.04.14 13:09 Сейчас в теме
КОЛИЧЕСТВО<<?>>
Переменная не определена (КОЛИЧЕСТВО)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.АнализПродаж.Форма.Модуль(517)}: Функция СуммаСебест = Сумма(ПоТипуЦен(Номенклатура, Количество <<?>> , ТекДок));
Запрос[13] : Ошибка в выражении 'Количество'
9. Эд Хз (Tatar_Ed) 29.04.14 13:12 Сейчас в теме
//********
КОЛИЧЕСТВО<<?>>
Переменная не определена (КОЛИЧЕСТВО)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.АнализПродаж.Форма.Модуль(517)}: Функция СуммаСебест = Сумма(ПоТипуЦен(Номенклатура, Количество <<?>> , ТекДок));
Запрос[13] : Ошибка в выражении 'Количество'
10. Эд Хз (Tatar_Ed) 10.05.14 20:35 Сейчас в теме
(5) Есть какие нибудь мысли?
11. Юрий Зайцев (Yury1001) 1417 11.05.14 12:04 Сейчас в теме
(10) Tatar_Ed, надо обработку и базу, а так никто не скажет, ну хотя бы скриншот.
12. Эд Хз (Tatar_Ed) 12.05.14 11:51 Сейчас в теме
(11) а скриншот чего? Кода или ошибки?
13. Юрий Зайцев (Yury1001) 1417 12.05.14 15:03 Сейчас в теме
Оставьте свое сообщение