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
Тема начата
Зарегистрирован: 14-01-2014, 15:57:17 |
При проставлении приоритета поставщиков на товары возникают ошибки. |
22.01.2014 15:28 | |
supportSupport Количество сообщений 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
Тема начата
Зарегистрирован: 14-01-2014, 15:57:17 |
Цитата Написал: support Без точного описания ваших действий и манипуляций никакого ответа дать невозможно, скорее всего у вас ошибка в SQL-запросе вычисления цены, который используется в приоритете поставщиков. При назначении "Приоритета поставщика" на некоторые товары появляются ошибки. Скриншоты во вложении. В приоритах поставщика новая запись: Тип расчёта цены: минимальная Тип работы: SQL SG_S_ID - ИД поставщика с Рекомендованной ценой. Код
|
23.01.2014 11:12 | |
cifrosvitПользователь iNETsHOP
Тема начата
Зарегистрирован: 14-01-2014, 15:57:17 |
Как это можно исправить?
|
23.01.2014 12:12 | |
supportSupport Количество сообщений 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 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Он вызывается из триггера [dbo].[TBL_GOODS#SET_PRICE_CALC_TYPE] ON [dbo].[TBL_GOODS] FOR INSERT, UPDATE после срабатывания приоритетов поставщиков настроенных в интерфейсе, если указан соответствующий тип самого приоритета. Можно сделать UPDATE других таблиц, в том числе и TBL_GOODS, но нужно внимательно следить за взаимоблокировками. |