• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Вопрос о скриптах

Автор Vitaly_Gl, Листопад 27, 2014, 13:41:34

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Vitaly_Gl

Скрипт забивался в программу а запускаю его после каждой приходной цены
EXECUTE PROCEDURE usr_tovar_nacenka

TheOK

Данный файл хранится в самой базе данных Sklad.tcb или как-то так
Есть программы, которымы вы можете посмотреть эти данные (например, IBExpert), есть команды по работе с этими данными, но думаю, это будет для вас менее интересно
Если вы произведете какие-то действия в этой программе, структура базы может быть нарушена
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Vitaly_Gl

Тогда получается надо лопатить форум и вспоминать и делать заново скрипт по наценке.
Спасибо.

TheOK

Цитата: Vitaly_Gl від Листопад 30, 2014, 17:15:39
Тогда получается надо лопатить форум и вспоминать и делать заново скрипт по наценке.
Спасибо.
Достаточно установить IBExpert, подключиться к базе (кажется на форуме было описано, как это делать), сделать бекап базы и посмотреть текст хранимой процедуры usr_tovar_nacenka
Это не тяжело
Просто, людям, которые любят мышью тыкать во все подряд, лучше вообще держаться подальше от программ учета, но Вы ведь не такой?)
Предварительный бекап базы и все ваши проблемы решены
для максимальной безопасности можете установить УкрСклад сервер на каком-то ПК, где не работаете с УкрСклад и скопировать на него файл Sklad.tcb и подключиться к нему
тогда уж точно не поламаете ничего (кстати, там сможете и проверить не ломает ли ничего Ваш скрипт в 6й версии:)
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Vitaly_Gl

Нашел в ибеексперт скрипт свой но не могу внести изменения, может заново набить его
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

Vitaly_Gl

Может подскажете как в 6-й версии вставить этот скрипт в меню-автоматическое наценивание скриптом. Спасибо.

admin

Цитата: Vitaly_Gl від Грудень 01, 2014, 11:15:34
Может подскажете как в 6-й версии вставить этот скрипт в меню-автоматическое наценивание скриптом. Спасибо.

Так если вы обновлялись на 6 версию с версии 5 в которой был этот скрипт, то он и останется, обновление не трогает "не свое".

Vitaly_Gl

Так мне надо внести изменения в наценку-тобеж добавить по 3 процента к каждой наценке.

admin

Цитата: Vitaly_Gl від Грудень 01, 2014, 17:22:24
Так мне надо внести изменения в наценку-тобеж добавить по 3 процента к каждой наценке.

Лучше использовать штатные наценки скриптом, если не хотите, обратитесь к первоисточнику (нашли по usr_tovar_nacenka):
http://www.softbalance.com.ua/forum/index.php/topic,461.msg3610.html#msg3610

Vitaly_Gl

Хорошо тогда помогите мне- как в штатной автонаценке реализовать мой скрипт? Взять просто выше описанный скрипт и вставить в окно программы и выставить галочку автонаценка скриптом или как?
Я впринципе полностью за за штатный-так как всегда можна поменять процент наценки.

Vitaly_Gl

Тогда получается так? В окне наценки 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

Нет-так не работает...

admin

Цитата: Vitaly_Gl від Грудень 02, 2014, 13:48:35
Нет-так не работает...

Прежде чем очищать, посмотрите пример SQL наценок там все просто.

Vitaly_Gl

Да но в примере идет наценка на определенные группы, а мне нужна наценка на весь товар в зависимости от приходной цены.
Когда вставляю свой скрипт и нажимаю сохранить-выдает ошибку.

Vitaly_Gl

Вижу, что переменные не такие как в моем скрипте...