Имя: Пароль:
1C
1С v8
Конвертация. Передать параметр из источника в приемник
,
0 Cherokee
 
30.07.13
10:10
Здравствуйте!
Застопорился. Не могу передать параметры из источника в приемник. Надо следующее:
1. Передать бух.счет через параметр с правилом конвертации
2. Передать примитивный тип данных через параметр.

Что сделал:
1. В конвертации на закладке "Параметры" добавил 2 строки, одну "Проба" тип "строка", другую "СчетРасчетов", тип бухсчет (для этой добавил правило конвертации). Поставил галки "Передавать при выгрузке".
2. В обработчике "Перед выгрузкой объекта" конвертации добавил код:
Параметры.СчетРасчетов = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
Параметры.Проба = "Тестик";

3. Результат в файле выгрузки:
-<ЗначениеПараметра Имя="Проба" Тип="Строка"> <Пусто/> </ЗначениеПараметра> -<ЗначениеПараметра Имя="СчетРасчетов" Тип="ПланСчетовСсылка.Хозрасчетный"> <Пусто/>

Вопрос: что надо сделать, чтоб в файл выгрузки попало корректно?
1 GenV
 
30.07.13
10:18
(0) Зачем перед выгрузкой объекта? Сделай "Перед выгрузкой данных".
И должна быть галка еще "Использовать при загрузке" по-моему.
2 Cherokee
 
30.07.13
10:22
(1) Да, галка есть. Если ставишь "Передавать при выгрузке", "Использовать при загрузке" ставится сама автоматически.
Щас попробую перекинуть в обработчик "Перед выгрузкой данных"
3 neckto
 
30.07.13
10:25
(0) Поставь галку в настройке конвертации реквизита Счет расчетов - Передавать данные в параметр. После загрузки объекта на стороне приемника - считываешь Параметр.
4 Cherokee
 
30.07.13
10:34
(3) Это не реквизит. Это программно полученная переменная
5 Cherokee
 
30.07.13
10:35
(1) Не помогло
6 Naumov
 
30.07.13
10:38
(5) После загрузки правил конвертации в обработку Параметр заполни на соответствующей закладке.
7 aspirator23
 
30.07.13
10:39
(4)Эту переменную и нужно сделать параметром. Созадть реквизит и указать что это параметр. Как сделал в 0 не прокатит.
8 neckto
 
30.07.13
10:42
(4) Опиши задачу подробнее
9 Cherokee
 
30.07.13
10:46
(8) При передаче договора контрагента из УПП в БП надо прогрузить не только договор, но еще и сделать запись в регистр "Счета учета контрагентов". Соответственно, я хочу передать эти счета как параметр. Т.к. это не реквизиты, а просто сопроводительные данные, которые потом можно разобрать при загрузке и сделать соответствующую запись в регистр счетов учета контарентов
10 Cherokee
 
30.07.13
10:47
(7) Нужно создать реквзит на стороне УПП и использовать его просто для передачи данных, оставляя в самой базе при этом пустым?
11 GenV
 
30.07.13
10:49
(5) Если тебе только программно нужно будет устанавливать параметр, без отображения его на закладке параметры, то нужно по другому будет действовать. Т.к. интерактивно передавать параметр по ПКО можно только при установленной галке "Устанавливать в диалоге при выгрузке данных", т.е. нужно (6) сделать.
Где-то писал как программно передать этот параметр без диалога. Что-то через "ПередатьОдинПараметрВПриемник"
12 neckto
 
30.07.13
10:51
(10) Нет. Создать "Реквизит" в Конвертации
13 GenV
 
30.07.13
10:54
14 Naumov
 
30.07.13
10:54
(9) А что мешает не через параметр, а сформировать выгружаемую запись регистра сведений?
Посмотри как КИ для контрагентов в правилах выгружается.
15 aspirator23
 
30.07.13
10:57
(7) смотри (10). Он написал. Создавать нужно в конвертации. Добавить нужно новый реквизит, указав у него "Передать данные в параметр"
16 Cherokee
 
30.07.13
11:02
(14) Разная логика работы этого регистра в УПП и БП. В УПП он работает аналогично регистру счета учета номенклатуры: т.е. от общего к частному. А в БП там должны быть четко указаны все измерения, иначе потом в документах по умолчанию подбираться не будет
17 Cherokee
 
30.07.13
11:05
Частично победил. В файл уже выгружается. Спасибо наведшим на мысль.
1. В параметрах снял галки "Передавать при выгрузке".
2. В обработчике "Перед выгрузкой данных" прописал вот так:

Параметры.СчетРасчетов = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
Параметры.Проба = "Тестик";

ПередатьОдинПараметрВПриемник("СчетРасчетов", Параметры.СчетРасчетов);
ПередатьОдинПараметрВПриемник("Проба", Параметры.Проба);

Теперь перейду к реальным данным и реальной выгрузке. Спасибо.
18 GenV
 
30.07.13
11:06
(17) Имя правила нет, специально же  там написал, что указывать обязательно ...
19 Cherokee
 
30.07.13
11:12
(18) Да, конечно, спасибо. Разницу с правилом и без, вижу по файлу выгрузки :)
20 Cherokee
 
30.07.13
11:41
Чтоб закончить тему. Тем, кто будет искать после по инету.
Если надо выгрузить информацию, связанную с выгружаемым объектом, то (17) надо поместить в обработчик "Перед выгрузкой объекта", т.к. в обработчике "Перед выгрузкой данных" еще нет связи с выгружаемым объектом
21 Naumov
 
30.07.13
15:11
(20) Связанную информацию принято выгружать после выгрузки  объекта
AdBlock убивает бесплатный контент. 1Сергей