Для того чтобы организовать торговлю в Интернет-магазине компании потребуется наличие всего одного Менеджера, контролирующего процесс автоматической работы магазина как из офиса компании, так и из любого места в Сети.
Каталог прайсов интернет магазинов - разместите свой прайс бесплатно
  Главная  |    О компании  |    Новости  |    Статьи  |    Форум  |    Клиенты  |    Обратная связь  |    Карта сайта
Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Запомнить
Пароль
   
Форум
 Программа iNETsHOP » Работа с программой
        UAH и USD одновременно!!!
Первая страница 1 2 » Последняя страница
UAH и USD одновременно!!!

22.07.2013 16:30

tehnoreal


Пользователь iNETsHOP

Количество сообщений   8
Зарегистрирован:   06-12-2012, 18:26:18
Отображение цен в UAH и USD одновременно
Добрый день!
Как сделать одновременное отображение UAH и USD одного товара, учитывая что товары имеют разные формулы наценки?

Обозначения:
1) "Цена продажи №1" - цена в USD;
2) "Цена продажи №3" - цена в UAH;
3) "курс" - курс USD к UAH;

Пример:

"Цена продажи №3" = "Цена продажи №1" * "курс".
Пользователь оффлайн Распечатать
 

22.07.2013 16:41

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Рассчет цен №1-№3 производится по одному и тому же алгоритму, от цены закупки товара у поставщика. Т.е. цены продажи зависят только от цены закупки и формулы наценки, и никак не взаимосвязаны между собой.

Вы имеете возможность в окне "Администрирование" на закладке "Пользовательские запросы" добавить скрипт для расчета цены №3. Он может работать как на все товары, так и на выделенные товары в таблице товаров в справочнике.
Пользователь оффлайн Распечатать
 

22.07.2013 17:49

tehnoreal


Пользователь iNETsHOP

Тема начата

Количество сообщений   8
Зарегистрирован:   06-12-2012, 18:26:18
Можно маленький пример. А то не получается.
Скриншот моей работы прикреплён в этом сообщении.
Прикрепленные файлы
query.jpg   ( 19 Просмотров | 92 KB )
Пользователь оффлайн Распечатать
 

22.07.2013 18:15

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Добавленный вами скрипт не зависит от справочников и таблиц. При вызове будет выполнен SQL-скрипт независимо от открытого справочника и/или выбраных строк какой-либо таблицы.

Если вы хотите одним вызовом пересчитать все цены №3 в товарах, товам лучше всего создать курсор на набор записей

SELECT G_ID FROM TBL_GOODS

и в цикле по всему набору для каждой строки выполнить например следующее изменение цены №3

UPDATE TBL_GOODS SET price3=price*8.2 WHERE G_ID = @G_ID, где 8.2 - пример курса USD, @G_ID - код товара полученный из курсора

Почему обновление лучше делать в курсоре? Да потому, что это не создаст нагрузку на подсистему логирования (которая при большом количестве обновляемых строк может сильно тормозить) и не будет одной общей транзакции, т.е. в момент запуска пересчета цены пользователи не будут заблокированы.
Пользователь оффлайн Распечатать
 

23.07.2013 12:26

tehnoreal


Пользователь iNETsHOP

Тема начата

Количество сообщений   8
Зарегистрирован:   06-12-2012, 18:26:18
Создал переменную запроса (PriceUA), как её использовать в программе,
мой скрипт:

Код
DECLARE @IdPriceUSD CURSOR
SET @IdPriceUSD = CURSOR LOCAL SCROLL FOR
SELECT G_ID FROM TBL_GOODS

OPEN @IdPriceUSD

FETCH NEXT FROM @IdPriceUSD
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE TBL_GOODS SET price3 = price * 8.17 WHERE G_ID = @IdPriceUSD

FETCH NEXT FROM @IdPriceUSD
END
CLOSE @IdPriceUSD
DEALLOCATE @IdPriceUSD


Скриншот прилагается
Прикрепленные файлы
queryCursor.jpg   ( 8 Просмотров | 124.7 KB )
Пользователь оффлайн Распечатать
 

23.07.2013 13:15

Admin


Администратор


Количество сообщений   135
Зарегистрирован:   23-08-2007, 09:03:21
У вас неверный код. Скрипт должен выглнядеть приблизительно так:

Код

DECLARE @GID int;
DECLARE gGoods CURSOR LOCAL FOR
SELECT G_ID FROM TBL_GOODS
WHERE price3 <> price * 8.17;

OPEN gGoods;

FETCH NEXT FROM gGoods INTO @GID;
WHILE (@@FETCH_STATUS <> -1)
BEGIN

UPDATE TBL_GOODS SET price3 = price * 8.17 WHERE G_ID = @GID;
FETCH NEXT FROM gGoods INTO @GID;
END;
CLOSE gGoods;
DEALLOCATE gGoods;


Перед выполнением/запуском скрипта дайте нужным пользователям полномочия для этого.

Запустить скрипт на выполнение можно из основного окна в меню пользовательских скриптов (скриншот прилагается)

Так же можно создать переменную для ввода курса валюты перед выполнением данного SQL-запроса, или переделать его только на запуск по выделенным товарам в справочнике товаров.









Прикрепленные файлы
user_queries_technoreal_1.jpg   ( 10 Просмотров | 101 KB )
user_queries_technoreal_2.jpg   ( 7 Просмотров | 48 KB )
user_queries_technoreal_3.jpg   ( 9 Просмотров | 41.7 KB )
Пользователь оффлайн Распечатать
 

23.07.2013 14:06

tehnoreal


Пользователь iNETsHOP

Тема начата

Количество сообщений   8
Зарегистрирован:   06-12-2012, 18:26:18
После окончания выполнения запроса выскакивает окошко с ошибкой "Parameter ID not found."
В чём может быть причина?

Скриншот прилагается.
Прикрепленные файлы
errorQueryCursor.jpg   ( 8 Просмотров | 254.2 KB )
Пользователь оффлайн Распечатать
 

23.07.2013 16:13

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Какой тип SQL-запроса вы указали при его создании? Параметр :ID используется для вызова SQL-запросов для вібраніх строк в таблицах интерфейса. В него передаётся первичный ключ основной таблицы базы данных из которой формируется отображаемый рекорд-сет в интерфейса. Т.е. если делать запрос для таблицы товаров "справочника товаров", то в параметр :ID будет передан первичный ключ таблицы TBL_GOODS.G_ID. У вас же, запрос не зависит от выбранных товаров и какого-либо открытого откна, он просто вызывается и что-то делает, потому в настройках этого запроса нужно указать тип "Общий"

Так же такая ошибка наблюдалась в начальных версиях данного механизма когда тип "Общий" воспринимался как зависимый от выбранных строк. Обновите версию программы и базы данных.
Пользователь оффлайн Распечатать
 

23.07.2013 16:23

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Или добавьте в начало запроса пустой параметр ID

Код

DECLARE @ID int;
SET @ID = :ID;


После этого не забудьте добавить параметр в таблицу параметров запроса (справа от поля редактирования)


Пользователь оффлайн Распечатать
 

23.07.2013 18:58

MaXX


Пользователь iNETsHOP


Количество сообщений   64
Зарегистрирован:   11-11-2008, 04:35:57
Фича супер! Давно хотел попробовать да руки не доходили. Такой расчет я бы лучше добавил в триггер чтоб не запускать каждый раз.
Пользователь оффлайн Распечатать
 

23.07.2013 19:27

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Есть масса вариантов для запуска и выполнения такого расчета:

  • триггер
  • скрипт в SQL Query Analyzer
  • вызов в скрипте VBScript, PHP, ASP, и.т.п.
  • создание мелкой программы на любом языке который умеет работать с MS SQL, OleDB, ODBC, и.т.д
  • запуск из интерфейса программы iNETsHOP


У каждого из этих способов есть свои плюсы и минусы, но зато из интерфейса можно запустить скрипт по выделенным (выбранным) строкам в таблице.
Пользователь оффлайн Распечатать
 

25.07.2013 12:10

tehnoreal


Пользователь iNETsHOP

Тема начата

Количество сообщений   8
Зарегистрирован:   06-12-2012, 18:26:18
Обновил версию программы и базу данных, ошибка исчезла.
Огромное спасибо за помощь!

P.S.
Тему можно закрывать.
Пользователь оффлайн Распечатать
 

25.07.2013 14:25

MaXX


Пользователь iNETsHOP


Количество сообщений   64
Зарегистрирован:   11-11-2008, 04:35:57
Пользовательский запрос по выбраным товарам
А если мне не нужно по всем товарам а токо те которые выделил в табличке, как лучше сделать?
Пользователь оффлайн Распечатать
 

25.07.2013 18:35

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Пример работы пользовательского SQL-запроса по выделенным товарам
Настройка такого запроса выглядит приблизительно так:


Т.е. в запрос передается переменная первичного ключа :ID, которая для такблицы товаров справочника товаров соответствует полю TBL_GOODS.G_ID. Вторая числовая переменная - сам курс, который нужно ввести перед запуском.

Запрос, который выполняется для каждой выделенной(помеченой) строки должен находиться на закладке "Основной". Так же должен быть указан соответствующий тип самого SQL-запроса, в данном случае "Справочник товаров : Товары".

Так же не забываем полномочия пользователей на запуск и выполнение скриптов.



Сам SQL-запрос с настройками можно скачать в новом разделе "Пользовательские SQL-запросы": SQL-Запрос по выделенным товарам
Пользователь оффлайн Распечатать
 

12.11.2013 19:25

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Помогите разобраться, на некоторых позициях не получается задать цену в гривне ((( Если я выполняю запрос, база показывает значок запроса, но ничего не изменяется и там где не было цен они не появляются, а также не получается обновить цены если курс изменился. Если я наступаю на какую то позицию и ввожу ее код (G_ID) выдает ошибку. См. print screen.
Прикрепленные файлы
ошибка.jpg   ( 4 Просмотров | 330.2 KB )
цена в гривне.jpg   ( 3 Просмотров | 401.5 KB )
Пользователь оффлайн Распечатать
 

Распечатать  |  Следующая тема  |  Предыдущая тема
Перейти
Первая страница 1 2 » Последняя страница  

Статистика форума
Тем: 506, Сообщений: 3222, Пользователей: 2257
Приветствуем новичка по имени ololuev
Ближайшие дни рождения
SilVerStoRm (95), Admin (95), DEN (95), rollarr (95), starling (95), AVPult (95), segment (95), Kalmikov_ae (95), jack (95), hauschka (95), kliev (95), kalmikov (95), folgat (95), TeleMarket (95), support (95), Serg (95), Romeo (95), vaso1980 (95), lover (95), vsedlyadoma (95), Sleemboy (95), Shugert (95), grandstore (95), Uma (95), azarik (95), MaXX (95), D_KART (95), podlets (95), Virg (95), tv84 (95), Kooperator (95), shkiper (95), sergey-v (95), Vander (95), Nil (95), timbusel (95), phantom (95), Alex (95), tdd (95), SergSova (95), texnoua (95), Romaninjo (95), stihin (95), boss (95), otchet (95), dimon (95), PriceList (95), soft (95), eps (95), ignand (95), nikprop (95), КИТ (95), Magazintehniki (95), tavruxa (95), 260277 (95), farsagh (95), endry (95), dubruh (95), slaviq (95), plazmatex (95), Oganesova-O (95), slavic (95), elmir (95), newtorg (95), Ant_Z (95), Fotoshop.ua (95), SSD (95), prodact (95), jasmine (95), technika (95), rupert (95), dominion (95), nextgame (95), ilya (95), ToShoNado (95), delphin (95), tanya1 (95), melcheg (95), slamft (95), compfriends (95), androffka (95), svict (95), rudenko (95), zadoran (95), roma_tit (95), tehnoreal (95), koleso2000 (95), gp-service (95), mora-85 (95), Bikemaniac (95), cifrosvit (95), autoshiny (95), genyaan (95), elena_rudenko (95), Chiter (95), avtv (95), simka (95), aeron (95), dem4ikmag (95), reddimonus (95), Klymchuck (95), maxtelt (95), vikarenko (95), vasiliadi (95), nizhnapani (95), kiriltyre1 (95), Ygane (95), Helica (95), olegkupiteh (95), asteriatreyd (95), sonic1978 (95), Denndy (95), megabaza (95), foxit (95), deniska312 (95), sage (95), vint19781 (95), giv4ik90 (95), ardemish (95), pukh1 (95), migomag (95), evgen.romanov (95), alena_eps (95), Sanctus (95), magnalion (95), hydobaru7 (95), ya-alex (95), bigs (95), sanych_81 (95), sales (95), luckylink (95), ma-shyna (95)


iNETsHOP - программа для формирования каталога товаров интернет-магазина и обработки прайсов Copyright 2007-2015 "Программа iNETsHOP - работа с прайс-листами поставщиков для интернет магазинов ®" iNETsHOP - обработка, объединение, анализ прайсов поставщиков и конкурентов