Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Добавить колонку "процент наценки" в бизнес анализе : Супермаг Плюс (Супермаг 2000)

22.11.2024 12:17


23.01.2018 13:11
Добрый день.
Подскажите, как можно добавить установленный % наценки на товар в бизнес анализе, если используемая модель не содержит такого поля?
Отчет построен на модели "Реализация в закупочных ценах по датам"
Задача стоит в следующем, видеть реальный процент по которому был продан товар и сверять его с установленным на товаре.
23.01.2018 15:44
Что-то у меня не выходит.
1. Создал функцию.
2. Добавил в отчет колонку с формулой "( SUPERMAG.EXTRACHARGE2({Карточка товара. Артикул},{Цена учетная места хранения. Код цены}) )"
Но при построении она у меня пустая выходит.
Может не подходит "модель" в которой у меня сам отчет построен?
23.01.2018 22:37
Цитата:
m1n1mal Что-то у меня не выходит.
1. Создал функцию.
2. Добавил в отчет колонку с формулой "( SUPERMAG.EXTRACHARGE2({Карточка товара. Артикул},{Цена учетная места хранения. Код цены}) )"
Так в описании функции по ссылке второй аргумент - код места хранения, а не код цены.
Попробуйте:
SUPERMAG.extracharge2({Карточка товара. Артикул},{Место хранения. Код места хранения})
24.01.2018 12:15
В данном случае выдает ошибку "неверное число"

Код:
2018.01.24 (Wednesday) 11:15:10 1.36.0.0 sp1  Sm.Main ( NANALY )
----- Прерывание работы программы -----
сообщение: "ORA-01722: неверное число"
исключение: Sm.Core.InteropException
hResult: 80040E07h; доп. код: 1722
источник: Microsoft OLE DB Provider for Oracle

----- Причина исключения, уровень вложения 1 -----
сообщение: "begin supermag.SMARunTemplate(2163); end;"
исключение: Sm.Core.InteropException
hResult: 80004005h; доп. код: 0
источник: SmLibaryBase trace
24.01.2018 12:21
Есть подозрение, что выбрали формат число или деньги для этого поля.
А функция возвращает значение строку (там присутствуют скобки).
Удалите это поле задачи и создайте новое с типом строка.
24.01.2018 13:05
Спасибо, действительно была проблема в строке. Поправил отчет построился.
Осталась одна проблема, если на товаре не установлен процент наценки, а установлен только на группу, данные в отчет не выводятся.
Пример:
24.01.2018 13:21
А так ?

SQL код:
supermag.extracharge2({Карточка товара. Артикул},{Место хранения. Код места хранения})|| '('||supermag.smgetextrachargeclass({Карточка товара. Артикул},{Цена учетная места хранения. Код цены})||')' 
24.01.2018 14:11
Ничего не изменилось, добавились только новые скобки.
24.01.2018 14:16
Функция по ссылке с ошибками. И к тому же в теории она должна выводить в скобках значения наценки для группы только если наценка для группы отличается от инд. наценки.
Для вас лучше исправленная функция, которая возвращает всегда инд и в скобках на группу.

SQL код:
CREATE OR REPLACE 
function extracharge2  ( p_a in varchar2, loc in integer )
    return varchar2
    is
        cl_name  varchar2(100) default null;
        cl_name2  varchar2(100) default null;
        pt  integer(3) default null;        
    begin
          select pricetype into pt from supermag.smlocprices where locid = loc and (bitand(flags, 2) = 2);
          select max(extracharge) into cl_name from supermag.smextracharge where article=p_a and pricetype = pt;
          return cl_name||'('||supermag.smgetextrachargeclass(p_a, pt)||')'; 
   end;
   /
   commit; 
Ну а в бизнес анализе - в формуле нужно писать:
SQL код:
SUPERMAG.extracharge2({Карточка товара. Артикул},{Место хранения. Код места хранения}) 
Часовой пояс GMT +3, время: 12:17.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.