Имя: Пароль:
1C
1С v8
Обработка "поиск и замена дублирующих элементов" ☑
0 DimaOrlov
 
12.07.13
✎
14:04
v8: синхронизация БП и ЗИУП в комплексной автоматизации
в этой темке мне подсказали как удалить дублирующихся физических лиц, спасибо за помощь, но возникла другая проблема,
1 DimaOrlov
 
12.07.13
✎
14:06
(0) обработка сравнивает, находит, но "указывает как правильный" тот объект у которого количество ссылок больше.
У некоторых ФЛ отсутствует ИНН, и при сравнении нужно чтобы "правильным" казывался тот у которого есть ИНН, подскажите как это можно настроить?
2 DimaOrlov
 
12.07.13
✎
14:08
точнее "автоопределение правильных объектов" работает по большему кол-ву ссылок
3 NDN
 
12.07.13
✎
14:11
Процедура ОпределитьПравильныеЭлементы() Экспорт
......

мРезультатыПоиска.ЗаполнитьЗначения(Ложь,"Правильный");
..........

вот в этом мРезультатыПоиска и меняй значение на Истина у нужных элементов
4 DimaOrlov
 
12.07.13
✎
14:14
подскажи пожалуйста где это найти, не силен в разработке))
5 Mitriy
 
12.07.13
✎
14:18
а просто вручную указать правильный? Не?
6 DimaOrlov
 
12.07.13
✎
14:20
гговорюже не силен))) ландно додумался, через конфигуратор открыл модуль, ищу подобные, не думаю естественно что я это не нахожу... вообщем незнаю что делать то
7 DimaOrlov
 
12.07.13
✎
14:21
ааа вручную... у меня их полторы тыщи... я две недели буду указывать))
8 Jonny_Khomich
 
12.07.13
✎
14:24
(7) я обычно после 20 записей начинаю думать, как сделать обработку и не париться. Вот ты так же сделай
9 NDN
 
12.07.13
✎
14:25
В модуле формы твоей обработки:
Если СтрокаПравильного = Неопределено или СтрокаПравильного.КоличествоСсылок < КоличествоСсылок Тогда
           СтрокиПравильных.Вставить(НомерГруппы, Строка);
КонецЕсли;

Условие замени на что-то вроде
Если НЕ Пустаястрока(СтрокаПравильного.Ссылка.Инн) Тогда
10 DimaOrlov
 
12.07.13
✎
15:05
тут еще может быть так что вообще ИНН отсутствовать, тогда как? на 1с не кодил, вообще... видимо проверка  по двум параметрам должна быть, по ИНН или КоличествуСсылок
11 DimaOrlov
 
12.07.13
✎
15:19
как сделать эту обработку можно?

и

Если СтрокаПравильного = Неопределено или СтрокаПравильного.КоличествоСсылок < КоличествоСсылок Тогда
           СтрокиПравильных.Вставить(НомерГруппы, Строка);
       КонецЕсли;
можно ли сдесь после "СтрокаПравильного.КоличествоСсылок < КоличествоСсылок" вставить что-то что проверит присутствует ИНН или нет?
12 cons74
 
12.07.13
✎
15:39
недавно наступил на грабли при использовании этой обработки: она меняет ссылки и в регистрах тоже. То есть получил что Иванов Иван Иванович в регистре сведений "история фио" значится как Петров Петр Петрович.
Теперь пользую "поиск и замена значений": тут можно указать, какие именно ссылки менять, а какие - нет.
Да, долго - зато надежно.
13 cons74
 
12.07.13
✎
15:44
В твоем случае (КА, ЗУП, БП) - лучше б ты правила обмена поправил. Это проще на самом деле. Конвертация данных. Кажется сложно, но у тебя все выходные впереди. Если ни разу не открывал - Полня должно хватить.
В правилах скорее всего стоит поиск элемента по ГУИд а ты ставь по ФИО.
14 Кай066
 
12.07.13
✎
15:44
(12) У полутора тысяч элементов справочника
15 DimaOrlov
 
12.07.13
✎
15:45
оу, у меня такого регистра даже нету)мне бы с обработкой придумать чего-нить)
16 acsent
 
12.07.13
✎
15:46
проставь вначале всем ИНН, потом заменяй дубли
17 DimaOrlov
 
12.07.13
✎
15:48
дак тогда в ссылках их не будет, я думал чтобы через правила попробывать это сделать, но мне показалось что ничего хорошего из этого не выйдет, т.к. элементы все равно в том виде в котором они есть перенесутся
18 DimaOrlov
 
12.07.13
✎
16:01
(16) я так и делал, у некоторых нет ИНН
19 DimaOrlov
 
12.07.13
✎
16:03
(13) дак итак через конвертацию данных. (17) пост лишний))
20 DimaOrlov
 
12.07.13
✎
16:10
(8) подскажи как ты их делаешь?
21 DJ Anthon
 
12.07.13
✎
16:14
я ее переписал, исправил много ошибок, добавил функциональности, ты тоже можешь так сделать.
22 DimaOrlov
 
12.07.13
✎
16:17
(21) не умею кодить на 1с... буду конечно учиться... но я думал потом...
23 DimaOrlov
 
12.07.13
✎
16:34
как в модуле кода, столбец ИНН описывается?
2 + 2 = 3.9999999999999999999999999999999...