Имя: Пароль:
1C
1С v8
Как произвести префиксацию
, , ,
0 MAPATNK2
 
naïve
25.06.19
12:48
Всем доброго дня. Переношу остатки из одной базы в другую. При этом мне нужно, чтобы не задублировались документы, изменить перфиксацию.
Как можно это сделать? Может в конвертации как то срезать 2 левых символа и при добавлении в базу приемник прописывать новый перфикс. Если так возможно, не подскажите как это сделать для всех документов, а не заходить в каждый и прописывать алгоритм добавления номера?

Может это можно как то массово и быстро сделать в искомой базе, перед переносом документов?
1 FIXXXL
 
25.06.19
12:51
>как это сделать для всех документов, а не заходить в каждый и прописывать алгоритм добавления номера?
есть же глобальные обработчики, в конвертации
2 Карст
 
25.06.19
12:53
а потом обновить нумерацию вида документов
3 MAPATNK2
 
naïve
25.06.19
12:53
(1) Понятно, просто может кто пример подкинет иль статейку?
4 MAPATNK2
 
naïve
25.06.19
12:55
Я сама пробовала через "Универсальные подбор и обработка объектов". Там есть возможность изменения нумерации.Но это ооочень долго.
5 MAPATNK2
 
naïve
25.06.19
13:02
(1) Где этот глобальный обработчик можно найти, не вижу в конвертации его. Вижу только у объектов.
6 MAPATNK2
 
naïve
25.06.19
13:03
аааа, блин. Нашла XD. Спасибо. Сейчас, что нить сочиню.
7 Йохохо
 
25.06.19
13:03
карандашик а не перейти к правилам
8 FIXXXL
 
25.06.19
13:15
(6) ну вот, зато теперь запомнишь :)
9 MAPATNK2
 
naïve
27.06.19
07:51
Подскажите пожалуйста. Как в конвертации сделать переперфиксацию?
Делала: перед выгрузкой данных, после выгрузки данных

Попытка
    Объект.Код = "ИК"+сред(ЭтотОбъект.Номер,3);
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;


Но ничего не меняется.Вместо "код" пробовала использовать "Номер". Но так же ничего не меняется.

Как мне менять перфикс у выгружаемых объектов?
10 MAPATNK2
 
naïve
27.06.19
07:53
Просто в конвертации "Номер" а в xml "код".
11 MAPATNK2
 
naïve
27.06.19
08:05
А, для документов реквизит "номер", для справочников "Код". С этим понятно.
А как изменять их массово?

Писала для документа
12 MAPATNK2
 
naïve
27.06.19
08:05
Попытка
    Объект.Номер= "ИК"+сред(ЭтотОбъект.Номер,3);
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;
13 MAPATNK2
 
naïve
27.06.19
08:06
не канало. Ни ошибки, ни итога. Все как было, так и есть. Не кидайтесь тапками, лучше расскажите, что не так делаю...
14 MAPATNK2
 
naïve
27.06.19
08:41
Ребят, ну подскажите? Просто не хочется к каждому документу и справочнику писать правило изменения кода....Это ведь мазохизм.
15 MAPATNK2
 
naïve
27.06.19
12:23
Отладка конвертации не помогает. Номер документа вывести могу, а изменить не дает просто.
16 Йохохо
 
27.06.19
12:29
в ПКС Номер
Перед выгрузкой
Значение - Неопределено. Конвертируемое значение свойства. Если значение определить в теле обработчика, то стандартная процедура получения значения не будет происходить.
17 Йохохо
 
27.06.19
12:30
Значение = "ИК"+сред(Источник.Номер,3)
18 MAPATNK2
 
naïve
27.06.19
12:34
(17) В смысле значение? Мне необходим глобальный отладчик для всех объектов, которые будут выгружены. Я задолбаюсь так для каждого документа и справочника писать обработки.
19 MAPATNK2
 
naïve
27.06.19
12:35
Выше писали, что можно изменять номер объекта посредством глобального обработчика. Но как, так и не сказали. И инфы нет нигде.
20 Йохохо
 
27.06.19
12:40
21 MAPATNK2
 
naïve
27.06.19
12:41
(20) Что это? не понятно.
22 Йохохо
 
27.06.19
12:42
надо ткнуть левой кнопкой мыши в карандашик
23 MAPATNK2
 
naïve
27.06.19
12:42
(22) Дак я в этом модуле и ставлю обработчик.
24 MAPATNK2
 
naïve
27.06.19
12:43
Он не работает просто)))) я ведь писала выше. Я пробовала во все обработчики код запихать. Я могу только вывести объект.номер, но изменить его не могу.
25 MAPATNK2
 
naïve
27.06.19
12:45
(22) Значение = "ИК"+сред(Источник.Номер,3) можно прописать в обработчике документа. А в общем обработчике этот код не сработает, т.к. Параметра "Значение" там нет. В общих обработчиках есть объект. Но изменить его нельзя. А мне нужно просто изменить номера всех документов, которые записываются в XML файл с нужным перфиксом. Задача легка, реализовать на 1С ппц как сложно.
26 Йохохо
 
27.06.19
12:45
типовые ут-бп После загрузки объекта
Если ИмяТипаОбъекта = "Справочник" ИЛИ ИмяТипаОбъекта = "ПланВидовХарактеристик" Тогда

    Если ЗначениеНеЗаполнено(Объект.Код) Тогда
        
        Объект.УстановитьНовыйКод();
        Объект.Записать();
        
    КонецЕсли;
    
ИначеЕсли ИмяТипаОбъекта = "Документ" Тогда

    Если ЗначениеНеЗаполнено(Объект.Номер) Тогда

        УстановитьНомерДокумента(Объект);
        Объект.Записать();
        
    КонецЕсли;
    
КонецЕсли
27 MAPATNK2
 
naïve
27.06.19
12:46
(26) Этим кодом вы просто переписываете объект в базе, а мне этого делать не нужно. Я должна оставить номера документов в базе такими же и изменить их только в файле.
28 Йохохо
 
27.06.19
12:50
ну его же кто то будет загружать
на этапе выгрузки вроде не перехватить это глобально, наверное надо вынести код в алгоритм и скопипастить по всем пко
29 user-ok
 
27.06.19
12:52
Значение = "ИК"+сред(Источник.Номер,3);

Это в ПередВыгрузкой в ПКС для номера
30 MAPATNK2
 
naïve
27.06.19
12:54
(28) Блииин...я так боялась что придется это делать. Ну как так :(.

В каждый объект заходить и прописывать этот код. мазохизм какой-то. Быстрей через EXCEL все делать, нежели через эту Конвертацию данныз.
31 Йохохо
 
27.06.19
12:56
(30) когда скажут а вот тут надо поменять и исправить и догрузить, через конвертацию снова станет быстрее
32 MAPATNK2
 
naïve
27.06.19
13:12
(31) Да нет, тут единоразово. Приобрели организацию, нужно теперь их остатки перенести к нам и вести их Организацию в нашей базе. Хотела сделать по правильному, через конвертацию.... Но что-то не помогает она...ещё сложней с ней, чем без нее.