|   |   | 
| 
 | v7: НайтиПоНаименованию() | ☑ | ||
|---|---|---|---|---|
| 0
    
        Franchiser 26.10.23✎ 20:45 | 
        В справочнике есть дубли наименований. Есть предположение что найтипонаименованию() находит элемент с минимальным кодом а не случайный элемент. Это верное утверждение?     | |||
| 1
    
        Franchiser 26.10.23✎ 20:46 | 
        База sql     | |||
| 2
    
        Злопчинский 26.10.23✎ 20:47 | 
        мои наблюдения говорят что это утверждение неверное.
 похоже, что определяется элемент, введенный хронологически первым. Даже если и так, то это необязательно всегда так ;-) Но я могу ошибаться | |||
| 3
    
        Злопчинский 26.10.23✎ 20:48 | 
        надо глянуть как индекс построен     | |||
| 4
    
        Franchiser 26.10.23✎ 20:48 | 
        Profiler может отловить запрос генерируемый через найтипонаименованию()?     | |||
| 5
    
        Смотрящий 26.10.23✎ 21:09 | 
        По минимальному ИД ищется     | |||
| 6
    
        Franchiser 26.10.23✎ 21:11 | 
        Это точно? Проверили профайлером?     | |||
| 7
    
        Franchiser 26.10.23✎ 21:12 | 
        То есть если находится сейчас, то это так будет постоянно?     | |||
| 8
    
        Злопчинский 26.10.23✎ 21:29 | 
        (7) не факт.     | |||
| 9
    
        Злопчинский 26.10.23✎ 21:30 | 
        (7) не надо на этом принципе строить базу последующих алгоритмических выводов ;-)     | |||
| 10
    
        Sserj 27.10.23✎ 05:25 | 
        В SQL базе у справочников индекс DESCR состоит из двух полей DESCR,Row_id.
 Так что вероятнее метод найдет первую добавленную в таблицу строку. | |||
| 11
    
        Bigbro 27.10.23✎ 05:30 | 
        почему бы не избавиться от дублей вместо изобретения костылей которые могут в любой момент подвести.     | |||
| 12
    
        DJ Anthon 27.10.23✎ 05:45 | 
        (11) как вы это в семерке сможете сделать? когда я решал эту проблему лет 15 назад, пришлось написать целый механизм, разбирающий и собирающий конфигурацию заново, потому что семерка не умеет писать в регистры накоплений и регистры расчетов, а прямые запросы у нас были запрещены.     | |||
| 13
    
        Kigo_Kigo 27.10.23✎ 08:45 | 
        (12) Переимновать дубли, не?     | |||
| 14
    
        DJ Anthon 27.10.23✎ 09:16 | 
        (13) избавиться от дублей - это не переименование.     | |||
| 15
    
        Kigo_Kigo 27.10.23✎ 09:22 | 
        (14) да это если перелопачивать базу и передоставлять ссылки, а это ох как не просто, проще переименовать и похоронить, оставив только один     | |||
| 16
    
        Bigbro 27.10.23✎ 09:23 | 
        (12) когда я решал эту проблему лет 15 назад - мы делали отдельный механизм глобальных и локальных контрагентов и материалов для распределенной базы с порядка 80к контрагентов и 190к материалов. по итогу был отдельный человек который администрировал центральный глобальный справочник, устранял дубли. а мы сделали для него все инструменты с заменами, заявками на новые элементы, автоматической заменой ссылок новых элементов на глобальные после их добавления и так далее.
 конструкция получилась шикарная. в каждой из локальных баз хранилось примерно 10-15% от объема всего глобального справочника. | |||
| 17
    
        DJ Anthon 27.10.23✎ 09:39 | 
        (16) если не секрет, как меняли дубли в регистрах? перепроводили документы?     | |||
| 18
    
        vicof 27.10.23✎ 09:40 | 
        Переходите на 8-ку     | |||
| 19
    
        DJ Anthon 27.10.23✎ 09:52 | 
        (18) как будто там эта проблема решена ))     | |||
| 20
    
        Смотрящий 27.10.23✎ 10:01 | 
        (17) В клюшках только перепроведением регистры меняются.     | |||
| 21
    
        Андрей_Андреич naïve 27.10.23✎ 10:04 | 
        (20) А Update + пересчет итогов?     | |||
| 22
    
        Смотрящий 27.10.23✎ 10:12 | 
        (21) В свое время делал так - написал обработку которая пробежалась по всем документам базы и насоздавала файликов ТипДокументаДатаНомер.txt в отдельном каталоге выгрузив туда движения документов, в модули обработки проведения воткнул код который при нахождении файла читал движения с него и проводил документы с этими движениями, в случае ненахождения - проводил документ как обычно.
 Вышел в выходные и типовым поиском и заменой дублей подменил все с перепроведением. Подправил ГП. Перевыгрузил все РИБы. | |||
| 23
    
        Смотрящий 27.10.23✎ 10:15 | 
        Таблицу  подмены номенклатуры еще в файл загнал, с нее процедурка подменяла номенклатуру.
 17к+ файлов насоздавала обработка, 7 видов документов. Так что все реально | |||
| 24
    
        Андрей_Андреич naïve 27.10.23✎ 10:22 | 
        (23) Ну и закинул бы таблицу подмены номенклатуры в табличку в базе и сделал Update нужных регистров RA и табличных частей документов и затем пересчет итогов. Хотя сделал - работает - отлично.     | |||
| 25
    
        Смотрящий 27.10.23✎ 10:24 | 
        (24) На тот момен ТиС была файловая     | |||
| 26
    
        DJ Anthon 27.10.23✎ 11:45 | 
        (20) так я поэтому и спрашиваю. Потому что надо перепровести документ так, чтобы ни одно движение не изменилось, только ссылки на дубли изменились. Я выгружал конфигу в файлы, делал изменения модулей (подменял вызов проведения на свой, который читал все движения и подменял ссылки), собирал конфигу, перепроводил, потом возвращал бэкап конфигурации обратно.     | |||
| 27
    
        Bigbro 27.10.23✎ 12:12 | 
        (26) нет, такого колдовства точно не было, видимо перепроводились, точно уже не помню.     | |||
| 28
    
        DJ Anthon 27.10.23✎ 12:57 | 
        (27) а вот она https://infostart.ru/1c/tools/96745/
 однако я там замахнулся на многие задачи, а оттестировать на большом количестве баз не удалось, как бета работает хорошо. как замена дублей работает точно. плохо работает в случае переноса между разными конфигурациями. | |||
| 29
    
        Bigbro 27.10.23✎ 13:16 | 
        (28) это прекрасно, но с опозданием лет на 8-9 от момента когда нам требовалось решать свои задачи))     | |||
| 30
    
        AAA 27.10.23✎ 13:23 | 
        (26)а зачем модули менять, можно было обработкой перебирать документы, выбирать их движения и менять в них ?     | |||
| 31
    
        Bigbro 27.10.23✎ 13:42 | 
        (30) а разве это не в 8ке только дали возможность движения документа пихать куда не попадя хоть к другому документу хоть вообще к удаленному?     | |||
| 32
    
        AAA 27.10.23✎ 13:55 | 
        (31)не понял ко мне вопроса ) в 8-ке дали )     | |||
| 33
    
        Bigbro 27.10.23✎ 14:24 | 
        (32) так тут про клюшки разговор)     | |||
| 34
    
        AAA 27.10.23✎ 14:41 | 
        (32)да, принимаю
 я почему то подумал, что DJ в 8-ке делал. Каюсь )) | |||
| 35
    
        FN 27.10.23✎ 14:42 | ||||
| 36
    
        DJ Anthon 27.10.23✎ 18:11 | 
        (34) в восьмерке тоже не все гладко. допустим, удаление дублей работает, но конечный результат - просто сообщение в конце работы - у вас могут быть проблемы с дублями в связанных справочниках, и все. а то, что при этом теряется список всех объектов - пофиг, иди всю базу проверяй. Но это фигня, есть ведь ещё скрытые объекты, которые можно увидеть только специнструментом, например, в ерп после объединения номенклатуры надо объединять ключи аналитики, после объединений контрагентов - объекты расчетов, плюс куча дополнительных проблем в регистрах журналов, а если ещё навешано куча расширений типа битрикса, там вообще могут даже битые ссылки образоваться. не говоря уже про ситуации, которые программно вообще невозможно учесть - например, если вы объединили виды расчетов в зп, ошибок технически у вас не будет, пока, например, вы не решите уволить человека - ведь у него будут дубли в регистрах сведений типа Плановые начисления. Об этом объединение дублей вообще ничего не говорит. И руками править ничего нельзя...     | |||
| 37
    
        AAA 27.10.23✎ 19:41 | 
        (36)а кто с этим спорит?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |