| 
    
        
     
     | 
    
    
  | 
Перенос дополнительных реквизитов | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Lobanov_Dev    
     27.06.24 
            ✎
    12:52 
 | 
         
        Коллеги всем привет! Выполняю перенос конфигурации с УТ 10.3 на УТ 11.5, использую для этого КД 2.1, 
 
    
Ситуация: В УТ 10.3 у справочника Контрагенты есть реквизит -> ОсновнойВидДеятельности (СправочникСсылка.ВидыДеятельности), в УТ 11.5 такого реквизита нету, поэтому пришлось сделать дополнительный реквизит и назвать его -> ВидДеятельности. Вопрос: Как в КД 2.1 сопоставить этот реквизит, что бы при загрузке выполнялась проверка и проставлялся этот реквизит, и как конкретно указать "Приемник" дополнительный реквизит? 
  | 
|||
| 
    1
    
        Инстанс    
     27.06.24 
            ✎
    12:58 
 | 
         
        Привет, друг!
 
        Может, через Параметры объекта. В современной конфигурации это же табличная часть. Выгружаешь реквизит в параметры объекта, а там загружаешь  | 
|||
| 
    2
    
        Лирик    
     27.06.24 
            ✎
    16:03 
 | 
         
        (1) Все проще. 
 
    
ТаблицуСвойств собери. ПКС значения свойства выбери от типа свойства. 
  | 
|||
| 
    3
    
        Инстанс    
     27.06.24 
            ✎
    16:04 
 | 
         
        (2) Чоток. Давно не баловался КД 2.1     
         | 
|||
| 
    4
    
        Lobanov_Dev    
     27.06.24 
            ✎
    17:05 
 | 
         
        (2) Постарался сделать всё аналогично, но всё равно что то не выгружается, "ПКС значения свойства выбери от типа свойства." - Это как? 
 
    
Заранее извиняюсь, с КД2 недавно начал работать, пока всё в тумане 
  | 
|||
| 
    5
    
        Лирик    
     28.06.24 
            ✎
    09:23 
 | 
         
        Хорошо, давай подробно. В УТ10 доп. свойства хранятся в регистре "ЗначенияСвойствОбъектов. В УТ11 они хранятся в табличной части самого объекта. При разработке ПКО (в твоем случае это объект "Справочник.Контрагенты") создаешь группу ПКС "ДополнительныеРеквизиты", где приемник табличная часть "ДопРеквизиты". Естественно источника у этой группы нет, так как в УТ10 у контрагента нет ТЧ "ДопРеквизиты". Но источник и не нужен, достаточно в обработчике ГРУППЫ "ПередВыгрузкой" определить КоллекциюОбъектов. В нашем случае это таблица значений у которой имена колонок совпадают с именами реквизитов таб. части приемника. В эту таблицу кладешь все свойства и значения доп.свойств источника (контрагента). А дальше работаешь как будто у тебя есть в источнике такая же табличная часть. То есть нужно ПКО для планов видов характеристик "Свойства". По этому ПКО нужно конвертировать колонку "Свойство". А вот поскольку значения свойств имеют разные типы, то поле ПКС для колонки "Значения" оставляешь пустым, а в Обработчике "ПередВыгрузкой" ПКС "Значение" пишешь примерно такой код:
 
        Если ТипЗнч(ОбъектКоллекции.Значение) = Тип("СправочникСсылка.Организации") Тогда
	ИмяПКО = "Организации";
ИначеЕсли ТипЗнч(ОбъектКоллекции.Значение) = Тип("СправочникСсылка.ВидДеятельности") Тогда
	ИмяПКО = "ВидДеятельности";
Иначе
	ИмяПКО = "";
КонецЕсли;
Естественно в УТ10 у тебя нет свойства контрагента с типом значения "СправочникСсылка.ВидДеятельности", но тут можно пойти двумя дорогами: 1. Создать такое свойство и в таблицу добавить строку с этим свойством и значением из Контрагент.ВидДеятельности 2. Оставить "Свойство" пустым, и заполнить его в "ПослеЗагрузки" объекта "Контрагент" ссылкой на нужное свойство в базе приемнике. 
СвойствоВидДеятельности = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "ххххххххххххх");
Для Каждого СтрокаДопСвойств Из Объект.ДополнительныеРеквизиты Цикл
   Если ТипЗначения(СтрокаДопСвойств.Значение) = Тип("СправочникСсылка.ВидДеятельности") И Не ЗначениеЗаполнено(СтрокаДопСвойств.Свойство) Тогда
      СтрокаДопСвойств.Свойство = СвойствоВидДеятельности ;
   КонецЕсли;
КонецЦикла;       | 
|||
| 
    6
    
        banco    
     28.06.24 
            ✎
    09:36 
 | 
         
        (0) Да проще уже выгрузить в ексель и загрузить в ут 11     
         | 
|||
| 
    7
    
        Chameleon1980    
     29.06.24 
            ✎
    07:21 
 | 
         
        (6) и в следующий раз опять прийти за помощью по КД2 и опять порадоваться твоему ответу.     
         | 
|||
| 
    8
    
        Инстанс    
     29.06.24 
            ✎
    07:29 
 | 
         
        До сих не решили что ли. Выгрузка РС. Проще было бы подключиться и решить на месте.     
         | 
|||
| 
    9
    
        Инстанс    
     29.06.24 
            ✎
    08:18 
 | 
         
        (6) Бухаха. Давно не переносил ничего     
         | 
|||
| 
    10
    
        Инстанс    
     29.06.24 
            ✎
    08:31 
 | 
         
        В ПГКС есть такая тема как КоллекцияОбъектов. В запросе типа Запрос.УстановитьПараметр("Объект", Источник);     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |