Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как произвести префиксацию

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

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

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


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

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

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

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

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

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.