Привет. У меня вопрос-при переходе на 6-ю версию, что будет со скриптами которые работали у меня в 5-й версии. Спасибо.
Цитата: Vitaly_Gl від Листопад 27, 2014, 13:41:34
Привет. У меня вопрос-при переходе на 6-ю версию, что будет со скриптами которые работали у меня в 5-й версии. Спасибо.
О каких скриптах идет речь?
У меня работал скрипт по наценках на товары. После каждой приходной накладной я запускал команду и происходил перерасчет цен.
так же интересует, старые скрипты будут работать например скрипт для смены цены грн в уе?
Цитата: Vitaly_Gl від Листопад 27, 2014, 16:17:11
У меня работал скрипт по наценках на товары. После каждой приходной накладной я запускал команду и происходил перерасчет цен.
Если вы о своих скриптах которые вы запускали в меню Опции : SQL менеджер, то должно работать. Только зачем их сейчас использовать если есть наценка SQL скриптом, она автоматом при изменении цены работает.
Наценка будет автоматом происходить после проведения приходной накладной или как. Опишите пожалуйста механизм. Спасибо.
И еще вопрос-где в программе прописывается скрипт и можна ли внести изменения в него? Спасибо.
Цитата: Vitaly_Gl від Листопад 28, 2014, 15:05:28
И еще вопрос-где в программе прописывается скрипт и можна ли внести изменения в него? Спасибо.
меню Опции : Наценки на товары : Наценки SQL скриптом
Цитата: Vitaly_Gl від Листопад 28, 2014, 10:28:20
Наценка будет автоматом происходить после проведения приходной накладной или как. Опишите пожалуйста механизм. Спасибо.
И при вводе товара в справочник, можно в справочнике клацнуть на группе товара и выбрать "Переоценить выделенную группу товаров", можно нажать "Назначить новые цены" в меню Опции : Наценки на товары : Наценки SQL скриптом. Хотите автоматом включите в меню Опции : Параметры : Справочники : Автоматическая корректировка цены товара :
Автоматически наценивать, тогда при смене цены в приходной будет происходить наценка согласно настройкам в в меню Опции : Наценки на товары.
Вы меня не поняли-я имел ввиду можна ли посмотреть в каком-то файле какой скрипт работает что б внести в него изменения.
Например-у меня работает скрипт по наценке на товары в зависимости от приходной цены. Например для цены от 0 до 20 уе у меня работает наценка 25 процентов а я хочу изменить на 28 процентов. Вот и вопрос-программа где-то держит в памяти мои скрипты которые я потом запускаю-хочу внести в них изменения.
Если б я нашел тот листик со скриптом который вводил больше года назад то вопросов бы не возникало-заново бы ввел его с нужными поправками...
Цитата: Vitaly_Gl від Листопад 28, 2014, 16:12:20
Если б я нашел тот листик со скриптом который вводил больше года назад то вопросов бы не возникало-заново бы ввел его с нужными поправками...
Если скрипт наценки предоставил Вам я, напишите на мой и-мейл (если не помните (а не Вы его, конечно, не помните) после того, как напишите в личку скину Вам свой и-мейл в личные сообщения на форуме) с и-мейла, которого Вы ко мне обращались
Я постараюсь найти нашу переписку и переслать Вам и-мейл с инструкцией, которую нужно было выполнять перед обновлением, который высылал ранее
Если же скрипты не мои, помочь Вам не смогу
Задам вопрос по другому-где в программе хранятся рабочие скрипты (в каком файле)?
Цитата: Vitaly_Gl від Листопад 29, 2014, 09:38:12
Задам вопрос по другому-где в программе хранятся рабочие скрипты (в каком файле)?
Все зависит от того, как вы запускаете скрипт
А вы ведь его запускаете, судя по вот этим словам
Цитата: Vitaly_Gl від Листопад 27, 2014, 16:17:11
У меня работал скрипт по наценках на товары. После каждой приходной накладной я запускал команду и происходил перерасчет цен.
Итак как Вы его запускаете, какую команду?
Скрипт забивался в программу а запускаю его после каждой приходной цены
EXECUTE PROCEDURE usr_tovar_nacenka
Данный файл хранится в самой базе данных Sklad.tcb или как-то так
Есть программы, которымы вы можете посмотреть эти данные (например, IBExpert), есть команды по работе с этими данными, но думаю, это будет для вас менее интересно
Если вы произведете какие-то действия в этой программе, структура базы может быть нарушена
Тогда получается надо лопатить форум и вспоминать и делать заново скрипт по наценке.
Спасибо.
Цитата: Vitaly_Gl від Листопад 30, 2014, 17:15:39
Тогда получается надо лопатить форум и вспоминать и делать заново скрипт по наценке.
Спасибо.
Достаточно установить IBExpert, подключиться к базе (кажется на форуме было описано, как это делать), сделать бекап базы и посмотреть текст хранимой процедуры usr_tovar_nacenka
Это не тяжело
Просто, людям, которые любят мышью тыкать во все подряд, лучше вообще держаться подальше от программ учета, но Вы ведь не такой?)
Предварительный бекап базы и все ваши проблемы решены
для максимальной безопасности можете установить УкрСклад сервер на каком-то ПК, где не работаете с УкрСклад и скопировать на него файл Sklad.tcb и подключиться к нему
тогда уж точно не поламаете ничего (кстати, там сможете и проверить не ломает ли ничего Ваш скрипт в 6й версии:)
Нашел в ибеексперт скрипт свой но не могу внести изменения, может заново набить его
BEGIN
FOR
SELECT
num,
cena,
cena_r,
cena_o,
cena_1,
cena_2
FROM
tovar_name
WHERE
visible = 1
INTO
:v_tovar_id,
:v_cena,
:v_cena_r,
:v_cena_o,
:v_cena_1,
:v_cena_2
DO
BEGIN
IF (:v_cena <= 20) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.25 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
ELSE
IF (:v_cena > 20 AND :v_cena <= 30) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.2 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
ELSE
IF (:v_cena > 30 AND :v_cena <= 100) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.15 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
ELSE
IF (:v_cena > 100 AND :v_cena <= 1000) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.1 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
END
END
Может подскажете как в 6-й версии вставить этот скрипт в меню-автоматическое наценивание скриптом. Спасибо.
Цитата: Vitaly_Gl від Грудень 01, 2014, 11:15:34
Может подскажете как в 6-й версии вставить этот скрипт в меню-автоматическое наценивание скриптом. Спасибо.
Так если вы обновлялись на 6 версию с версии 5 в которой был этот скрипт, то он и останется, обновление не трогает "не свое".
Так мне надо внести изменения в наценку-тобеж добавить по 3 процента к каждой наценке.
Цитата: Vitaly_Gl від Грудень 01, 2014, 17:22:24
Так мне надо внести изменения в наценку-тобеж добавить по 3 процента к каждой наценке.
Лучше использовать штатные наценки скриптом, если не хотите, обратитесь к первоисточнику (нашли по usr_tovar_nacenka):
http://www.softbalance.com.ua/forum/index.php/topic,461.msg3610.html#msg3610 (http://www.softbalance.com.ua/forum/index.php/topic,461.msg3610.html#msg3610)
Хорошо тогда помогите мне- как в штатной автонаценке реализовать мой скрипт? Взять просто выше описанный скрипт и вставить в окно программы и выставить галочку автонаценка скриптом или как?
Я впринципе полностью за за штатный-так как всегда можна поменять процент наценки.
Тогда получается так? В окне наценки SQL скриптом все очистить и вставить скрипт
BEGIN
FOR
SELECT
num,
cena,
cena_r,
cena_o,
cena_1,
cena_2
FROM
tovar_name
WHERE
visible = 1
INTO
:v_tovar_id,
:v_cena,
:v_cena_r,
:v_cena_o,
:v_cena_1,
:v_cena_2
DO
BEGIN
IF (:v_cena <= 20) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.25 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
ELSE
IF (:v_cena > 20 AND :v_cena <= 30) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.2 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
ELSE
IF (:v_cena > 30 AND :v_cena <= 100) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.15 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
ELSE
IF (:v_cena > 100 AND :v_cena <= 1000) THEN
BEGIN
UPDATE tovar_name SET cena_r = cena * 1.1 WHERE num = :v_tovar_id AND cena_curr_id = cena_out_curr_id;
END
END
END
Далее выставить галочку автоматическая наценка SQL скриптом.
Это все или надо еще какие-то процедуры проводить?
Спасибо.
Нет-так не работает...
Цитата: Vitaly_Gl від Грудень 02, 2014, 13:48:35
Нет-так не работает...
Прежде чем очищать, посмотрите пример SQL наценок там все просто.
Да но в примере идет наценка на определенные группы, а мне нужна наценка на весь товар в зависимости от приходной цены.
Когда вставляю свой скрипт и нажимаю сохранить-выдает ошибку.
Вижу, что переменные не такие как в моем скрипте...
BEGIN
IF (cena_in <= 20) THEN
BEGIN
cena_r_out = udf_roundto(cena_in * 1.28, 2);
END
ELSE
IF (cena_in > 20 AND cena_in <= 30) THEN
BEGIN
cena_r_out = udf_roundto(cena_in * 1.23, 2);
END
ELSE
IF (cena_in > 30 AND cena_in <= 100) THEN
BEGIN
cena_o_out = udf_roundto(cena_in * 1.18, 2);
END
ELSE
IF (cena_in > 100 AND cena_in <= 1000) THEN
BEGIN
cena_o_out = udf_roundto(cena_in * 1.13, 2);
END
END
Суть такова, работаю в уе
при приходной цене до 20уе наценка 28%
от 20 до 30 уе наценка 23%
от 30 до 100 уе наценка 18%
от 100 до 1000 уе наценка 13%
Правильный ли скрипт?
Спасибо.
В таком варианте скрипт сохраняет без ошибки но наценку не делает.
udf_roundto - это что за переменные?
Цитата: Vitaly_Gl від Грудень 02, 2014, 15:31:59
В таком варианте скрипт сохраняет без ошибки но наценку не делает.
Наценку не делает где именно?
Цитата: Vitaly_Gl від Грудень 02, 2014, 15:31:59
udf_roundto - это что за переменные?
Это функция округления udf_roundto(<число>,<кол._знаков_после _запятой>)
Не меняется розничная цена в справочнике товаров.
Цитата: Vitaly_Gl від Грудень 02, 2014, 15:41:10
Не меняется розничная цена в справочнике товаров.
Как вы ее меняете или думаете как она должна меняться? При вводе приходной Enter нажимаете?
Уже нашел проблемку
cena_o_out поменял на cena_r_out
Все супер, разобрался.
Последний вопрос-цена новая будет меняться автоматически после проведения новой приходной накладной?
Цитата: Vitaly_Gl від Грудень 02, 2014, 15:55:21
Все супер, разобрался.
Последний вопрос-цена новая будет меняться автоматически после проведения новой приходной накладной?
При смене цены в приходной или при вводе новой накладной.
Цитата: admin від Листопад 28, 2014, 16:03:56
И при вводе товара в справочник, можно в справочнике клацнуть на группе товара и выбрать "Переоценить выделенную группу товаров", можно нажать "Назначить новые цены" в меню Опции : Наценки на товары : Наценки SQL скриптом. Хотите автоматом включите в меню Опции : Параметры : Справочники : Автоматическая корректировка цены товара :
Автоматически наценивать, тогда при смене цены в приходной будет происходить наценка согласно настройкам в в меню Опции : Наценки на товары.
День добрый.
Пытаюсь скриптом обнулить кол-во товара в группе
UPDATE
tovar_name
SET
z_kolvo = 0
WHERE
tip = 2
Поправьте меня плз, а то ошибка вылазит...
Не можна скриптом обнуляти кількість товару в групі!!! Зробіть акт інвентаризації - включіть всі товари з групи в нього і вкажіть що у вас залишок їх 0. Випишіть на основі нього внесення залишків та списання. І отримаєте те що вам потрібно. А по іншому буде повна фігня!!!
Почему же фигня? Я хочу убрать весь товар и удалить группу, необходимости инвентаризировать или списывать товар у меня нет, а просто хочу все обнулить и забыть. Вбивать 100500 позиций особого желания нет, но если нет другого выхода, то придется...
Цитата: Beatle від Лютий 07, 2015, 17:28:49
Почему же фигня? Я хочу убрать весь товар и удалить группу, необходимости инвентаризировать или списывать товар у меня нет, а просто хочу все обнулить и забыть. Вбивать 100500 позиций особого желания нет, но если нет другого выхода, то придется...
Вся эта процедура делается достаточно быстро
Не стоит нарушать принцип работы программы ради того, чтобы обнулить всего лишь одну группу
Кол-во товара не важно. Добавьте весь товар группы в акт инвентаризации и не мучайтесь (кнопочки необходимые для этого есть)
Подскажите, как через скрипт сделать скидку на товар, который продается кратно 6 (шести) ?
Например 6 (или 12 или 18 или 102 и т.д.) шт - скидка 2%
Если 5,8 или 34 тогда без скидки.
(можно ли вводить переменные в скрипт) ?
ПС. пробовал использовать "остаток от деления" (% mod) но походу они не поддерживаются
Типа: если кол. товара делится на 6 с остатком который больше 0,01 тогда скидки нет
Цитата: weee від Лютий 09, 2015, 16:10:23
Подскажите, как через скрипт сделать скидку на товар, который продается кратно 6 (шести) ?
Например 6 (или 12 или 18 или 102 и т.д.) шт - скидка 2%
Если 5,8 или 34 тогда без скидки.
ПС. пробовал использовать "остаток от деления" (% mod) но походу они не поддерживаются
Типа: если кол. товара делится на 6 с остатком который больше 0,01 тогда скидки нет
mod на самом деле есть, но он только для целых чисел, пример:
IF(MOD(in_tovar_kolvo, 6) = 0) THEN
tovar_znig_proc = 2;
проблема что MOD(12,6) будет равен нулю и MOD(12.2,6) тоже т.к. 12.2 будет приведен к 12. Зачем это сделано для меня загадка.
Хотя вещественные числа сравнивать нельзя, попробуйте вот это:
IF(UDF_ROUNDTO(in_tovar_kolvo/6,0) = in_tovar_kolvo/6.0) THEN
tovar_znig_proc = 2;
Цитата: weee від Лютий 09, 2015, 16:10:23
(можно ли вводить переменные в скрипт) ?
Не предусмотрено, но свои UDF функции можете вводить, есть много разных бесплатных функций в инете.
Спасибо! Помогло!
Я питала про це в темі "Бонусная система", але ніхто так і не відповів, тому питаю тут.
1. Як дізнатися ID клієнта для SQL дисконт за сумою?
2. В SQL дисконт за сумою серед "Исходящие переменные" є змінні для роботи з бонусами, але серед SQL дисконт по товару нема. Тобто, якщо використовувати SQL дисконт по товару, то нарахувати бонуси неможливо? Чи можна використовувати два види дисконту одночасно (наприклад, SQL дисконт по товару для нарахування скидки і SQL дисконт за сумою для нарахування бонусу)?
1. https://yadi.sk/i/vlRK14rFeeQcA