Имя: Пароль:
1C
1С v8
Сложный обмен основными средствами между неидентичными конфигурациями.
0 Pozdnyakov
 
09.04.12
11:48
Всем привет.

Ситуация у меня такая: из конфы "Управление автотранспортом" (рарусовская разработка) надо выгрузить основные средства в конфу "Управление строительной организацией" (УПП со строительным функционалом).
Всё бы хорошо, можно написать правило в КД с проверкой одного из реквизитов (а именно гаражный номер, т.к. в данном случае речь идёт об учёте транспортных средств), да только рарусовцы засунули все (абсолютно все) данные об основном средстве в регистр сведений.
То есть если в УСО все реквизиты по-человечески лежат прямо в элементе справочника, то в УАТ в справочнике "Основные средства" вообще нет ни одного доп. реквизита, только стандартные (код, наименование и т.д.). Усложнили рарусовцы нам жизнь, короче. :)
Делать сверку по стандартному коду не вариант, т.к. коды могут не совпадать, а вот гаражный номер у транспортного средства и первой базе, и во второй есть всегда (что-то вроде инвентарника).

Задача такая:
1. В правиле обмена взять из источника (УАТ) основное средство, по нему в правиле же найти запись в соответствующем регистре сведений и получить гаражный номер ОС.
2. Полученный из регистра гаражный номер в правиле же сверить с гаражным номером ОС в приёмнике (УСО).
3. И данные из ОС источника, и данные из элемента регистра по этому ОС записать в один и тот же элемент ОС приёмника.
[B]Главная трудность на данный момент[/B]: гаражный номер, по которому я хочу сверять ОС, в источнике хранится в регистре, поэтому в КД я не могу в ПКС просто поставить галочку напротив гаражного номера. Видимо, придётся писать какой-то код на обработчик "ПриЗагрузке" либо "ПередЗагрузкой".

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