bdd2

Поиск и замена номенклатуры

Опубликовал Андрей Хван (gelion) в раздел Администрирование - Поиск данных

Обработка является модификацией стандартной обработки "Поиска и замены значений", ориентированной для поиска и замены номенклатуры. В ней имеется специальная кнопка «Рассчитать». При нажатии на нее, в таблицу замены попадают подчиненные элементы «двойников». Если у замещающей номенклатуры нет замены для двойника, то она создается.

Всем вам знакома обработка по поиску и замене значений, поставляемая на диске ИТС.
Недавно столкнулся с проблемой: нужно было заменить дубли номенклатуры в базе. Вначале я подумал, что мне подойдет стандартная обработка, но как оказалось впоследствии, у "двойников" также есть подчиненные элементы в справочниках: единицы измерения, серии, характеристики и прочее. Их тоже нужно заменить на соответствующие подчиненные элементы замещающей номенклатуры. Если этого не сделать, то во всех документах, где использовалась номенклатура будет ужасная путаница – номенклатура в документе одна, а серия и единица измерения принадлежат другой.
Как видите, проблема замены номенклатуры перестает быть такой тривиальной.

Данная обработка является модификацией стандартной обработки "Поиска и замены значений", ориентированной для поиска и замены номенклатуры.

В ней имеется специальная кнопка «Рассчитать». При нажатии на нее, в таблицу замены попадают подчиненные элементы «двойников». Если у замещающей номенклатуры нет замены для двойника, то она создается.

Скачать файлы

Наименование Файл Версия Размер
Поиск и замена номенклатуры
.epf 18,94Kb
26.09.14
457
.epf 18,94Kb 457 Скачать

См. также

PowerTools от 1 000
Добавить вознаграждение
Комментарии
1. Сергей Ожерельев (Поручик) 3442 06.10.09 12:32 Сейчас в теме
Видно, у вас конфа нештатная или моденная.

УТ 10.3
{Форма.Форма(546)}: Тип не определен (СправочникСсылка.ОригинальныеНомераНоменклатуры)
иначеЕсли ТипЗнч(стр.Данные)=Тип("СправочникСсылка.ОригинальныеНомераНоменклатуры") тогда

иначеЕсли ТипЗнч(стр.Данные)=Тип("РегистрСведенийКлючЗаписи.РасчетСерий") тогда
Отключено=Истина;

2. Андрей Хван (gelion) 38 06.10.09 12:39 Сейчас в теме
Спасибо, вы правы, сейчас исправлю...
3. Валентин Будкин (vabue) 113 07.10.09 00:01 Сейчас в теме
Превентивно плюсую, есть большая необходимость в подобной обработке.
4. Сергей Старых (tormozit) 4053 07.10.09 01:16 Сейчас в теме
Я решал подобную задачу этой обработкой http://infostart.ru/public/14986/. Сначала устранял дубли в главном справочнике, а затем уже по ключу из двух полей в подчиненных.
5. rasswet (rasswet) 80 07.10.09 10:06 Сейчас в теме
" Если у замещающей номенклатуры нет замены для двойника, то она создается."
допустим меняем конрагента2 на контрагента1
если у К1 есть договор1, а у К2 есть договор2 что будет?
и ситуации есть только договор2 у К2,а у к1 нет договоров.
6. stray (stray) 07.10.09 15:18 Сейчас в теме
что с характеристиками, сериями, ед.изм ... у заменяемой номенклатуры, что с ними делаешь??
7. Александр Рытов (Арчибальд) 2651 07.10.09 17:14 Сейчас в теме
(5,6) Цитата:
"Замена/удаление дублирующихся элементов справочников - задача не всегда простая. Что делать, если у справочника имеются подчиненные? Очевидно, сначала нужно разобраться с подчиненными элементами.
Возможны варианты:
Если у владельца-заменителя есть подходящий подчиненный элемент для замещения, устанавливаем соответствие;
Если на подчиненный элемент нет ссылок, удаляем его
Если нас не устраивает ни то, ни другое, меняем владельца у подчиненного." (с) Арчибальд.
Примерно так вот... А "заточка" под конкретный справочник - не гуд.

8. Андрей Хван (gelion) 38 08.10.09 08:21 Сейчас в теме
(5,6,7) Дело в том, что обработка довольно специфичная и ориентирована на работу только со справочником "Номенклатуры".

При замене дублей я предполагаю, что дубли возникшие в 1с представляют из себя указания на конкретные существующие в жизни товары. Это означает, что при их возникновении, все их подчиненные элементы должны быть идентичны (выглядеть для пользователя одинаково).

Например:
В справочнике номенклатур у нас есть три дубля для Номенклатуры "Пылесос"
1. Пылесос (код 1) арт 001,
ЕдИзм шт.
Серия1 0010101
2. Пылесо (код 2) арт 001,
ЕдИзм шт.
Серия1 0010101
Серия2 0010102

3. Пилесос (код 3) арт 001,
ЕдИзм шт.
Серия2 0010102


Некими способами, мы определили, что все они являются дублями друг друга и указывают на одну единственную номенклатуру "Пылесос"

Теперь нам нужно выделить главную, и заменить ею, все остальные
Пусть это будет 1я из них.

Обработка добавит для нее серию2 0010102 (скопирует все ее параметры из первой попавшейся серии2).
Замена и сравнение подчиненных элементов (серия, единица измерения) осуществляется по их названиям.
9. Александр Рытов (Арчибальд) 2651 08.10.09 08:56 Сейчас в теме
(8) Э, нет, так не отделаешься. Уж эсли номенклатуру можно представить разными способами, то характеристики номенклатуры - тем более. Почему Серию2 мы возьмем от второго пылесоса, если она правильная как раз в третьем?
10. Александр Рытов (Арчибальд) 2651 08.10.09 08:57 Сейчас в теме
11. Анатолий Ситников (acsent) 999 08.10.09 12:26 Сейчас в теме
Зачем копировать все параметры, когда можно у конечного элемента поменять владельца?
12. Андрей Хван (gelion) 38 08.10.09 15:02 Сейчас в теме
(9) Кончено, вы правы! Вероятность того, что в характеристике номенклатуры будет ошибка имеется. Заметьте, какие я взял параметры номенклатуры:
- Единица измерения - в ней ошибиться практически невозможно, так как она берется из классификатора.
- Серия номенклатуры - Обычно серия имеет строго определенное внешнее представление, так как она попадает в печатные формы и официальные документы.

(11) Тоже согласен, но раз уж мы все равно приняли решение покончить с дублем, то уже нам "ничего от него не надо". С другой стороны, если просто поменять всем подчиненным объектам дублей владельцев, то у нашего оставшегося элемента будет куча дублирующихся подчиненных элементов, что тоже не есть гуд)

13. Александр Рытов (Арчибальд) 2651 08.10.09 15:20 Сейчас в теме
(12) См. 7 коммент. Вариант 3 применяется, когда не проходят ни 1-й, ни 2-й. Я ж не с наскоку говорю; подробно разбирался с проблемой, когда сам такую штуку писал (цитата в 7 комменте оттуда)
14. Владислав Рожевский (vvr908) 343 13.10.09 23:54 Сейчас в теме
(13) Лично я готов согласиться, что более "продуманным" выглядит использование вариантов 1, 2 и только потом 3. Но проще, по-моему, было бы провести поиск и замену дублей сначала для "основного" справочника, а затем для всех подчиненных по очереди. Заодно и другие проблемы в подчиненных справочниках выявятся...
15. itt (itt) 12.10.11 12:51 Сейчас в теме
а как думаете можно ли подобную обработку давать пользователям?
16. Александр Гыдилика (Gida) 28.11.11 15:02 Сейчас в теме
itt пишет:
а как думаете можно ли подобную обработку давать пользователям?

хороший вопрос, а кто ж ее тогда юзать будет? не программеры же будут "чистить" за юзерами..
17. Николай Задоя (ADM1NZ) 18.01.12 16:17 Сейчас в теме
18. Дортман Слава (dva2000) 26.07.12 18:05 Сейчас в теме
У меня не сработало.

УТ 10.3 под 81.
Добавил номенклатуру, нажал "рассчитать", рассчиталось правильно, Нажал "Найти ссылки", ссылки нашлись правильно.
Нажал "выполнить замену значений" (все флажки на всех объектах стоят - по умолчанию) после некоторого раздумья написал "Обработка завершена" (ошибок и других сообщений не было), но ожидаемых замен ни в документах, ни в движениях не произошло.