Вопрос по расширению блока ценообразования

Re: Вопрос по расширению блока ценообразования

Сообщение Aleksey » 20 фев 2015, 18:43

Еще "косяк". Даже если клиент существует в базе, т.е. eOrderCat.FindClientByNumber(aNUM) возвращает ссылку на клиента но при этом у такого клиента нет "рабочего места", то команда ClientData.SendKey ничего не делает. Поэтому вопрос. Каким методом проверить наличия рабочего места у клиента?

Пока что сделал через запрос
qSelect.SetSQL("SELECT 1 FROM TADM_WORKPLACE WHERE (FIDADM_CLIENTS =:ID_CLIENT)");

qSelect.SetParamValue("ID_CLIENT",ClientData.SysID);
qSelect.Execute();
Если qSelect.EOF() = -1 тогда
//нет места...
Aleksey
 
Сообщения: 75
Зарегистрирован: 04 июн 2010, 13:15

Re: Вопрос по расширению блока ценообразования

Сообщение Aleksey » 21 фев 2015, 15:28

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

Беру 1 конкретную позицию


Выгрузка каталога
ПеремПродукт.SetAttrValue("FPRICE",25);//базовая цена, для теста фиксированное значение

aGroupPrice="опт=77";//категория цен – опт, значения = 77, тоже фиксируем для теста
aNum = КодПродукта;
aNumCat = "";
aBrand = "";
aCategory = "";
ПеремПродукт.SetPriceGroup(aGroupPrice,aNum,aNumCat ,aBrand,aCategory );

Выгрузка цен клиента
Всего 1 строка
опт 0 0 0/1000000000000000 0/10000000000000
Т.е. для всего товара выводить цену категории опт

Выгружаю, загружаю на клиента и после перезапуска клиента вижу цену 77. Ок, согласен



Меняем в выгрузке каталога значение aBrand:
aBrand = "0001";//тоже для теста фиксированное значение
Выгружаем каталог, загружаем на клиента смотрим цену – 77 рублей. Ок, все правильно



Добавляем в цену клиента еще одну строку, итого получим таблицу с 2-мя строками
опт 50 0 0/1000000000000000 0001 0/10000000000000
опт 0 0 0/1000000000000000 0/10000000000000

Выгружаем, загружаем, смотрим 77, т.е. отработало нижнее правило, бренд он не увидел

1 вариант таблицы. 1 строка https://dl.dropboxusercontent.com/u/477 ... _60998.txt
2 вариант таблицы 2 строки https://dl.dropboxusercontent.com/u/477 ... _60998.txt
Aleksey
 
Сообщения: 75
Зарегистрирован: 04 июн 2010, 13:15

Re: Вопрос по расширению блока ценообразования

Сообщение SInteZ » 21 фев 2015, 17:04

На текущий момент проверить наличие рабочего места можно только через запрос.
Команда публикации ключа возвращает 0 - в случае ошибки и 1 в случае успеха
Если рабочего места нет то вернет как раз 0.

По поводу брендов.
Поменяйте местами строки. более общие правила сверху. более узкие снизу.
функция расчета цены будет просматривать таблицу снизу вверх и возьмет сначала данные по бренду
«Электронный заказ» - программа для создания каталога товаров и услуг, интернет-магазина
SInteZ
Администратор
 
Сообщения: 109
Зарегистрирован: 29 мар 2010, 09:42

Re: Вопрос по расширению блока ценообразования

Сообщение Aleksey » 21 фев 2015, 22:42

SInteZ писал(а):На текущий момент проверить наличие рабочего места можно только через запрос.
Команда публикации ключа возвращает 0 - в случае ошибки и 1 в случае успеха
Если рабочего места нет то вернет как раз 0.

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


Империалистическим путем удалось установить что программа не любит кириллицу в кодах. Т.е. как только переделал все кода на цифры стало выдавать то что нужно. (пробовал местами менять - непомогает. )

Осталась одна проблема, не могу подобрать формат строки aGroupPrice

aGroupPrice="01=800,00";
Так находит нужный бренд и подставляет нужные проценты

а так
aGroupPrice="'01=800,00'"+РазделительСтрок+"'02=9000'";
или так
aGroupPrice="01=800,00"+РазделительСтрок+"02=9000";
Даже так
aGroupPrice="01=800,00"+Симв(13)+"02=9000";
и так
aGroupPrice="'01=800,00'#13'02=9000'";

Борода - берёт базовый тип цен
Aleksey
 
Сообщения: 75
Зарегистрирован: 04 июн 2010, 13:15

Re: Вопрос по расширению блока ценообразования

Сообщение SInteZ » 23 фев 2015, 16:18

1С в режиме отладки, в каком варианте показывает многострочный текст?
Возможно в 02=9000 не хватает 02=9000,00
«Электронный заказ» - программа для создания каталога товаров и услуг, интернет-магазина
SInteZ
Администратор
 
Сообщения: 109
Зарегистрирован: 29 мар 2010, 09:42

Re: Вопрос по расширению блока ценообразования

Сообщение Aleksey » 24 фев 2015, 04:14

Да нулей не хватало, но всё равно фигня получалась, пока не прописал более общее правило в начале таблице, а не в конце как в примере

Т.е. в моем случае рабочая строка с aGroupPrice выглядит так
aGroupPrice="01="+Формат(Цена1,"Ч.2,")+РазделительСтрок+"02="+Формат(Цена2,"Ч.2,")+..."05="+Формат(Цена5,"Ч.2,");


Плюс строка в таблице цен клиентов с общим правилом
(в моем случае это 02 0 0 0/1000000000000000 0/10000000000000)
Должна быть первой строкой в таблице

Т.е. как я и писал выше, как только программа находит подходящее правило идя снизу вверх, она останавливает поиск, поэтому общие правила должны быть вверху таблицы, а частные внизу
Aleksey
 
Сообщения: 75
Зарегистрирован: 04 июн 2010, 13:15

Re: Вопрос по расширению блока ценообразования

Сообщение Aleksey » 24 фев 2015, 13:29

Остался еще один косяк с таблицей цен клиента. Почему то игнорируется последняя строка в таблице (т.е. первая по приоритету). Приходиться тупо дублировать её
Aleksey
 
Сообщения: 75
Зарегистрирован: 04 июн 2010, 13:15

Пред.

Вернуться в Общие вопросы и пожелания

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron