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

22.01.2014 13:40

cifrosvit


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

Количество сообщений   24
Зарегистрирован:   14-01-2014, 15:57:17
Цитата
Написал: MaXX
Цитата
Написал: cifrosvit
А можно сделать чтобы его можно было использовать для всех товаров?


Добавьте условие проверки привязки IF EXISTS( SELECT * FROM TBL_SUPPLIERS_GOODS WHERE ...

И будет вам счастье.


Подскажите пожалуйста как это правильно сделать? Я к сожалению в скриптах не очень...

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

22.01.2014 13:43

cifrosvit


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

Тема начата

Количество сообщений   24
Зарегистрирован:   14-01-2014, 15:57:17
При проставлении приоритета поставщиков на товары возникают ошибки.
Пользователь оффлайн Распечатать
 

22.01.2014 15:28

support


Support


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

22.01.2014 18:13

MaXX


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


Количество сообщений   64
Зарегистрирован:   11-11-2008, 04:35:57
Цитата
Написал: cifrosvit
Цитата
Написал: MaXX
Цитата
Написал: cifrosvit
А можно сделать чтобы его можно было использовать для всех товаров?


Добавьте условие проверки привязки IF EXISTS( SELECT * FROM TBL_SUPPLIERS_GOODS WHERE ...

И будет вам счастье.


Подскажите пожалуйста как это правильно сделать? Я к сожалению в скриптах не очень...



Что именно сделать? Если вы вообще не ориентируетесь в T-SQL то читайте литературу которой полно. Наша беседа напоминает мне фразу "зделайте мне што-то сам не знаю что". Вы хотите чтобы за вас оценили структуру ваших данных, описали желаемую методику расчета цен и еще за вас же и написали скрипт?
Пользователь оффлайн Распечатать
 

23.01.2014 11:10

cifrosvit


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

Тема начата

Количество сообщений   24
Зарегистрирован:   14-01-2014, 15:57:17
Цитата
Написал: support
Без точного описания ваших действий и манипуляций никакого ответа дать невозможно, скорее всего у вас ошибка в SQL-запросе вычисления цены, который используется в приоритете поставщиков.


При назначении "Приоритета поставщика" на некоторые товары появляются ошибки.
Скриншоты во вложении.

В приоритах поставщика новая запись:

Тип расчёта цены: минимальная
Тип работы: SQL
SG_S_ID - ИД поставщика с Рекомендованной ценой.

Код


SET @Price = (SELECT price from TBL_SUPPLIERS_GOODS WHERE SG_G_ID = @G_ID AND SG_S_ID = 376);

SET @G_PRESENT = 0;

SET @S_ID = (SELECT TOP 1 SG_S_ID from TBL_SUPPLIERS_GOODS WHERE SG_G_ID = @G_ID AND SG_PRESENT = 1 AND SG_S_ID <> 376 ORDER BY price ASC);

IF EXISTS(
SELECT 1
FROM TBL_SUPPLIERS_GOODS
WHERE SG_G_ID = @G_ID AND SG_PRESENT = 1 AND SG_S_ID <> 376
)
BEGIN
SET @G_PRESENT = 1;
END;

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

23.01.2014 11:12

cifrosvit


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

Тема начата

Количество сообщений   24
Зарегистрирован:   14-01-2014, 15:57:17
Как это можно исправить?
Прикрепленные файлы
Безымянный.jpg   ( 20 Просмотров | 242.8 KB )
Безымянный2.jpg   ( 10 Просмотров | 242.8 KB )
Пользователь оффлайн Распечатать
 

23.01.2014 12:12

support


Support


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

Код
SET @Price = (SELECT price from TBL_SUPPLIERS_GOODS WHERE SG_G_ID = @G_ID AND SG_S_ID = 376);


А это значит, что у вас к товару привязано несколько товаров одного и того же поставщика с рекомендованными ценами, что уже как-бы противоречит алгоритму, который наверное должен подразумевать, что такая цена у товара должна быть одна.

Можно, например, взять какую-то одну цену, ограничиваясь только первой попавшейся:
Код
SET @Price = (SELECT TOP 1 price from TBL_SUPPLIERS_GOODS WHERE SG_G_ID = @G_ID AND SG_S_ID = 376);


Но насколько ваш алгоритм правильный - решать только вам.
Пользователь оффлайн Распечатать
 

23.01.2014 12:23

MaXX


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


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

23.01.2014 14:16

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Он вызывается из триггера [dbo].[TBL_GOODS#SET_PRICE_CALC_TYPE] ON [dbo].[TBL_GOODS]
FOR INSERT, UPDATE
после срабатывания приоритетов поставщиков настроенных в интерфейсе, если указан соответствующий тип самого приоритета.

Можно сделать UPDATE других таблиц, в том числе и TBL_GOODS, но нужно внимательно следить за взаимоблокировками.
Пользователь оффлайн Распечатать
 

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

Статистика форума
Тем: 506, Сообщений: 3222, Пользователей: 2255
Приветствуем новичка по имени Gotit
Ближайшие дни рождения
Сегодня именинников нет


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