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

Потрібний скрипт для стирання кодів з групи...

Автор Antilock, Червень 03, 2013, 15:24:17

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

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

Antilock

Доброго дня.
Допоможіть з скриптом для стирання кодів товару з групи і зробити нову автономерацію коду товару в групі, так як дуже багато повторень коду по цілій базі!!!
Хотілось щоб все було впорядковано без повторень.

TheOK

Вам нужно по одной группе затереть код или обновить все кода в базе?
Если по одной, то учитывая подгруппы или нет? А так же укажите так же значение колонки TIP группы, в которой хотите произвести такие изменения (если, конечно, вы хотите это сделать по одной группе, а не по всему складу). Однако, мне кажется, что если у вас не несет осмысленной информации коды в остальных группах, а так же они не используются в документации, то лучше обновить данные по коду всего склада.
В каком виде вы хотите себе кода? (кол-во цифр в коде).
Вставьте следующий скрипт в Опции->SQL менеджер. Вставить в поле Тело скрипта и нажать кнопку выполнить скрипт. Напишите сюда число, которое выведет запрос
Select max(tn.num) from tovar_name tn

Работа в УкрСклад(особенности и советы): [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]

Antilock


Antilock

Возможно я не правильно сформулировал вопрос. Мне нужно стереть все коды и назначить новые во всей базе. База у меня очень большая и очень много кодов дублируется. Хотелось б чтоб все коды шли по порядку и не дублировались.
Из за дубликатов кодов у меня много ошибок было, я обнулил базу но не коды и сейчас она у меня только месяц с новыми документами. Пока их не много (200док.) хочу навести порядок. Помогите пожалуйста со скриптом на обнуление кодов во все базе и назначение новых по порядку.

Antilock

И не зацепить ли это документацию что есть?

admin


Antilock

Код: [Выделить]
UPDATE
  tovar_name
SET
  kod = num

этот скрипт обнуляет очень хорошо, а как чтоб начиналось с 1 а не 10000?

Creat


Antilock

Creat - ты хоть сам то проверял? Выдает ошибка... за старание спасибо... но это не помогло...

Antilock

Частично помогло. Но как сделать чтоб начиналась нумерация с 1 ???  У меня почему то с 4973 началась нумерация, перечитал все силки и как сделать с 1 не нашол ... помогите пожалуста...

admin

Цитата: Antilock від Червень 04, 2013, 14:13:41
Частично помогло. Но как сделать чтоб начиналась нумерация с 1 ???  У меня почему то с 4973 началась нумерация, перечитал все силки и как сделать с 1 не нашол ... помогите пожалуста...

Скрипт что указан выше просто присваивает внутренний номер записи (он 100% уникальный) в базе данных, вашему коду. Зачем вам начинать товар с 1? У вас задача чтобы код был уникальный.

Creat

#11
Цитата: Antilock від Червень 04, 2013, 13:08:57
Код: [Выделить]
UPDATE
  tovar_name
SET
  kod = num

этот скрипт обнуляет очень хорошо, а как чтоб начиналось с 1 а не 10000?
Цитата: Antilock від Червень 04, 2013, 13:51:26
Creat - ты хоть сам то проверял? Выдает ошибка... за старание спасибо... но это не помогло...
Я тебе поверил на слово,  что начиналось с 10000.
Если названия товара уникальны, то можно экспортировать в екселе создать нужную нумерацию кодов, а потом назад импортировать с проверкой двойников по названию.

Antilock

Цитата: admin від Червень 04, 2013, 15:20:40
Цитата: Antilock від Червень 04, 2013, 14:13:41
Частично помогло. Но как сделать чтоб начиналась нумерация с 1 ???  У меня почему то с 4973 началась нумерация, перечитал все силки и как сделать с 1 не нашол ... помогите пожалуста...

Скрипт что указан выше просто присваивает внутренний номер записи (он 100% уникальный) в базе данных, вашему коду. Зачем вам начинать товар с 1? У вас задача чтобы код был уникальный.
просто рабочим (и мне) будет лучше если будит начинаться с 1... так как у меня перескакивает за 21521 товар!!!

Antilock

Цитата: Creat від Червень 04, 2013, 15:42:42
Цитата: Antilock від Червень 04, 2013, 13:08:57
Код: [Выделить]
UPDATE
  tovar_name
SET
  kod = num

этот скрипт обнуляет очень хорошо, а как чтоб начиналось с 1 а не 10000?
Цитата: Antilock від Червень 04, 2013, 13:51:26
Creat - ты хоть сам то проверял? Выдает ошибка... за старание спасибо... но это не помогло...
Я тебе поверил на слово,  что начиналось с 10000.
Если названия товара уникальны, то можно экспортировать в екселе создать нужную нумерацию кодов, а потом назад импортировать с проверкой двойников по названию.

Очень долго... и уже документы прописаны!!! это не поможет...

TheOK

#14
не используйте коды начиная с 1. Это дополнительные проблемы. При фильтрации по коду добавите себе проблем.
Лучше сделать, чтобы кол-во значимых символов в коде было одинаково.
Т.е. по идее, которую писал Create, только не num-10000, а, например, num+10000
Есть, конечно, способы организовать нумерацию с 1, но еще не смотрел возможно ли это сделать в firebird 1.5
Работа в УкрСклад(особенности и советы): [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]