0
Pozdnyakov
09.04.12
✎
11:48
|
Всем привет.
Ситуация у меня такая: из конфы "Управление автотранспортом" (рарусовская разработка) надо выгрузить основные средства в конфу "Управление строительной организацией" (УПП со строительным функционалом).
Всё бы хорошо, можно написать правило в КД с проверкой одного из реквизитов (а именно гаражный номер, т.к. в данном случае речь идёт об учёте транспортных средств), да только рарусовцы засунули все (абсолютно все) данные об основном средстве в регистр сведений.
То есть если в УСО все реквизиты по-человечески лежат прямо в элементе справочника, то в УАТ в справочнике "Основные средства" вообще нет ни одного доп. реквизита, только стандартные (код, наименование и т.д.). Усложнили рарусовцы нам жизнь, короче. :)
Делать сверку по стандартному коду не вариант, т.к. коды могут не совпадать, а вот гаражный номер у транспортного средства и первой базе, и во второй есть всегда (что-то вроде инвентарника).
Задача такая:
1. В правиле обмена взять из источника (УАТ) основное средство, по нему в правиле же найти запись в соответствующем регистре сведений и получить гаражный номер ОС.
2. Полученный из регистра гаражный номер в правиле же сверить с гаражным номером ОС в приёмнике (УСО).
3. И данные из ОС источника, и данные из элемента регистра по этому ОС записать в один и тот же элемент ОС приёмника.
[B]Главная трудность на данный момент[/B]: гаражный номер, по которому я хочу сверять ОС, в источнике хранится в регистре, поэтому в КД я не могу в ПКС просто поставить галочку напротив гаражного номера. Видимо, придётся писать какой-то код на обработчик "ПриЗагрузке" либо "ПередЗагрузкой".
В книжке по КД таких примеров не нашёл. Может, плохо искал.
Подскажите.
Если вдруг не понятно, что я хотел сказать, прикладываю схему на скорую руку, олицетворяющую всё вышесказанное. :)
[URL= блок-схема[/URL]
|
|
4
Fish
гуру
09.04.12
✎
14:21
|
(3) Если перенос одноразовый, то можно и по ОЛЕ. Но, имхо, как раз в случае с КД трудозатраты будут намного меньше.
|
|
5
Pozdnyakov
09.04.12
✎
21:14
|
У ПКО /"Основные средства/" попробовал для эксперимента добавить в ПКС строку для гаражного номера, у которого в источнике пусто (потому что в источнике гаражный номер хранится в регистре), а в приёмнике выбран гаражный номер осн. средства приёмника.
Далее в обработчике /"Перед выгрузкой/" этой строки ПКС написал:
[CODE]Запрос = Новый Запрос;
Запрос.Текст = /"ВЫБРАТЬ
| уатПервоначальныеСведенияТС.ГаражныйНомер
|ИЗ
| РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС
|ГДЕ
| уатПервоначальныеСведенияТС.ОсновноеСредство =
|
|