![]() |
![]() |
![]() |
|
Конвертация данных: Получение параметров к правилам при загрузке данных | ☑ | ||
---|---|---|---|---|
0
Midaw
24.10.07
✎
11:10
|
Создал правила конвертации данных одного документа в другой. Но требуется по параметру в загружаемой базе проставлять реквизит организация. Прочитал, что это можно сделать доп. обработкой к правилу. Но как эта доп. обработка выглядит не знаю. Может кто-то поделиться примером или мануалом по теме? Или может подскажите более простую реализацию?
|
|||
1
ТелепатБот
гуру
24.10.07
✎
11:10
|
||||
2
Midaw
24.10.07
✎
12:32
|
up
|
|||
3
GenV
24.10.07
✎
12:46
|
(0)
1) в параметры добавляешь Организация, заполняешь его, ПКО для неё, уст. галочку "Использовать при загрузке" и используешь это значение в обработчиках во время загрузки (последние версии КД) 2) в параметры добавляешь Организация, заполняешь его, и используешь её во время выгрузки в обработчиках 3) в обработчиках прописываешь поиск нужной организации (во время загрузки или выгрузки) Примеры есть в типовых правилах ... |
|||
4
Midaw
24.10.07
✎
13:13
|
(3) варианты малех не понятны. но в любом случае никаких поисков и т.д. быть не может. требуется конкретно при загрузке указать параметр "Организация". для этого придуманы доп. обработки подключаемые к правилу.. тока хрен его знает, какую в них надо процедуру или функцию рисовать.. но спасиб за желание помочь!
|
|||
5
Midaw
24.10.07
✎
13:18
|
На закладке "Подключаемые обработки" могут быть загружены произвольные внешние обработки, используемые в процессе обмена. Можно выделить два основных варианта использования подключаемых обработок.
Вариант 1: Подключаемая обработка является своего рода библиотекой экспортируемых процедур / функций, используемых в процессе обмена. Вариант 2: Подключаемая обработка поставляет форму интерфейсной настройки параметров обмена. Например, пользователю в удобном виде может быть предоставлена возможность настроить отбор выгружаемых / загружаемых данных. Подключаемых обработок для обоих вариантов может быть произвольное количество. Для интерфейсных обработок необходимо установить флажок "Это обработка формы настройки". В этом случае, в обработке "Универсальный обмен данными", после загрузки правил обмена, становиться доступной кнопка настройки, по нажатию на которую, либо открывается форма настройки, либо выпадает меню (если подключено несколько интерфейсных обработок). При настройке интерфейсной обработки, могут быть указаны параметры обработки, связанные с параметрами конвертации. В этом случае, необходимые параметры конвертации инициализируются автоматически. Указанные параметры, должны совпадать с одноименными реквизитами обработки или реквизитами основной формы обработки. Инициализация параметров конвертации происходит, если при закрытии формы настройки возвращается значение отличное от Неопределено, в противном случае считается, что пользователь нажал кнопку "Отмена", т.е. закрыл форму без сохранения изменений. Доступ к подключаемым обработкам в обработчиках событий обмена осуществляется так: ДопОбработки.<ИмяОбработки>.<ИмяЭкспортируемойПроцедурыИлиФункции()> |
|||
6
Midaw
24.10.07
✎
13:21
|
всё, я понял. пошел пробовал..
Форма (Form) Закрыть (Close) Синтаксис: Закрыть(<Параметр закрытия>) Параметры: <Параметр закрытия> (необязательный) Тип: Произвольный. Параметр закрытия формы, открытой в модальном режиме. Это значение будет возвращено как результат метода, открывающего форму модально. Описание: Закрывает форму. Если закрываемая форма была открыта в модальном режиме, то метод может передать команду закрытия методу, открывшему форму. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Примечание: Если форма является владельцем другой модально открытой формы, то данную форму нельзя закрыть до тех пор, пока не будет закрыта дочерняя модально открытая форма. Пример: Закрыть("ОК"); |
|||
7
Господин ПЖ
24.10.07
✎
13:23
|
(4, 5) ИМХО это мутная тема, лучше забить... Для параметра можно указать "выбирается в диалоге" и он должен быть доступен в спец. табличке в обработке загрузки/выгрузки. Там ты можешь выбрать конкретное значение.
Доступ к нему из правил тоже прост. (допустим Параметры.Организация) |
|||
8
Господин ПЖ
24.10.07
✎
13:25
|
(+7) Если требуется постоянное пользование лучше сделать свою "обертку". Для примера выгрузка из ЗУП в БП.
|
|||
9
GenV
24.10.07
✎
13:26
|
(7)+1
(4) Внешние обработки в отличие от параметров стоит использовать, если требуются сложные дополнительные вычисления для параметров влияющие на их ввод. |
|||
10
Midaw
24.10.07
✎
13:26
|
(7) я немогу выбрать организацию в выгружаемой базе, так как там её нету. она должна выбираться в загружаемой базе и уже там использоваться в правилах.
|
|||
11
GenV
24.10.07
✎
13:28
|
(10) Ну так и выберешь её при загрузке в параметрах ...
|
|||
12
Midaw
24.10.07
✎
13:29
|
(9) кроме того, также надо заносить контрагента и его договор в загружаемой базе. привяжи попробуй в указываемых параметрах договор к контрагенту..
|
|||
13
Midaw
24.10.07
✎
13:31
|
(11) ну вот без формы обработки такого сделать не возможно.. параметры удается ввести только при выгрузке.
|
|||
14
GenV
24.10.07
✎
13:31
|
(12) Ну, тогда используй обработку настройки, но сохраняй значения в параметрах.
|
|||
15
Midaw
24.10.07
✎
14:00
|
(14) конечно.
но что-то неполучается.. нарисовал обработочку с реквизитами, сделал кнопку выполнить с закрытием("ок"). добавил обработку в правила, зарисовал зависимость с параметрами. попробовал выгрузить и загрузить. никаких форм не наблюдал.. где-то вызов в процедурах правил надо дорисовать? обработка реально в выгрузке сохраняется или как ссылка на путь? |
|||
16
GenV
24.10.07
✎
15:07
|
(15) Если ты хочешь использовать стандартный механизм обработок настройки, то это только при выгрузке - добавляются в меню настроек и можно использовать параметры.
Для загрузки добавление обработок происходит во время загрузки и тогда их нужно вызывать самому через ОткрытьФормуМодально и анализировать результат. |
|||
17
GenV
24.10.07
✎
15:16
|
16+ хотя я не очень понимаю вашу задачу: как данные можно выгружать не зная какие параметры будут потом заданы при загрузке :) У меня таких задач пока не возникало ...
|
|||
18
Anlen
24.10.07
✎
16:01
|
Где найти правила обмена припередаче данных из ЗУП 2.5 в БУХ 1.6. Есть ли где нибудь стандартные?
|
|||
19
Midaw
24.10.07
✎
16:06
|
(18) в конфиге и ищи, должны быть.
(17) ну да нестандартная задачка, тем не менее актуальная для меня :) буду пробовать открытьформумодально и т.д. только теперь завтра, на сегодня уже отдых. |
|||
20
Midaw
25.10.07
✎
07:06
|
Форма вызывается, параметры наверно заполняются. Только вот применить параметры на документе не могу.. На реквизите (ПКС) есть события: перед, при и после выгрузки.. а событий при загрузке нет.. Что ещё придумать, даже не знаю..
|
|||
21
GenV
25.10.07
✎
09:23
|
(20) Ну, ты даешь :) У тебя пользователь каждый раз при конвертации реквизита будет форму заполнять (тем более, что конвертация реквизита не требуется, если он устанавливается при загрузке) ? :) В общем обработчике ПередЗагрузкойДанных один раз вызови и заполни параметры (которые нужно определить как используемые при загрузке). Затем в ПКО нужного объекта будешь их использовать через Объект.ИмяРеквизита = Параметры.ИмяПараметра.
|
|||
22
Midaw
25.10.07
✎
09:30
|
(21) куда поставить Объект.ИмяРеквизита = Параметры.ИмяПараметра?
|
|||
23
GenV
25.10.07
✎
11:05
|
(22) В ПослеЗагрузки ПКО объекта. Объект уже создан и заполнен, но в базу еще не записан. Информацию по обработчикам можно получить из встроенной справки
|
|||
24
Midaw
25.10.07
✎
11:50
|
(23) одолел, настройка выскакивает при загрузке. всё загружается в соответствии со значениями в настройках. настройки можно сохранить. короче всё ништяк, всем большое спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |