|   |   | 
| 
 | Восстановить коды у элементов справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        dvrk 14.02.23✎ 10:32 | 
        Привет, есть база, у контрагентов поменяли коды, есть копия, где коды не изменены, как в рабочей базе сделать коды старые?     | |||
| 1
    
        OldCondom 14.02.23✎ 10:34 | 
        поиск по уид, впихать временные коды и восстановить последовательность нумерации. ИЛи надо коды 1 в 1?     | |||
| 2
    
        dvrk 14.02.23✎ 10:35 | 
        (1) надо коды вернуть, т.к. в БУХ контрагенты уже выгрузились с этими кодами и сейчас задваиваются при обмене     | |||
| 3
    
        Aleksey 14.02.23✎ 10:35 | 
        А зачем? Увас бизнес процессы завязаны на кодах клиента?     | |||
| 4
    
        dvrk 14.02.23✎ 10:35 | 
        (3) в 2 написал..     | |||
| 5
    
        Aleksey 14.02.23✎ 10:36 | 
        (2) обмен самописный? Потому что типовому обмену пофиг на коды     | |||
| 6
    
        dvrk 14.02.23✎ 10:36 | 
        (5) угу правила обмена написаны центральным офисом     | |||
| 7
    
        dvrk 14.02.23✎ 10:36 | 
        у меня задача именно вернуть все коды в рабочей базе какие были     | |||
| 8
    
        arsik гуру 14.02.23✎ 10:41 | 
        (7) Ну самое простое в бэкапе, где коды нормальные, создай тз с колонками Контрагент, код и заполни ее.
 Потом ЗначениевСтроку(ТЗ). В основной базе ЗначениеИзСтроки(ТЗСтрокой). Ну а далее разберешся. | |||
| 9
    
        dvrk 14.02.23✎ 10:42 | 
        А если взять обработку обмена между идентичными конфигурациями, выгрузить справочник контрагентов из бэкапа и загрузить в рабочую, те, что с неправильными кодами перепишутся на правильный?     | |||
| 10
    
        НЕА123 14.02.23✎ 10:49 | 
        (9)
 на форуме такой вопрос точно не следует задавать. проконсультируйся со спецами на месте. | |||
| 11
    
        OldCondom 14.02.23✎ 10:49 | 
        (9) если укажешь поиск по ГУИД, то перепишутся. Кстати тоже вариант.     | |||
| 12
    
        OldCondom 14.02.23✎ 10:50 | 
        (10) так он правила не пишет, там же ЦЕНТРАЛЬНЫЙ офис)     | |||
| 13
    
        mikecool 14.02.23✎ 10:53 | 
        (9) а также затрутся все изменения, что пользователи внесли в справочник
 если задаешь такие вопросы - то лучше не занимайся этим | |||
| 14
    
        Kassern 14.02.23✎ 10:55 | 
        (0) Если гуиды одинаковые, то задача простая. Сопоставляете по гуиду и меняете коды.     | |||
| 15
    
        mistеr 14.02.23✎ 10:59 | 
        (14) +1
 Например с помощью обработки из ИР | |||
| 16
    
        dvrk 14.02.23✎ 10:59 | 
        (13) про изменения я знаю, мне главное коды восстановить (14) а в случае чего уиды могут стать разными?     | |||
| 17
    
        mistеr 14.02.23✎ 11:02 | 
        (16) Если контрагенты не приходят извне (из бухии например), то не могут.     | |||
| 18
    
        dvrk 14.02.23✎ 11:04 | 
        (17) не, контрагенты заводятся в этой базе и ниоткуда не приходят, я поэтому и спросил с чего они могут стать разными мб после манипуляций какой нибудь обработкой с ними
 ну попробую тогда выгрузкой... | |||
| 19
    
        Aleksey 14.02.23✎ 11:15 | 
        (18) ну так кд 2.0 в руки добавь перенос 1 реквизита код и поставь галку не создавать если не найдены. Делов то, на 2 минуты мышкой покликать     | |||
| 20
    
        dvrk 14.02.23✎ 11:15 | 
        (19) ни разу кд не видел в глаза     | |||
| 21
    
        Aleksey 14.02.23✎ 11:16 | 
        главное не забудь прописать Объект.обменданными.загрузка = истина при записи, чтобы на дубли кодов не ругался     | |||
| 22
    
        Kassern 14.02.23✎ 11:16 | 
        (20) можно и без кд. В файлик выгрузите 2 колонки, первая гуид, вторая  - нужный код. В базе где корявые кода, загрузите этот файлик. Ищите по гуиду, если находите, то меняете код. Делов на 3мин     | |||
| 23
    
        dvrk 14.02.23✎ 11:21 | 
        (22) я не понимаю, мне обработку такую надо написать или вы о какой то готовой говорите?     | |||
| 24
    
        mistеr 14.02.23✎ 11:24 | 
        (23) Или написать или воспользоваться мега-универсальной Загрузка табличных данных из ИР.
 Но в твоем случае наверное проще будет написать, чем разобраться в ней и не наделать ошибок. :) | |||
| 25
    
        mistеr 14.02.23✎ 11:25 | 
        Кстати написать можно в консоли кода ИР     | |||
| 26
    
        dvrk 14.02.23✎ 11:26 | 
        (25) да я позавчера впервые узнал об ИР)     | |||
| 27
    
        Kassern 14.02.23✎ 11:29 | 
        (23) Напишите сами, это всего несколько строчек кода     | |||
| 28
    
        dvrk 14.02.23✎ 11:43 | 
        ещё вопрос, правильно ли будет сделать так:
 База с правильными кодами, открываю список контрагентов - "вывести список", вывожу колонки Код и Наименование База с неправильными, открываю загрузка данных из табличного документа, копирую список Код и наименование, делаю код и наименование колонками поиска, нажимаю галочку не создавать новые и "загрузить" ? | |||
| 29
    
        CepeLLlka 14.02.23✎ 11:44 | 
        Если такие траблы с ИР, то используйте просто "ВыгрузкаЗагрузкаХМЛ", лишние галки уберите, чтобы выгрузились только нужные справочники     | |||
| 30
    
        dvrk 14.02.23✎ 11:45 | 
        (29) я подумал и понял, что мне не подойдёт, там реально много данных менялось и мне нужно чтобы поменялся ТОЛЬКО код     | |||
| 31
    
        Kassern 14.02.23✎ 11:47 | 
        (28) Вы программист 1с? Умеете писать код? Вы вообще поняли, что написали? По какой колонке вы собираетесь сопоставлять? По наименованию? Сами же пишите " там реально много данных менялось". Ответ на ваш вопрос тут: (27)     | |||
| 32
    
        Kassern 14.02.23✎ 11:48 | 
        Вы случаем не знакомы с ливингстаром и ночным охотником?)     | |||
| 33
    
        mistеr 14.02.23✎ 11:48 | 
        (28) Не правильно. И код и наименование могли поменяться     | |||
| 34
    
        dvrk 14.02.23✎ 11:48 | 
        (31) наименование не могло меняться, код менялся     | |||
| 35
    
        Kassern 14.02.23✎ 11:49 | 
        (34) "наименование не могло меняться" - зуб даете?)     | |||
| 36
    
        OldCondom 14.02.23✎ 11:53 | 
        Пиши в центральный офис, чтобы правила переделали на поиск по ГУИД. А то назревают проблемы по серьезнее.     | |||
| 37
    
        dvrk 14.02.23✎ 11:56 | 
        (35) в моем случае да, а в целом могло     | |||
| 38
    
        CepeLLlka 14.02.23✎ 11:56 | 
        (30)Если реально менялись, то конечно беда. Можно через ЖР посмотреть какие объекты менялись, и для них поменять код "вручную", если их немного конечно.     | |||
| 39
    
        dvrk 14.02.23✎ 12:21 | 
        чёт не пойму а как в экселе сделать такое:
 есть 4 колонки Код Наименование Код1 Наименование1 мне нужно сделать так, чтобы были только имеющиеся в обеих колонках наименования | |||
| 40
    
        JeHer 14.02.23✎ 12:23 | 
        А нафига к этим кодам привязались? Ну изменились да изменились. И есть же ИНН     | |||
| 41
    
        dvrk 14.02.23✎ 12:24 | 
        (40) обмен такой в цо, нужно коды вернуть иначе дубликаты делаются     | |||
| 42
    
        JeHer 14.02.23✎ 12:25 | 
        Пусть перепишут на ГУИД или по ИНН     | |||
| 43
    
        dvrk 14.02.23✎ 12:27 | 
        (42) пусть перепишут, мне сейчас для сдачи отчетности нужно сделать то, о чем я написал..     | |||
| 44
    
        OldCondom 14.02.23✎ 12:31 | 
        То есть тебе не осилить задачу в выгрузке файла в две колонки "ГУИД|КОД" и загрузке этого файла, поиск по ГУИД -> замена кода?     | |||
| 45
    
        OldCondom 14.02.23✎ 12:36 | 
        Держи. Нейросеть не знает встроенных методов 1С, так что придется немного править. К примеру, sprav.НайтиПоЗначению("*");
 Мне нужно в 1с написать код, который выгрузит GUID и код справочника "Контрагенты" в файл Для выгрузки GUID и кода справочника "Контрагенты" в файл в 1С необходимо написать следующий код: Copy code // Получаем ссылку на справочник "Контрагенты" sprav = Справочники.Контрагенты; // Получаем все элементы справочника всеЭлементы = sprav.НайтиПоЗначению("*"); // Создаем текстовый документ файл = Новый ТекстовыйДокумент; // Проходим по всем элементам справочника и записываем GUID и код в файл Для каждого элемента Из всеЭлементы Цикл файл.ДобавитьСтроку(Элемент.Код + ";" + Элемент.GUID); КонецЦикла; // Сохраняем файл файл.Записать("C:\путь\к\файлу.txt"); Здесь мы получаем ссылку на справочник "Контрагенты", получаем все элементы этого справочника, создаем новый текстовый документ, проходим по всем элементам справочника и записываем в файл GUID и код каждого элемента. Наконец, мы сохраняем файл по указанному пути. как теперь по этим данным в другой базе найти Контрагентов по GUID и поставить им коды из файла? Для того, чтобы по GUID из файла найти контрагентов в другой базе и присвоить им коды, можно написать следующий код на языке запросов (1C Query): // Открываем файл с GUID и кодами файл = Новый ТекстовыйДокумент; файл.Прочитать("C:\путь\к\файлу.txt"); // Проходим по строкам файла и ищем контрагентов по GUID Для каждой строки Из файл.ПолучитьТекст().Разделить("\r\n") Цикл // Разделяем строку на код и GUID элемент = СтрРазделить(строка, ";"); // Находим контрагента по GUID контрагент = Справочники.Контрагенты.НайтиПоГУИД(элемент[1]); // Если контрагент найден, то присваиваем ему код из файла Если контрагент <> Неопределено Тогда контрагент.Код = элемент[0]; контрагент.Записать(); КонецЕсли; КонецЦикла; Здесь мы открываем файл с GUID и кодами, проходим по строкам файла и ищем контрагентов по GUID. Если контрагент найден, то присваиваем ему код из файла и записываем изменения в базу данных. Код можно выполнить в любом месте конфигурации 1С, например, в обработке. | |||
| 46
    
        Kassern 14.02.23✎ 12:44 | 
        (45) Сейчас будут вопросы, что ошибки при записи файла: метод не определен "НайтиПоГУИД". ГПТ еще нужно подтянуть СП.     | |||
| 47
    
        OldCondom 14.02.23✎ 12:45 | 
        (46) вроде слышал, что она пишет на python и перевод на 1С) 
 А неделю назад два дня она вообще говорила, что я не знаю язык 1С. И правильно делала... | |||
| 48
    
        TormozIT гуру 14.02.23✎ 16:35 | 
        Если есть уверенность, что другие реквизиты в справочнике не менялись (обычно ее нет), то "Выгрузка/загрузка данных XML" кажется лучшим выбором. Ее аналог в ИР кстати тоже есть - "Выгрузка/загрузка данных через файл" (выгружать можно и через инструмент "Подбор и обработка объектов" https://www.youtube.com/watch?v=MgDXX-qUrx0&t=1651s ).
 Если же такой уверенности нет, то инструмент "Загрузка табличных данных" действительно будет оптимальным выбором. https://studio.youtube.com/video/S1ovPH-OR5g/edit | |||
| 49
    
        TormozIT гуру 14.02.23✎ 16:36 | 
        (48) Последнюю ссылку исправляю https://www.youtube.com/watch?v=S1ovPH-OR5g     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |