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