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

Наши программы => УкрСклад => Тема розпочата: Simplet від Лютий 02, 2016, 14:31:32

Назва: Скрипт на заміну
Відправлено: Simplet від Лютий 02, 2016, 14:31:32
маю до Вас прохання написати скрипт переносу даних з поля дополнительно ( дополнительно 1)[DataRep."DOPOLN"]  в поле виробник  [DataRep."TOV_PROIZV"]
фірма має 2 склади - якщо можна то скрипт окремо для складу
заносили  безліч товару щось вручну щось імпортом  в результаті - виробник  в деяких товарах в полі [DataRep."TOV_PROIZV"] а в деяких в [DataRep."DOPOLN"] , ще й інколи поле [DataRep."DOPOLN"]  заміняє показник [DataRep."DOPOLN11"] котрий то є то нема....
Назва: Re: Скрипт на заміну
Відправлено: Simplet від Лютий 02, 2016, 14:52:16
Враховуючи що просив адмінів про домогу з скриптом в іншій ситуації  то чи буде працювати скрипт так:

ОБЯЗАТЕЛЬНО сделайте резерв базы данных:

Замена производителя по всей базе:
Код: [Select]

UPDATE
  tovar_name
SET
TOV_PROIZV = DOPOLN

о і на форумі є дана порада саме в такому скрипті
...а як дану процедуру застосувати лише для 1го складу????



Назва: Re: Скрипт на заміну
Відправлено: Sergemob від Лютий 02, 2016, 15:04:57
У вас же один і той же товар може бути на різних складах. Можливо ви мали на увазі зробити це лише для певної групи? Якщо так, то ваш скрипт виглядатиме так:

UPDATE
  tovar_name
SET
TOV_PROIZV = DOPOLN
WHERE
TIP = [ID групи]


ID групи можна взнати в довіднику товарів увімкнувши відповідну колонку.
Назва: Re: Скрипт на заміну
Відправлено: Simplet від Лютий 02, 2016, 15:14:56
Sergemob  та от саме необхідно провести заміну по складу а не по групі(
є 2 різних склади  в 1му з них треба замінити поле додатково на виробник
Назва: Re: Скрипт на заміну
Відправлено: Sergemob від Лютий 02, 2016, 17:38:49
Попробуйте так:
UPDATE TOVAR_NAME T SET T.TOV_PROIZV = T.DOPOLN
WHERE exists (select 1 from TOVAR_ZAL Z where Z.SKLAD_ID = [номер склада] AND Z.TOVAR_ID = T.NUM)

Номер склада можно узнать выполнив такой скрипт:
SELECT a.NUM, a.NAME
FROM SKLAD_NAMES a

Думаю не нужно напоминать, что перед всеми действиями нужно делать бекап базы?
Назва: Re: Скрипт на заміну
Відправлено: TheOK від Лютий 02, 2016, 21:26:08
Цитата: Simplet від Лютий 02, 2016, 15:14:56
Sergemob  та от саме необхідно провести заміну по складу а не по групі(
є 2 різних склади  в 1му з них треба замінити поле додатково на виробник
Если у Вас присутствует товар и на одном и на другом складе, то после выполнения совета Sergemob поле заменится на обоих складах. Иначе никак не сделать
Назва: Re: Скрипт на заміну
Відправлено: Simplet від Лютий 02, 2016, 21:48:48
Дякую за відповідь