|
Перенос номенклатуры по свойству в КД | ☑ | ||
---|---|---|---|---|
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) тебе нужно использовать обработчик "Поля поиска":
например, значение передать в параметр, а в обработчике что-то типа: Запрос.Текст = "ВЫБРАТЬ..."; Запрос.УстановитьПараметр("ИмяСвойства", ПараметрыОбъекта["ИскатьПоСвойству"]); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Если Выборка.Следующий() Тогда СсылкаНаОбъект = Выборка.Ссылка; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |