Нужно переименовать (Наименование) все товары в справочнике. #346093


#0 by MSH5555
Сабж. Версия 1с - 7.7. Имеется база. В ней в поле наименование забит код и само наименование. Необходимо отделить код от наименования. Код должен быть сохранен в одно поле, наименование (без кода), соответственно, в наименование. Как это сделать наиболее удобно? Пытался сделать через выборку - при смене наименования либо выдает ошибку, что "сменили наименование" и дальше не работаем, либо при использовании второй копии справочника слетает выборка. В итоге меняется пара-тройка процентов товаров. Можно запустить заново, либо запустить в бесконечном цикле, но что-то такой вариант мне не нравится. Использовал выборку как по справочнику, так и по реквизиту - один черт. :(
#1 by romix
Можно еще выбрать по реквизиту. Т.е. создать какой-нибудь реквизит с признаком сортировки. Или можно еще коды записать в доп. реквизит (создать его), исправить наименования (коды будут уже там), а потом, выбирая элементы "по наименованию", исправить коды.
#2 by romix
Резервную копию базы еще сделай.
#3 by FreeFin
Зачем реквизит? (копию понятно делать всегда надо) В список собрать и всех делов. Спс.ДобавитьЗначение(...ТекущийЭлемент); и далее со списком Для Ном=1 ПоСпс.РазмерСписка Цикл СМеняем=Спр.НайтиЭлемент(Спс.ПолучитьЗначение(ном)); СМеняем.Код=... СМеняем.Наименование=... СМеняем.Записать и никуда выборка не денется.
#4 by FreeFin
Спр.Код=... Спр.Наименование=... Спр.Записать
#5 by кикабидзе
#6 by дущ
а код надо в предопределённый реквизит Код записать? Если да, то так делать нельзя, потому что база на середине может наткнуться на "Код не уникален". Тогда вначале делаешь ПорядокНаименований ВыбратьЭлементы, в "Код" прошиваешь какой-нибудь индексный счётчик (я обычно пользую "собакаХХХ"), затем ПорядокРеквизита ВыбратьЭлементы и там уже правильный код в "Код", наименование в "Наименование"
#7 by MSH5555
romix, не подходит, наверное. Хотя я не пробовал в справочнике делать сортировку по реквизиту, например, а потом переименовывать. Не дошло как-то... Копию базы всегда делаю перед любым изменением. Тем более, что на этот код в наименовании завязано много всего. FreeFin, спс, логично. Кикабидзе, на счет Спр.ПорядокКодов - попробую. Возможно будет достаточно сделать сортировку в самом справочнике... Дущ, естественно, код пишется в отдельное поле. 1С-овский код по каким-то причинам изначально не используется. Я бы вообще ничего не менял (и не менял) по принципу: "работает - не трожь". Но просто есть идея частично автоматизировать формирование кода + есть идея группировки товаров по коду (по первой цифре после букв:)). Код типа АА12345. АА - буквы, которые присваиваются вручную (в зависимости от поставщика - возможно будет в "полуавтоматическом режиме": выбрали поставщика и сразу выбрался буквенный код). 1 - "группа товаров". От 0 до 8, которая выбирается из списка (9 - используется для старых товаров, со временем все коды поменяются на коды по группам). 2345 - присваиваются автоматически по инкременту. Основная причина - чтобы в прайсе товар был отсортирован по "группам товаров". В справочнике товар разбросан по группам от поставщиков. Т.е. такой вариант не очень подходит. Тоже изначально так сложилось. До меня еще:) Всем спасибо. В понедельник буду пробовать. Заодно офтопичный вопрос: В коде товара есть как две буквы вначале, так и одна. Как наиболее красиво отделить буквенную часть кода от цифровой? Потом все-таки приведу код к "стандартному виду". :)
#8 by дущ
на мой взгляд проще всего методом исключения:
#9 by levlvov
См. желто-красные книжки.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С