|   |   | 
| 
 | Перенос номенклатуры по свойству в КД | ☑ | ||
|---|---|---|---|---|
| 0
    
        Viktosha 11.01.12✎ 14:43 | 
        Обе базы УПП 1.3.20 Необходимо организовать перенос документов с помощью КД, но вся проблема в номенклатуре: часть из нее надо перенести так как она и есть, а часть по доп. свойству, которое есть и в базе источника и в базе приемника, называется и там и там одинаково и значения тоже. Одно значение свойства есть только у одной позиции номенклатуры в базе приемника, и у нескольких элементов в базе источника.
  Подскажите пож-та, как надо прописать правило конвертации объекта Номенклатура, чтобы выполнялось это условие? | |||
| 1
    
        decdmb 11.01.12✎ 14:50 | 
        А если просто все перенести, а лишнее удалить?     | |||
| 2
    
        Viktosha 11.01.12✎ 14:55 | 
        (1)нет, так нельзя, очень много номенклатуры и руками много надо будет исправлять в документах постоянно     | |||
| 3
    
        Маркетолог 11.01.12✎ 15:02 | 
        Если вот это верно :
  "Одно значение свойства есть только у одной позиции номенклатуры в базе приемника, и у нескольких элементов в базе источника" То получается по свойству нельзя синхронизировать. | |||
| 4
    
        Маркетолог 11.01.12✎ 15:05 | 
        (3) Хотя нет, можно.     | |||
| 5
    
        Viktosha 11.01.12✎ 15:08 | 
        (3,4) можно, многие к одному получается
  Понимаю, что надо использовать ПриВыгрузке в наименование наверное записывать свойство и может какой-то доп. реквизит создать булево, типа "ЗагрузкаПоСвойству", если заполнено свойство, то ставить его истина и искать номенклатуру в приемнике тоже по этому свойству но уже в "ПриЗагрузке" Правильно? | |||
| 6
    
        Маркетолог 11.01.12✎ 15:12 | 
        (5) Как то так.     | |||
| 7
    
        Viktosha 11.01.12✎ 15:16 | 
        А что конкретно писать - вот тут трудности, так как с КД пока на "Вы"? Например, ПриЗагрузке у ПКО "Номенклатура" запросом вытаскиваю свойство, затем, если заполнено, то как записать в ПКС "Наименование" - наименование этого свойства и как надо добавить флажок?     | |||
| 8
    
        Маркетолог 11.01.12✎ 15:42 | 
        (7) Открой обработчик и нажми информация по обработчикам.
  Там очень хорошо расписано как обращаться к свойствам объектов. Например в ПослеЗагрузки Объект.Наименование = "ххххххх"; | |||
| 9
    
        Маркетолог 11.01.12✎ 15:44 | 
        Как вариант :)
  Создать в базах в Номенклатурах Реквизит с этим свойством. Заполнить его обработкой. Синхронизировать по нему. | |||
| 10
    
        Viktosha 11.01.12✎ 16:10 | 
        (9) не, не подойдет к сожалению
  (8) а как флажку, который просто как некий параметр переносится присвоить | |||
| 11
    
        Viktosha 11.01.12✎ 17:16 | 
        Создала у ПКО номенклатуры Новое ПКС где поставила передавать данные в параметр и у ПКС перед выгрузкой написала:
  Если не Источник.ЭтоГруппа ТОгда СвойствоВБУ = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номенклатура в БУ"); Запрос = Новый Запрос; Запрос.текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &Объект | И ЗначенияСвойствОбъектов.Свойство = &Свойство"; Запрос.УстановитьПараметр("Объект",Источник.Ссылка); Запрос.УстановитьПараметр("Свойство",СвойствоВБУ); РегСв = Запрос.Выполнить().Выбрать(); Если РегСв.следующий() Тогда Значение = Истина; Иначе Значение = Ложь; КонецЕсли; КонецЕсли; А как теперь к этому параметры обратиться при загрузке? Я назвала его ИскатьПоСвойству - заполняет при выгрузке его правильно | |||
| 12
    
        Viktosha 11.01.12✎ 18:22 | 
        При загрузке к нему никак не обратиться получается? Только после, а после меня уже не устраивает((( Он получается загрузит номенклатуру, а только потом посмотрит как ее загружать.     | |||
| 13
    
        Жан Пердежон 11.01.12✎ 19:20 | 
        (12) тебе нужно использовать обработчик "Поля поиска":
  например, значение передать в параметр, а в обработчике что-то типа: Запрос.Текст = "ВЫБРАТЬ..."; Запрос.УстановитьПараметр("ИмяСвойства", ПараметрыОбъекта["ИскатьПоСвойству"]); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Если Выборка.Следующий() Тогда СсылкаНаОбъект = Выборка.Ссылка; КонецЕсли; | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |